@jxsuite/studio 6.1.1 → 6.1.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/dist/chunks/{2020-va2wwra4.js → 2020-f2gkpy8d.js} +3 -3
- package/dist/chunks/{action-group-2mqby73c.js → action-group-4aan7g6g.js} +3 -3
- package/dist/chunks/adapter-4912g339.js +4 -0
- package/dist/chunks/cf-account-picker-wccaenh6.js +4 -0
- package/dist/chunks/cf-settings-br6105tr.js +4 -0
- package/dist/chunks/color-28ksk2qm.js +4 -0
- package/dist/chunks/color-area-0fj8a4ga.js +4 -0
- package/dist/chunks/color-field-xch8kx2g.js +4 -0
- package/dist/chunks/color-slider-jxd8v350.js +4 -0
- package/dist/chunks/combobox-p0efwjke.js +4 -0
- package/dist/chunks/components-db68vsn7.js +4 -0
- package/dist/chunks/content-source-1449qesq.js +4 -0
- package/dist/chunks/convert-to-repeater-5h457egj.js +4 -0
- package/dist/chunks/dialog-c4x05vyx.js +4 -0
- package/dist/chunks/editor-x9jn86a7.js +4 -0
- package/dist/chunks/entry-commands-may24cpt.js +4 -0
- package/dist/chunks/extension-sections-pvr14vxr.js +4 -0
- package/dist/chunks/file-ops-x9v54pcj.js +4 -0
- package/dist/chunks/files-j3knqf0s.js +4 -0
- package/dist/chunks/format-host-tyre2trb.js +4 -0
- package/dist/chunks/fs-events-64ma9htc.js +4 -0
- package/dist/chunks/git-panel-84ps5dex.js +4 -0
- package/dist/chunks/grid-view-d2wq9ezg.js +51 -0
- package/dist/chunks/icons-pnfz478q.js +4 -0
- package/dist/chunks/iframe-entry-fvbk89gm.js +5 -0
- package/dist/chunks/iframe-entry-jdcktez8.js +5 -0
- package/dist/chunks/iframe-entry-x0ygf2yr.js +5 -0
- package/dist/chunks/iframe-entry-zap785cw.js +5 -0
- package/dist/chunks/iframe-host-ck6vejt5.js +4 -0
- package/dist/chunks/index-b8xw3vy9.js +4 -0
- package/dist/chunks/{index-2veqmnhr.js → index-zpjmzqfk.js} +3 -3
- package/dist/chunks/{javascript-8nbvs12s.js → javascript-m54mnwp6.js} +3 -3
- package/dist/chunks/{jsonMode-s8kt9dsj.js → jsonMode-w15cmrcm.js} +8 -8
- package/dist/chunks/jx-validate-at3zn8wa.js +4 -0
- package/dist/chunks/layers-h4xp1pss.js +4 -0
- package/dist/chunks/layers-panel-m5hw1d7g.js +4 -0
- package/dist/chunks/listbox-e74qjyq6.js +4 -0
- package/dist/chunks/lit-html-8t8t3dnr.js +4 -0
- package/dist/chunks/media-picker-2cweexc5.js +4 -0
- package/dist/chunks/menu-n6yzswmy.js +4 -0
- package/dist/chunks/menu-ynw13y0s.js +4 -0
- package/dist/chunks/monaco-binding-7gx83x3r.js +4 -0
- package/dist/chunks/monaco-buffer-qzxn567r.js +4 -0
- package/dist/chunks/monaco-setup-gxf6656g.js +4 -0
- package/dist/chunks/notify-cj5zbrs2.js +4 -0
- package/dist/chunks/number-field-y62xq0ty.js +4 -0
- package/dist/chunks/parse-b7ddhr8m.js +4 -0
- package/dist/chunks/platform-3dfws9js.js +4 -0
- package/dist/chunks/popover-jt2gxmzs.js +4 -0
- package/dist/chunks/publish-panel-1gvxbj21.js +4 -0
- package/dist/chunks/quick-search-0dajrwqg.js +4 -0
- package/dist/chunks/references-49qgt404.js +4 -0
- package/dist/chunks/right-panel-jm1bwe53.js +4 -0
- package/dist/chunks/section-registry-6kwc4fky.js +4 -0
- package/dist/chunks/select-rzds841e.js +4 -0
- package/dist/chunks/split-n2gfpm5m.js +4 -0
- package/dist/chunks/{studio-1q1sh2ax.js → studio-0q988f9w.js} +3 -3
- package/dist/chunks/studio-0rt52vpq.js +5 -0
- package/dist/chunks/studio-18vgbhs5.js +5 -0
- package/dist/chunks/{studio-h46vtzk8.js → studio-1fxkaaea.js} +4 -4
- package/dist/chunks/studio-24mccdrj.js +5 -0
- package/dist/chunks/studio-2eh507zk.js +9 -0
- package/dist/chunks/studio-2hcbccfv.js +5 -0
- package/dist/chunks/studio-2j1cb95x.js +5 -0
- package/dist/chunks/studio-2jbs3rxv.js +5 -0
- package/dist/chunks/{studio-rv11kfwa.js → studio-485046te.js} +7 -7
- package/dist/chunks/studio-4h8k4dw9.js +5 -0
- package/dist/chunks/studio-5f6n18kx.js +5 -0
- package/dist/chunks/studio-5gthpky6.js +5 -0
- package/dist/chunks/studio-5ve6bbep.js +5 -0
- package/dist/chunks/studio-6ep3js6b.js +9 -0
- package/dist/chunks/studio-6wkmf3wz.js +9 -0
- package/dist/chunks/studio-841rf3cg.js +5 -0
- package/dist/chunks/studio-8gmwgheg.js +5 -0
- package/dist/chunks/studio-8qm0ep50.js +5 -0
- package/dist/chunks/{studio-8grwxtqk.js → studio-90pq9km1.js} +4 -4
- package/dist/chunks/studio-924p1tm1.js +6 -0
- package/dist/chunks/{studio-pre0skq6.js → studio-a3g98wjr.js} +4 -4
- package/dist/chunks/studio-a3shpz9y.js +5 -0
- package/dist/chunks/studio-amsbaaar.js +6 -0
- package/dist/chunks/studio-at5spjbc.js +7 -0
- package/dist/chunks/studio-b2xv945e.js +5 -0
- package/dist/chunks/studio-bn5nkafw.js +5 -0
- package/dist/chunks/studio-bw6q5xjf.js +9 -0
- package/dist/chunks/studio-c7q0t9x1.js +5 -0
- package/dist/chunks/studio-camnhc96.js +6 -0
- package/dist/chunks/studio-cffqvnzd.js +5 -0
- package/dist/chunks/studio-d81xfh1g.js +5 -0
- package/dist/chunks/studio-dgz8d0c1.js +5 -0
- package/dist/chunks/studio-efvfrsf8.js +5 -0
- package/dist/chunks/studio-er30bpcx.js +5 -0
- package/dist/chunks/studio-ezscgr64.js +5 -0
- package/dist/chunks/studio-ffrrncvz.js +5 -0
- package/dist/chunks/studio-fpphgn8y.js +10 -0
- package/dist/chunks/studio-j1kvhdjk.js +4 -0
- package/dist/chunks/{studio-vrmcjf9g.js → studio-j430n16g.js} +5 -5
- package/dist/chunks/studio-jjkg84nj.js +5 -0
- package/dist/chunks/studio-m0q32ars.js +4 -0
- package/dist/chunks/studio-m6bdst11.js +5 -0
- package/dist/chunks/studio-nv2cptd4.js +64 -0
- package/dist/chunks/studio-nwfrc98n.js +5 -0
- package/dist/chunks/studio-p1wgvp7r.js +5 -0
- package/dist/chunks/studio-pag2wncm.js +5 -0
- package/dist/chunks/studio-qvanvzfd.js +5 -0
- package/dist/chunks/studio-qwa64kt7.js +5 -0
- package/dist/chunks/studio-rk1zc4x3.js +928 -0
- package/dist/chunks/studio-se2r3ptc.js +5 -0
- package/dist/chunks/studio-sg2a0dh0.js +5 -0
- package/dist/chunks/studio-tjzjhe68.js +5 -0
- package/dist/chunks/{studio-wszjyh0j.js → studio-tq0rtfwj.js} +4 -4
- package/dist/chunks/{studio-kggey1jt.js → studio-v0jzqdjm.js} +4 -4
- package/dist/chunks/studio-v2w7q8r1.js +7 -0
- package/dist/chunks/studio-v5vjq1h0.js +4 -0
- package/dist/chunks/studio-v8aga3vp.js +14 -0
- package/dist/chunks/studio-vfcdrfmv.js +5 -0
- package/dist/chunks/studio-vmfkgdjf.js +5 -0
- package/dist/chunks/studio-wt1816jj.js +5 -0
- package/dist/chunks/studio-wz73q5kq.js +4 -0
- package/dist/chunks/studio-y04qtxvp.js +7 -0
- package/dist/chunks/studio-y21g8zzg.js +5 -0
- package/dist/chunks/{studio-zey7zsdw.js → studio-y64hrt8p.js} +7 -7
- package/dist/chunks/studio-ynn90f58.js +16 -0
- package/dist/chunks/studio-yxz682sx.js +5 -0
- package/dist/chunks/studio-zp7snvkq.js +5 -0
- package/dist/chunks/studio-zq4z6tm6.js +5 -0
- package/dist/chunks/swatch-group-ewh24n1f.js +4 -0
- package/dist/chunks/tabs-f5cw3tgp.js +4 -0
- package/dist/chunks/textfield-wewc8rq2.js +4 -0
- package/dist/chunks/toast-c9fn075p.js +4 -0
- package/dist/chunks/toast-host-ke5z4ng7.js +4 -0
- package/dist/chunks/{toolbar-2nnzqhrj.js → toolbar-44cm5cta.js} +3 -3
- package/dist/chunks/tooltip-5v8ngwj2.js +4 -0
- package/dist/chunks/tree-mdq3v5cw.js +4 -0
- package/dist/chunks/{tsMode-2frah6h1.js → tsMode-sf49ee9x.js} +7 -7
- package/dist/chunks/workspace-jtfahpee.js +4 -0
- package/dist/chunks/ws-client-nze0k6mv.js +4 -0
- package/dist/iframe-entry.js +16 -16
- package/dist/manifest.json +63 -63
- package/dist/studio.js +97 -97
- package/package.json +6 -6
- package/src/about/about-modal.ts +4 -3
- package/src/account/action-flow.ts +45 -38
- package/src/account-status.ts +7 -2
- package/src/browse/library-layouts.ts +8 -5
- package/src/browse/library-model.ts +18 -6
- package/src/browse/library-pane.ts +37 -21
- package/src/browse/library-preview.ts +14 -9
- package/src/browse/library-source.ts +1 -1
- package/src/canvas/asset-refs.ts +24 -9
- package/src/canvas/asset-resolve.ts +19 -23
- package/src/canvas/canvas-helpers.ts +7 -6
- package/src/canvas/canvas-live-render.ts +44 -53
- package/src/canvas/canvas-patcher.ts +30 -30
- package/src/canvas/canvas-perf.ts +11 -5
- package/src/canvas/canvas-render.ts +62 -41
- package/src/canvas/canvas-surface.ts +5 -3
- package/src/canvas/canvas-utils.ts +90 -49
- package/src/canvas/dialog-path.ts +9 -4
- package/src/canvas/dialog-state.ts +1 -2
- package/src/canvas/diff-marks.ts +9 -16
- package/src/canvas/diff-toolbar.ts +8 -7
- package/src/canvas/edit-width-drag.ts +4 -1
- package/src/canvas/edit-width.ts +1 -3
- package/src/canvas/iframe-channel.ts +27 -13
- package/src/canvas/iframe-drop.ts +13 -12
- package/src/canvas/iframe-editable-root.ts +29 -16
- package/src/canvas/iframe-entry.ts +80 -63
- package/src/canvas/iframe-eval.ts +73 -49
- package/src/canvas/iframe-host.ts +135 -96
- package/src/canvas/iframe-inline-edit.ts +49 -30
- package/src/canvas/iframe-insert.ts +5 -4
- package/src/canvas/iframe-interaction.ts +30 -25
- package/src/canvas/iframe-overlay.ts +1 -1
- package/src/canvas/iframe-patch.ts +18 -15
- package/src/canvas/iframe-position.ts +12 -6
- package/src/canvas/iframe-protocol.ts +12 -16
- package/src/canvas/iframe-render.ts +36 -34
- package/src/canvas/iframe-slash.ts +24 -11
- package/src/canvas/iframe-subtree.ts +6 -2
- package/src/canvas/path-mapping.ts +19 -12
- package/src/canvas/popover-path.ts +7 -3
- package/src/canvas/popover-state.ts +1 -2
- package/src/canvas/serialize-scope.ts +13 -5
- package/src/canvas/stage-scrollbar.ts +2 -1
- package/src/canvas/surface-registry.ts +21 -3
- package/src/collab/collab-commands.ts +7 -2
- package/src/collab/collab-session.ts +84 -45
- package/src/collab/collab-state.ts +4 -3
- package/src/collab/monaco-binding.ts +16 -13
- package/src/collab/monaco-cursors.ts +5 -2
- package/src/commands/budget.ts +3 -3
- package/src/commands/command-args.ts +103 -71
- package/src/commands/context.ts +22 -20
- package/src/commands/keymap.ts +47 -43
- package/src/commands/levels.ts +3 -3
- package/src/commands/live-context.ts +7 -7
- package/src/commands/reference.ts +2 -1
- package/src/commands/registry.ts +12 -10
- package/src/commands/run-reported.ts +15 -10
- package/src/component-props.ts +46 -30
- package/src/content/collection-match.ts +5 -4
- package/src/content/draft-state.ts +4 -3
- package/src/content/entry-commands.ts +3 -2
- package/src/content/entry-editor.ts +29 -17
- package/src/content/entry-fields.ts +12 -7
- package/src/content/entry-model.ts +21 -12
- package/src/editor/canvas-context-menu.ts +1 -2
- package/src/editor/canvas-slash-bridge.ts +3 -6
- package/src/editor/content-slice.ts +16 -14
- package/src/editor/context-menu.ts +35 -22
- package/src/editor/convert-targets.ts +30 -35
- package/src/editor/convert-to-component.ts +11 -5
- package/src/editor/convert-to-repeater.ts +34 -22
- package/src/editor/editable-tags.ts +17 -2
- package/src/editor/file-drop-action.ts +21 -22
- package/src/editor/inline-edit-apply.ts +35 -17
- package/src/editor/inline-edit.ts +66 -50
- package/src/editor/inline-format.ts +59 -56
- package/src/editor/inline-link.ts +40 -15
- package/src/editor/insert-zone-action.ts +1 -1
- package/src/editor/merge-tags.ts +58 -19
- package/src/editor/repeater-scope.ts +39 -28
- package/src/editor/shortcuts.ts +32 -20
- package/src/editor/slash-menu.ts +1 -6
- package/src/files/asset-versions.ts +4 -4
- package/src/files/components.ts +15 -10
- package/src/files/elements.ts +5 -6
- package/src/files/file-ops.ts +77 -36
- package/src/files/files.ts +90 -95
- package/src/files/media-meta.ts +2 -1
- package/src/files/media-paths.ts +3 -0
- package/src/files/serialize-document.ts +2 -2
- package/src/format/constraints.ts +1 -1
- package/src/format/convert-file.ts +27 -13
- package/src/format/format-choices.ts +2 -1
- package/src/format/format-host.ts +76 -50
- package/src/github/github-auth-status.ts +27 -3
- package/src/github/github-auth.ts +19 -9
- package/src/github/github-publish.ts +24 -20
- package/src/grid/cell-editors.ts +46 -31
- package/src/grid/cell-popovers.ts +5 -3
- package/src/grid/edit-buffer.ts +10 -9
- package/src/grid/grid-controller.ts +20 -22
- package/src/grid/grid-layout.ts +21 -5
- package/src/grid/grid-open.ts +3 -6
- package/src/grid/grid-panel.ts +11 -4
- package/src/grid/grid-source.ts +8 -8
- package/src/grid/grid-view.ts +14 -17
- package/src/grid/redirects-grid.ts +14 -5
- package/src/grid/redirects.ts +16 -14
- package/src/grid/schema-columns.ts +25 -19
- package/src/grid/sources/connector-source.ts +47 -20
- package/src/grid/sources/content-source.ts +25 -24
- package/src/grid/sources/csv-file-source.ts +2 -2
- package/src/grid/tabulator-tables.d.ts +55 -34
- package/src/hosting/stage.ts +7 -7
- package/src/i18n/i18n-commands.ts +1 -2
- package/src/media/media-pane.ts +4 -1
- package/src/new-project/add-repo-modal.ts +20 -19
- package/src/new-project/import-tab.ts +10 -14
- package/src/new-project/location-fields.ts +2 -1
- package/src/new-project/new-project-modal.ts +12 -9
- package/src/packages/jxsuite-update.ts +4 -3
- package/src/packages/pull-package-sync.ts +26 -25
- package/src/page-params.ts +97 -68
- package/src/panels/activity-panel.ts +17 -9
- package/src/panels/ai-chat/attached-context.ts +13 -7
- package/src/panels/ai-chat/chat-view.ts +80 -73
- package/src/panels/ai-chat/composer.ts +30 -33
- package/src/panels/ai-chat/sessions-view.ts +1 -2
- package/src/panels/ai-panel.ts +23 -20
- package/src/panels/block-action-bar.ts +46 -35
- package/src/panels/bottom-dock.ts +5 -3
- package/src/panels/canvas-dnd-bridge.ts +31 -24
- package/src/panels/data-explorer.ts +62 -25
- package/src/panels/data-grid.ts +14 -11
- package/src/panels/dnd.ts +108 -118
- package/src/panels/editors.ts +52 -21
- package/src/panels/elements-panel.ts +10 -3
- package/src/panels/events-panel.ts +84 -69
- package/src/panels/formula-workspace.ts +76 -51
- package/src/panels/frontmatter-fields.ts +24 -19
- package/src/panels/frontmatter-panel.ts +44 -34
- package/src/panels/git-diff-open.ts +4 -4
- package/src/panels/git-panel.ts +49 -61
- package/src/panels/head-panel.ts +131 -111
- package/src/panels/i18n-panel.ts +10 -3
- package/src/panels/imports-panel.ts +23 -47
- package/src/panels/jump-bar.ts +48 -29
- package/src/panels/layers-panel.ts +97 -74
- package/src/panels/left-panel.ts +3 -3
- package/src/panels/pane-context.ts +31 -22
- package/src/panels/pane-grid.ts +49 -20
- package/src/panels/panel-registry.ts +22 -37
- package/src/panels/properties-panel.ts +175 -121
- package/src/panels/quick-search.ts +53 -31
- package/src/panels/right-panel.ts +3 -3
- package/src/panels/seo-modal.ts +13 -17
- package/src/panels/settings-menu.ts +15 -15
- package/src/panels/signals-panel.ts +153 -131
- package/src/panels/statement-editor.ts +230 -140
- package/src/panels/style-panel.ts +218 -205
- package/src/panels/style-utils.ts +114 -51
- package/src/panels/stylebook-doc.ts +57 -54
- package/src/panels/stylebook-layers-panel.ts +9 -9
- package/src/panels/stylebook-panel.ts +13 -17
- package/src/panels/tab-drop.ts +27 -11
- package/src/panels/tab-strip.ts +36 -26
- package/src/platform-errors.ts +57 -43
- package/src/platform.ts +58 -30
- package/src/platforms/cloud.ts +345 -175
- package/src/platforms/default-platform.ts +10 -4
- package/src/platforms/devserver.ts +129 -117
- package/src/platforms/read-batcher.ts +16 -8
- package/src/project-list.ts +2 -1
- package/src/publish/deploy-checklist.ts +8 -2
- package/src/publish/pages-service.ts +28 -13
- package/src/publish/publish-commands.ts +5 -4
- package/src/publish/publish-panel.ts +10 -6
- package/src/recent-projects.ts +15 -8
- package/src/resize-edges.ts +26 -36
- package/src/services/a11y-report.ts +26 -19
- package/src/services/agent-seed.ts +23 -11
- package/src/services/ai-ask.ts +9 -12
- package/src/services/ai-command-tools.ts +68 -62
- package/src/services/ai-import-tools.ts +80 -67
- package/src/services/ai-models.ts +17 -13
- package/src/services/ai-project-tools.ts +68 -32
- package/src/services/ai-session-store.ts +19 -10
- package/src/services/ai-system-prompt.ts +46 -20
- package/src/services/ai-tools.ts +71 -27
- package/src/services/ai-write-report.ts +20 -12
- package/src/services/ai-writes.ts +4 -4
- package/src/services/automation.ts +58 -31
- package/src/services/cem-export.ts +149 -58
- package/src/services/clock.ts +6 -1
- package/src/services/code-services.ts +37 -31
- package/src/services/context-manager.ts +14 -10
- package/src/services/context-resolver.ts +20 -8
- package/src/services/data-service.ts +19 -15
- package/src/services/directory-picker.ts +18 -12
- package/src/services/document-assistant.ts +39 -19
- package/src/services/gated-registry.ts +10 -6
- package/src/services/harness/chat-reducer.ts +23 -1
- package/src/services/import-client.ts +91 -38
- package/src/services/import-seed.ts +8 -2
- package/src/services/jx-validate.ts +28 -31
- package/src/services/live-preview.ts +0 -0
- package/src/services/live-surfaces.ts +6 -3
- package/src/services/model-uri.ts +10 -2
- package/src/services/module-preloads.ts +12 -8
- package/src/services/monaco-buffer.ts +43 -24
- package/src/services/monaco-lazy.ts +7 -8
- package/src/services/monaco-setup.ts +23 -16
- package/src/services/notify.ts +44 -17
- package/src/services/popover-report.ts +25 -10
- package/src/services/preview-eval.ts +20 -8
- package/src/services/profile.ts +13 -6
- package/src/services/project-path.ts +13 -10
- package/src/services/references.ts +0 -0
- package/src/services/render-critic.ts +8 -7
- package/src/services/settings/kernel.ts +13 -4
- package/src/services/settings/write-queue.ts +9 -9
- package/src/services/token-lint.ts +12 -10
- package/src/services/tool-executor.ts +17 -5
- package/src/services/tool-outcomes.ts +44 -24
- package/src/services/trusted-types.ts +24 -7
- package/src/settings/contexts-section.ts +11 -8
- package/src/settings/contributed-section.ts +79 -60
- package/src/settings/css-vars-editor.ts +37 -16
- package/src/settings/defs-editor.ts +38 -35
- package/src/settings/extension-rows.ts +16 -8
- package/src/settings/extension-sections.ts +23 -13
- package/src/settings/extensions-section.ts +4 -1
- package/src/settings/general-settings.ts +11 -8
- package/src/settings/locales-section.ts +20 -12
- package/src/settings/preferences-dialog.ts +9 -6
- package/src/settings/preferences-keymap.ts +7 -5
- package/src/settings/preferences-sections.ts +11 -5
- package/src/settings/project-sections.ts +1 -1
- package/src/settings/schema-field-ui.ts +9 -0
- package/src/settings/settings-document.ts +5 -5
- package/src/shell/tree.ts +6 -5
- package/src/shell.ts +104 -81
- package/src/site-context.ts +37 -22
- package/src/state.ts +41 -49
- package/src/store.ts +54 -34
- package/src/studio.ts +25 -75
- package/src/style/live-preview.ts +1 -1
- package/src/style/project-styles.ts +6 -7
- package/src/style/token-ref.ts +5 -4
- package/src/surfaces/about.ts +18 -19
- package/src/surfaces/add-repo.ts +17 -19
- package/src/surfaces/ai-chat.ts +31 -36
- package/src/surfaces/ai-credentials-form.ts +6 -16
- package/src/surfaces/ai-managed-connect.ts +3 -4
- package/src/surfaces/ai-model-picker.ts +3 -5
- package/src/surfaces/block-action-bar.ts +22 -11
- package/src/surfaces/boot-failure.ts +4 -5
- package/src/surfaces/bottom-dock.ts +9 -18
- package/src/surfaces/canvas-stage.ts +12 -11
- package/src/surfaces/cf-account-picker.ts +17 -18
- package/src/surfaces/commandbar.ts +14 -9
- package/src/surfaces/convert-repeater.ts +17 -19
- package/src/surfaces/data-actions.ts +9 -7
- package/src/surfaces/dialog.ts +26 -28
- package/src/surfaces/diff-toolbar.ts +9 -7
- package/src/surfaces/doc-header.ts +10 -19
- package/src/surfaces/empty-state.ts +7 -10
- package/src/surfaces/entry-editor.ts +14 -11
- package/src/surfaces/expression-editor.ts +11 -25
- package/src/surfaces/files-panel.ts +27 -14
- package/src/surfaces/formula-palette.ts +4 -5
- package/src/surfaces/git-panel.ts +7 -15
- package/src/surfaces/github-auth.ts +16 -20
- package/src/surfaces/github-publish.ts +17 -22
- package/src/surfaces/grid-cell.ts +30 -31
- package/src/surfaces/grid-open.ts +10 -14
- package/src/surfaces/grid-panel.ts +13 -9
- package/src/surfaces/grid-replace.ts +13 -13
- package/src/surfaces/grid-views.ts +15 -18
- package/src/surfaces/inspector-dock.ts +13 -12
- package/src/surfaces/jump-bar.ts +5 -6
- package/src/surfaces/jxsuite-update.ts +16 -22
- package/src/surfaces/library-pane.ts +19 -20
- package/src/surfaces/logic-panel.ts +17 -30
- package/src/surfaces/logic-workspace.ts +13 -15
- package/src/surfaces/media-browser.ts +11 -10
- package/src/surfaces/media-field.ts +4 -5
- package/src/surfaces/media-pane.ts +8 -7
- package/src/surfaces/menu.ts +29 -23
- package/src/surfaces/navigator-dock.ts +11 -12
- package/src/surfaces/new-project.ts +27 -26
- package/src/surfaces/pane-context.ts +20 -25
- package/src/surfaces/pane-grid.ts +15 -10
- package/src/surfaces/panel-activity.ts +5 -6
- package/src/surfaces/panel-data.ts +3 -4
- package/src/surfaces/panel-deploy-checklist.ts +5 -6
- package/src/surfaces/panel-elements.ts +5 -7
- package/src/surfaces/panel-i18n.ts +5 -7
- package/src/surfaces/panel-imports.ts +6 -13
- package/src/surfaces/panel-outline.ts +25 -19
- package/src/surfaces/panel-page.ts +11 -18
- package/src/surfaces/panel-problems.ts +5 -7
- package/src/surfaces/panel-signals.ts +20 -34
- package/src/surfaces/panel-stylebook-layers.ts +5 -8
- package/src/surfaces/preferences.ts +21 -11
- package/src/surfaces/progress-modal.ts +15 -9
- package/src/surfaces/properties-panel.json +1 -1
- package/src/surfaces/properties-panel.ts +20 -42
- package/src/surfaces/publish.ts +18 -18
- package/src/surfaces/push-plan.ts +7 -8
- package/src/surfaces/rail.ts +13 -13
- package/src/surfaces/reference-field.ts +11 -15
- package/src/surfaces/schema-builder.ts +16 -22
- package/src/surfaces/schema-form.ts +15 -25
- package/src/surfaces/secret-field.ts +9 -6
- package/src/surfaces/seo.ts +21 -15
- package/src/surfaces/settings-contexts.ts +9 -7
- package/src/surfaces/settings-contributed.ts +14 -10
- package/src/surfaces/settings-css-vars.ts +5 -12
- package/src/surfaces/settings-defs.json +2 -2
- package/src/surfaces/settings-defs.ts +17 -21
- package/src/surfaces/settings-deploy.ts +8 -15
- package/src/surfaces/settings-extensions.ts +5 -6
- package/src/surfaces/settings-head.ts +33 -39
- package/src/surfaces/settings-locales.ts +8 -20
- package/src/surfaces/settings-overview.ts +5 -6
- package/src/surfaces/settings-packages.ts +8 -7
- package/src/surfaces/settings-pane.ts +9 -18
- package/src/surfaces/settings-rawjson.ts +5 -6
- package/src/surfaces/shell.ts +1 -2
- package/src/surfaces/slash-menu.ts +19 -9
- package/src/surfaces/statements.ts +13 -18
- package/src/surfaces/statusbar.ts +17 -14
- package/src/surfaces/style-panel.ts +18 -31
- package/src/surfaces/stylebook-chrome.ts +3 -5
- package/src/surfaces/tab-strip.ts +14 -13
- package/src/surfaces/target-line.ts +6 -7
- package/src/surfaces/welcome.ts +5 -7
- package/src/tabs/patch-ops.ts +4 -3
- package/src/tabs/project-config.ts +32 -21
- package/src/tabs/selection.ts +36 -8
- package/src/tabs/tab.ts +52 -41
- package/src/tabs/transact.ts +98 -53
- package/src/types.ts +32 -17
- package/src/ui/ai-credentials-form.ts +10 -13
- package/src/ui/ai-model-picker.ts +3 -3
- package/src/ui/cf-account-picker.ts +7 -9
- package/src/ui/color-selector.ts +9 -5
- package/src/ui/dynamic-slot.ts +7 -8
- package/src/ui/expression-editor.ts +112 -105
- package/src/ui/form-controls.ts +57 -48
- package/src/ui/formula-catalog.ts +239 -230
- package/src/ui/formula-chips.ts +33 -18
- package/src/ui/layers.ts +44 -31
- package/src/ui/media-picker.ts +18 -9
- package/src/ui/popover-surface.ts +20 -12
- package/src/ui/progress-modal.ts +13 -8
- package/src/ui/regions.ts +7 -6
- package/src/ui/schema-form.ts +113 -70
- package/src/ui/surface.ts +71 -8
- package/src/ui/timing.ts +9 -0
- package/src/ui/value-source.ts +44 -31
- package/src/ui/virtual-window.ts +3 -2
- package/src/utils/base64.ts +3 -1
- package/src/utils/edit-display.ts +73 -73
- package/src/utils/element-selectors.ts +3 -2
- package/src/utils/google-fonts.ts +15 -14
- package/src/utils/inherited-style.ts +18 -20
- package/src/utils/link-target.ts +1 -1
- package/src/utils/preview-format.ts +25 -3
- package/src/utils/strip-events.ts +49 -22
- package/src/utils/studio-utils.ts +29 -14
- package/src/view.ts +2 -3
- package/src/workspace/pane-derive.ts +10 -12
- package/src/workspace/session.ts +53 -43
- package/src/workspace/workspace.ts +40 -36
- package/dist/chunks/adapter-f93pafd7.js +0 -4
- package/dist/chunks/cf-account-picker-af1h381v.js +0 -4
- package/dist/chunks/cf-settings-125tdm0w.js +0 -4
- package/dist/chunks/color-area-jqhna8zy.js +0 -4
- package/dist/chunks/color-field-embq5ctg.js +0 -4
- package/dist/chunks/color-fpezvnkt.js +0 -4
- package/dist/chunks/color-slider-1qmw7wqy.js +0 -4
- package/dist/chunks/combobox-773hdzyj.js +0 -4
- package/dist/chunks/components-ax2f1fnn.js +0 -4
- package/dist/chunks/content-source-108aqtk1.js +0 -4
- package/dist/chunks/convert-to-repeater-ry5rmppr.js +0 -4
- package/dist/chunks/dialog-mtm9fq5t.js +0 -4
- package/dist/chunks/editor-pfgdmkb0.js +0 -4
- package/dist/chunks/entry-commands-t0k1q0kx.js +0 -4
- package/dist/chunks/extension-sections-6mwh2hf8.js +0 -4
- package/dist/chunks/file-ops-meej5mqf.js +0 -4
- package/dist/chunks/files-44vp8a2s.js +0 -4
- package/dist/chunks/format-host-7q1petb9.js +0 -4
- package/dist/chunks/fs-events-h2mwnxaz.js +0 -4
- package/dist/chunks/git-panel-zngbymvd.js +0 -4
- package/dist/chunks/grid-view-sx9vynsp.js +0 -51
- package/dist/chunks/icons-p44xhjf0.js +0 -4
- package/dist/chunks/iframe-entry-f7mqjwpm.js +0 -5
- package/dist/chunks/iframe-entry-haw7jkvz.js +0 -5
- package/dist/chunks/iframe-entry-z6qrytv3.js +0 -5
- package/dist/chunks/iframe-host-qk3ycq87.js +0 -4
- package/dist/chunks/index-wkyfjeqz.js +0 -4
- package/dist/chunks/jx-validate-psgd7vsx.js +0 -4
- package/dist/chunks/layers-panel-1kq2jyfk.js +0 -4
- package/dist/chunks/layers-xd92fg8d.js +0 -4
- package/dist/chunks/listbox-s8fkmnq8.js +0 -4
- package/dist/chunks/lit-html-ac4cwwr4.js +0 -4
- package/dist/chunks/media-picker-0svzkdyb.js +0 -4
- package/dist/chunks/menu-37d07z9m.js +0 -4
- package/dist/chunks/menu-5c55ea3d.js +0 -4
- package/dist/chunks/monaco-binding-z6r70pdt.js +0 -4
- package/dist/chunks/monaco-buffer-fz6gq5y7.js +0 -4
- package/dist/chunks/monaco-setup-q4axkgj7.js +0 -4
- package/dist/chunks/notify-0xgtn8q1.js +0 -4
- package/dist/chunks/number-field-gw7sq8rn.js +0 -4
- package/dist/chunks/parse-897fvqah.js +0 -4
- package/dist/chunks/platform-v1qctbe6.js +0 -4
- package/dist/chunks/popover-8htra4er.js +0 -4
- package/dist/chunks/publish-panel-ym1fmgq5.js +0 -4
- package/dist/chunks/quick-search-a54e6t5n.js +0 -4
- package/dist/chunks/references-gmqp82fs.js +0 -4
- package/dist/chunks/right-panel-v7t9awbk.js +0 -4
- package/dist/chunks/section-registry-vhyf3zsr.js +0 -4
- package/dist/chunks/select-n3v7gwas.js +0 -4
- package/dist/chunks/split-pff8f3ze.js +0 -4
- package/dist/chunks/studio-0bhx5hz6.js +0 -5
- package/dist/chunks/studio-0k1ddnyy.js +0 -6
- package/dist/chunks/studio-1b04pd0j.js +0 -64
- package/dist/chunks/studio-4dwbj6gb.js +0 -5
- package/dist/chunks/studio-4tanh828.js +0 -5
- package/dist/chunks/studio-55h4mstj.js +0 -4
- package/dist/chunks/studio-5tnvjkz4.js +0 -5
- package/dist/chunks/studio-60dqgb0c.js +0 -5
- package/dist/chunks/studio-61dp09qg.js +0 -9
- package/dist/chunks/studio-63epcrj2.js +0 -5
- package/dist/chunks/studio-74k29dy9.js +0 -5
- package/dist/chunks/studio-7vg6jcd3.js +0 -5
- package/dist/chunks/studio-7zx31knw.js +0 -9
- package/dist/chunks/studio-8bxk97km.js +0 -5
- package/dist/chunks/studio-933e30n4.js +0 -5
- package/dist/chunks/studio-98wnwhbg.js +0 -5
- package/dist/chunks/studio-9mccjwjh.js +0 -14
- package/dist/chunks/studio-a2ke1e4t.js +0 -5
- package/dist/chunks/studio-e3a2a6v3.js +0 -4
- package/dist/chunks/studio-e81q1vb9.js +0 -5
- package/dist/chunks/studio-epgrmqqm.js +0 -5
- package/dist/chunks/studio-ery42sqr.js +0 -4
- package/dist/chunks/studio-g1shz58g.js +0 -5
- package/dist/chunks/studio-gf0fz03c.js +0 -5
- package/dist/chunks/studio-gjtpe62q.js +0 -6
- package/dist/chunks/studio-gkskhg7m.js +0 -5
- package/dist/chunks/studio-gx4dnjzd.js +0 -5
- package/dist/chunks/studio-j03zga3y.js +0 -9
- package/dist/chunks/studio-jhpxeckz.js +0 -5
- package/dist/chunks/studio-k01r7ykp.js +0 -5
- package/dist/chunks/studio-kk7h30ne.js +0 -7
- package/dist/chunks/studio-kt1zqney.js +0 -5
- package/dist/chunks/studio-m3cwhvye.js +0 -5
- package/dist/chunks/studio-mcayt6hz.js +0 -5
- package/dist/chunks/studio-myjcghv3.js +0 -5
- package/dist/chunks/studio-n8bxwc3y.js +0 -4
- package/dist/chunks/studio-ngm8gvpb.js +0 -5
- package/dist/chunks/studio-nj5a01jy.js +0 -928
- package/dist/chunks/studio-pcgz8heb.js +0 -5
- package/dist/chunks/studio-qcsq0t15.js +0 -5
- package/dist/chunks/studio-qkstvve9.js +0 -5
- package/dist/chunks/studio-qv1pwd3c.js +0 -5
- package/dist/chunks/studio-rc6dvxjb.js +0 -7
- package/dist/chunks/studio-s8dmmz66.js +0 -5
- package/dist/chunks/studio-sp5xzbj4.js +0 -6
- package/dist/chunks/studio-szsjbj0g.js +0 -5
- package/dist/chunks/studio-t1xzawhr.js +0 -16
- package/dist/chunks/studio-t6b6qe31.js +0 -5
- package/dist/chunks/studio-tdcprbqb.js +0 -5
- package/dist/chunks/studio-vyc0b4he.js +0 -10
- package/dist/chunks/studio-w0cgf6jg.js +0 -5
- package/dist/chunks/studio-w3hskzqk.js +0 -5
- package/dist/chunks/studio-xgrgcdyh.js +0 -9
- package/dist/chunks/studio-xz2yxfcb.js +0 -5
- package/dist/chunks/studio-y6n42tgs.js +0 -5
- package/dist/chunks/studio-yb560vxr.js +0 -5
- package/dist/chunks/studio-yn9f8vtx.js +0 -5
- package/dist/chunks/studio-yw05w8f0.js +0 -7
- package/dist/chunks/studio-z16sgavc.js +0 -5
- package/dist/chunks/studio-zyqn40w4.js +0 -5
- package/dist/chunks/swatch-group-8qh9a3bm.js +0 -4
- package/dist/chunks/tabs-jwthg40w.js +0 -4
- package/dist/chunks/textfield-spy3hc77.js +0 -4
- package/dist/chunks/toast-4d35zd64.js +0 -4
- package/dist/chunks/toast-host-8sjmfed3.js +0 -4
- package/dist/chunks/tooltip-fd6g9xy3.js +0 -4
- package/dist/chunks/tree-h19v1jfz.js +0 -4
- package/dist/chunks/workspace-zt81g1ms.js +0 -4
- package/dist/chunks/ws-client-n2bh4hkf.js +0 -4
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
import{Ke,rf,Sh,y_,nk,er,v_,$n,is,QR,ug,kn,Si,w_,e$,cv,hg,J,dt,Jn,io,tr,M,fl,au,Es,Vc,fn,t$,Jt,rs,Mi,Mn,Re,ml,n$,ta,pg,of,e,h,Ut,ue,Vn,So,os,cr,i$,na,pi,ss,Se,Ts,De,ro,E,c,n,ie,ik,En,Yt,S,i,bl,dr,oo,as,Ls,jo,Ui,he,Pe,dv,Zt,lu,mg,$a,V,o,t,A,b,Ho,cu,Hr,uv,__,gg,Ia,sf,Da,du,r$,uu,Bo,S_,af,bg,hv,Nt,Fe,yg,Fn,C_,ia,Ci,ni,In,kt,Br,Ch,pv,zc,Na,ur,ls,mn,yl,Oa,Uc,a$,k_,rc,zn,We,Un,jt,vl,l$,c$,ki,so,Yn,qn,be,$s,d$,jn,ee,cf,qc,Ei,kr,hu,Eh,rk,Gc,mv,Ot,Zn,gv,d,gn,E_,Wr,H,Hn,u$,h$,je,p$,oc,P,Te,cs,Fi,ok,L_,sk,pu,Vr,sc,F,en,l,mt,f$,Kc,bv,yv,wg,ii,vv,Is,Ye,R_,m$,gt,xg,hr,Aa,Bt,Pa,Lt,ds,Jc,Th,Me,xe,Lh,x,ye,Xn,w,tn,g,g$,pr,qi,ra,wv,_e,ko,ak,se,Rh,ln,L,Z,ve,bt,bn,nr,Qe,Wo,xl,G,Ae,we,_,N,z,it,yn,$h,a,fi,Dn,_l,Ti,cn,Ze,Tn,Wt,Li,b$,ac,vn,Vo,y$,mi,v$,Ih,$_,w$,Yc,Be,I_,ji,lk,hf,Dh,Vt,W,_g,zr,fr,U,R,xv,x$,le,Bn,zo,X,pt,fe,dn,Nh,ao,Hi,et,Sg,Ds,Oh,Sl,Eo,Er,To,Uo,Zc,Cg,B,Ah,_v,N_,O_,_$,Y,At,Sv,pf,Ma,mr,ct,Ri,Ph,ir,Gn,ck,ff,k,Cl,f,kg,j,dk,gr,yt,S$,Fa,Ii,qo,lc,Ln,br,gi,Tg,mu,qt,gu,Lg,A_,C$,ja,O,s,lo,de,mf,Ee,Cv,gf,$e,Ht,bf,Tr,oa,yr,Fh,yf,k$,sa,jh,us,Hh,E$,cc,vf,T$,Ns,L$,kl,R$,wf,Rg,Bh,P_,M_,$$,I$,D$,N$,bu,Qc,kv,ed,$g,F_,uk,Ev,Tv,Wh,Lv,O$,Rv,j_,H_,xf,yu,_f,Ig,vu,dc,Sf,uc,Ha,Dg,Ur,wu,wt,xt,Rt,ri,$v,Ba,at,Wa,B_,hc,Iv,Vh,hk,Cf,A$,zh,td,Ng,ze,oi,pk,kf,Tt,Og,bi,Ag,xu,Lo,Ef,V_,Uh,El,r,qh,Ne,nn,si,P$,z_,Tf,Nv,U_,q_,Xt,Ll,ut,co,fk,F$,ce,Ov,uo,j$,As,Nn,Lf,Gi,Pg,rn,Av,Pv,Mv,Fv,G_,H$,nd,K_,pc,re,fc,Rl,wn,id,B$,Go,On,Rf,Gh,J_,Y_,Z_,mk,z$,Su,Ro,Mg,mc,U$,xn,Cu,ho,Q_,Fg,jv,rr,Va,Lr,q$,vr,gk,Hv,po,$f,un,_n,$l,Bv,e0,t0,jg,Wi,Ko,Ge,Qn,Jh,Wv,bk,Nf,qr,ai,Ce,or,Il,Hg,Bg,Wg,i0,Yh,gc,Of,J$,za,r0,Vg,Di,zg,o0,Dl,Vv,Ki,zv,Uv,Nl,s0,qv,Gv,Kv,Jv,Yv,Ms,yk,a0,l0,c0,Gt,Zv,fo,d0,la,hs,Fs,u0,Y$,Z$,h0,X$,p0,Ol,Al,f0,Xv,Ft,Ua,Af,js,ku,qg,od,sd,y0,ca,$t,v0,Gg,vk,Jo,$o,w0,li,ld,bc,da,ew,ei,Xe,tw,Tu,Lu,ua,Kg,x0,ep,Yo,Jg,tp,xk,Q$,_k,np,pe}from"./studio-nj5a01jy.js";import{me}from"./studio-pre0skq6.js";class Py extends W{constructor(){super({id:"editor.action.forceRetokenize",label:h(1606,"Developer: Force Retokenize"),precondition:void 0})}run(m,u){if(!u.hasModel())return;let p=u.getModel();p.tokenization.resetTokenization();let v=new Yt;p.tokenization.forceTokenization(p.getLineCount()),v.stop(),console.log(`tokenization took ${v.elapsed()}`)}}R(Py);class It{static{this.sep="."}static{this.None=new It("@@none@@")}static{this.Empty=new It("")}constructor(m){this.value=m}equals(m){return this.value===m.value}contains(m){return this.equals(m)||this.value===""||m.value.startsWith(this.value+It.sep)}intersects(m){return this.contains(m)||m.contains(this)}append(...m){return new It((this.value?[this.value,...m]:m).join(It.sep))}}var ZD=function(m,u,p,v){var C=arguments.length,y=C<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,p):v,I;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")y=Reflect.decorate(m,u,p,v);else for(var D=m.length-1;D>=0;D--)if(I=m[D])y=(C<3?I(y):C>3?I(u,p,y):I(u,p))||y;return C>3&&y&&Object.defineProperty(u,p,y),y},XD=function(m,u){return function(p,v){u(p,v,m)}},YD=re.register({description:"inline-progress-widget",stickiness:1,showIfCollapsed:!0,after:{content:k_,inlineClassName:"inline-editor-progress-decoration",inlineClassNameAffectsLetterSpacing:!0,widthInEm:1}});class vb extends n{static{this.baseId="editor.widget.inlineProgressWidget"}constructor(m,u,p,v,C){super();this.typeId=m,this.editor=u,this.range=p,this.delegate=C,this.allowEditorOverflow=!1,this.suppressMouseDown=!0,this.create(v),this.editor.addContentWidget(this),this.editor.layoutContentWidget(this)}create(m){this.domNode=g(".inline-progress-widget"),this.domNode.role="button",this.domNode.title=m;let u=g("span.icon");this.domNode.append(u),u.classList.add(...G.asClassNameArray(b.loading),"codicon-modifier-spin");let p=()=>{let v=this.editor.getOption(75);this.domNode.style.height=`${v}px`,this.domNode.style.width=`${Math.ceil(0.8*v)}px`};p(),this._register(this.editor.onDidChangeConfiguration((v)=>{if(v.hasChanged(61)||v.hasChanged(75))p()})),this._register(l(this.domNode,x.CLICK,(v)=>{this.delegate.cancel()}))}getId(){return vb.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)}}var rg=class m extends n{constructor(u,p,v){super();this.id=u,this._editor=p,this._instantiationService=v,this._showDelay=500,this._showPromise=this._register(new ie),this._currentWidget=this._register(new ie),this._operationIdPool=0,this._currentDecorations=p.createDecorationsCollection()}dispose(){super.dispose(),this._currentDecorations.clear()}async showWhile(u,p,v,C,y){let I=this._operationIdPool++;this._currentOperation=I,this.clear(),this._showPromise.value=Yn(()=>{let D=t.fromPositions(u);if(this._currentDecorations.set([{range:D,options:YD}]).length>0)this._currentWidget.value=this._instantiationService.createInstance(vb,this.id,this._editor,D,p,C)},y??this._showDelay);try{return await v}finally{if(this._currentOperation===I)this.clear(),this._currentOperation=void 0}}clear(){this._showPromise.clear(),this._currentDecorations.clear(),this._currentWidget.clear()}};rg=ZD([XD(2,L)],rg);var JD=function(m,u,p,v){var C=arguments.length,y=C<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,p):v,I;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")y=Reflect.decorate(m,u,p,v);else for(var D=m.length-1;D>=0;D--)if(I=m[D])y=(C<3?I(y):C>3?I(u,p,y):I(u,p))||y;return C>3&&y&&Object.defineProperty(u,p,y),y},Ay=function(m,u){return function(p,v){u(p,v,m)}},sp,Oi=class m{static{sp=this}static{this.ID="editor.contrib.messageController"}static{this.MESSAGE_VISIBLE=new N("messageVisible",!1,e(1353,"Whether the editor is currently showing an inline message"))}static get(u){return u.getContribution(sp.ID)}constructor(u,p,v){this._openerService=v,this._messageWidget=new ie,this._messageListeners=new c,this._mouseOverMessage=!1,this._editor=u,this._visible=sp.MESSAGE_VISIBLE.bindTo(p)}dispose(){this._messageListeners.dispose(),this._messageWidget.dispose(),this._visible.reset()}showMessage(u,p){if(Ln(ho(u)?u.value:u),this._visible.set(!0),this._messageWidget.clear(),this._messageListeners.clear(),ho(u)){let C=this._messageListeners.add(Va(u,{actionHandler:(y,I)=>{this.closeMessage(),gk(this._openerService,y,I.isTrusted)}}));this._messageWidget.value=new ap(this._editor,p,C.element)}else this._messageWidget.value=new ap(this._editor,p,u);this._messageListeners.add(S.debounce(this._editor.onDidBlurEditorText,(C,y)=>y,0)(()=>{if(this._mouseOverMessage)return;if(this._messageWidget.value&&Bt(Lt(),this._messageWidget.value.getDomNode()))return;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(l(this._messageWidget.value.getDomNode(),x.MOUSE_ENTER,()=>this._mouseOverMessage=!0,!0)),this._messageListeners.add(l(this._messageWidget.value.getDomNode(),x.MOUSE_LEAVE,()=>this._mouseOverMessage=!1,!0));let v;this._messageListeners.add(this._editor.onMouseMove((C)=>{if(!C.target.position)return;if(!v)v=new t(p.lineNumber-3,1,C.target.position.lineNumber+3,1);else if(!v.containsPosition(C.target.position))this.closeMessage()}))}closeMessage(){if(this._visible.reset(),this._messageListeners.clear(),this._messageWidget.value)this._messageListeners.add(ap.fadeOut(this._messageWidget.value))}};Oi=sp=JD([Ay(1,z),Ay(2,Lr)],Oi);var QD=Vt.bindToContribution(Oi.get);U(new QD({id:"leaveEditorMessage",precondition:Oi.MESSAGE_VISIBLE,handler:(m)=>m.closeMessage(),kbOpts:{weight:130,primary:9}}));class ap{static fadeOut(m){let u=()=>{m.dispose(),clearTimeout(p),m.getDomNode().removeEventListener("animationend",u)},p=setTimeout(u,110);return m.getDomNode().addEventListener("animationend",u),m.getDomNode().classList.add("fadeOut"),{dispose:u}}constructor(m,{lineNumber:u,column:p},v){this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._editor=m,this._editor.revealLinesInCenterIfOutsideViewport(u,u,0),this._position={lineNumber:u,column:p},this._domNode=document.createElement("div"),this._domNode.classList.add("monaco-editor-overlaymessage"),this._domNode.style.marginLeft="-6px";let C=document.createElement("div");C.classList.add("anchor","top"),this._domNode.appendChild(C);let y=document.createElement("div");if(typeof v==="string")y.classList.add("message"),y.textContent=v;else v.classList.add("message"),y.appendChild(v);this._domNode.appendChild(y);let I=document.createElement("div");I.classList.add("anchor","below"),this._domNode.appendChild(I),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(m){this._domNode.classList.toggle("below",m===2)}}le(Oi.ID,Oi,4);var Sb=function(m,u,p,v){var C=arguments.length,y=C<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,p):v,I;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")y=Reflect.decorate(m,u,p,v);else for(var D=m.length-1;D>=0;D--)if(I=m[D])y=(C<3?I(y):C>3?I(u,p,y):I(u,p))||y;return C>3&&y&&Object.defineProperty(u,p,y),y},Oc=function(m,u){return function(p,v){u(p,v,m)}};class lp{constructor(m){this.copyMimeTypes=[],this.kind=m,this.providedDropEditKinds=[this.kind],this.providedPasteEditKinds=[this.kind]}async provideDocumentPasteEdits(m,u,p,v,C){let y=await this.getEdit(p,C);if(!y)return;return{edits:[{insertText:y.insertText,title:y.title,kind:y.kind,handledMimeType:y.handledMimeType,yieldTo:y.yieldTo}],dispose(){}}}async provideDocumentDropEdits(m,u,p,v){let C=await this.getEdit(p,v);if(!C)return;return{edits:[{insertText:C.insertText,title:C.title,kind:C.kind,handledMimeType:C.handledMimeType,yieldTo:C.yieldTo}],dispose(){}}}}class iu extends lp{static{this.id="text"}constructor(){super(It.Empty.append("text","plain"));this.id=iu.id,this.dropMimeTypes=[dn.text],this.pasteMimeTypes=[dn.text]}async getEdit(m,u){let p=m.get(dn.text);if(!p)return;if(m.has(dn.uriList))return;let v=await p.asString();return{handledMimeType:dn.text,title:e(980,"Insert Plain Text"),insertText:v,kind:this.kind}}}class wb extends lp{constructor(){super(It.Empty.append("uri","path","absolute"));this.dropMimeTypes=[dn.uriList],this.pasteMimeTypes=[dn.uriList]}async getEdit(m,u){let p=await Hy(m);if(!p.length||u.isCancellationRequested)return;let v=0,C=p.map(({uri:I,originalText:D})=>{if(I.scheme===ee.file)return I.fsPath;else return v++,D}).join(" "),y;if(v>0)y=p.length>1?e(981,"Insert Uris"):e(982,"Insert Uri");else y=p.length>1?e(983,"Insert Paths"):e(984,"Insert Path");return{handledMimeType:dn.uriList,insertText:C,title:y,kind:this.kind}}}var dp=class m extends lp{constructor(u){super(It.Empty.append("uri","path","relative"));this._workspaceContextService=u,this.dropMimeTypes=[dn.uriList],this.pasteMimeTypes=[dn.uriList]}async getEdit(u,p){let v=await Hy(u);if(!v.length||p.isCancellationRequested)return;let C=er(v.map(({uri:y})=>{let I=this._workspaceContextService.getWorkspaceFolder(y);return I?w$(I.uri,y):void 0}));if(!C.length)return;return{handledMimeType:dn.uriList,insertText:C.join(" "),title:v.length>1?e(985,"Insert Relative Paths"):e(986,"Insert Relative Path"),kind:this.kind}}};dp=Sb([Oc(0,Fs)],dp);class Fy{constructor(){this.kind=new It("html"),this.providedPasteEditKinds=[this.kind],this.copyMimeTypes=[],this.pasteMimeTypes=["text/html"],this._yieldTo=[{mimeType:dn.text}]}async provideDocumentPasteEdits(m,u,p,v,C){if(v.triggerKind!==sf.PasteAs&&!v.only?.contains(this.kind))return;let I=await p.get("text/html")?.asString();if(!I||C.isCancellationRequested)return;return{dispose(){},edits:[{insertText:I,yieldTo:this._yieldTo,title:e(987,"Insert HTML"),kind:this.kind}]}}}async function Hy(m){let u=m.get(dn.uriList);if(!u)return[];let p=await u.asString(),v=[];for(let C of Cf.parse(p))try{v.push({uri:V.parse(C),originalText:C})}catch{}return v}var Ya={scheme:"*",hasAccessToAllModels:!0},l_=class m extends n{constructor(u,p){super();this._register(u.documentDropEditProvider.register(Ya,new iu)),this._register(u.documentDropEditProvider.register(Ya,new wb)),this._register(u.documentDropEditProvider.register(Ya,new dp(p)))}};l_=Sb([Oc(0,j),Oc(1,Fs)],l_);var c_=class m extends n{constructor(u,p){super();this._register(u.documentPasteEditProvider.register(Ya,new iu)),this._register(u.documentPasteEditProvider.register(Ya,new wb)),this._register(u.documentPasteEditProvider.register(Ya,new dp(p))),this._register(u.documentPasteEditProvider.register(Ya,new Fy))}};c_=Sb([Oc(0,j),Oc(1,Fs)],c_);class sr{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(m){return m>=48&&m<=57}static isVariableCharacter(m){return m===95||m>=97&&m<=122||m>=65&&m<=90}text(m){this.value=m,this.pos=0}tokenText(m){return this.value.substr(m.pos,m.len)}next(){if(this.pos>=this.value.length)return{type:14,pos:this.pos,len:0};let m=this.pos,u=0,p=this.value.charCodeAt(m),v;if(v=sr._table[p],typeof v==="number")return this.pos+=1,{type:v,pos:m,len:1};if(sr.isDigitCharacter(p)){v=8;do u+=1,p=this.value.charCodeAt(m+u);while(sr.isDigitCharacter(p));return this.pos+=u,{type:v,pos:m,len:u}}if(sr.isVariableCharacter(p)){v=9;do p=this.value.charCodeAt(m+ ++u);while(sr.isVariableCharacter(p)||sr.isDigitCharacter(p));return this.pos+=u,{type:v,pos:m,len:u}}v=10;do u+=1,p=this.value.charCodeAt(m+u);while(!isNaN(p)&&typeof sr._table[p]>"u"&&!sr.isDigitCharacter(p)&&!sr.isVariableCharacter(p));return this.pos+=u,{type:v,pos:m,len:u}}}class Ja{constructor(){this._children=[]}appendChild(m){if(m instanceof Pi&&this._children[this._children.length-1]instanceof Pi)this._children[this._children.length-1].value+=m.value;else m.parent=this,this._children.push(m);return this}replace(m,u){let{parent:p}=m,v=p.children.indexOf(m),C=p.children.slice(0);C.splice(v,1,...u),p._children=C,function y(I,D){for(let T of I)T.parent=D,y(T.children,T)}(u,p)}get children(){return this._children}get rightMostDescendant(){if(this._children.length>0)return this._children[this._children.length-1].rightMostDescendant;return this}get snippet(){let m=this;while(!0){if(!m)return;if(m instanceof zd)return m;m=m.parent}}toString(){return this.children.reduce((m,u)=>m+u.toString(),"")}len(){return 0}}class Pi extends Ja{constructor(m){super();this.value=m}toString(){return this.value}len(){return this.value.length}clone(){return new Pi(this.value)}}class Cb extends Ja{}class wo extends Cb{static compareByIndex(m,u){if(m.index===u.index)return 0;else if(m.isFinalTabstop)return 1;else if(u.isFinalTabstop)return-1;else if(m.index<u.index)return-1;else if(m.index>u.index)return 1;else return 0}constructor(m){super();this.index=m}get isFinalTabstop(){return this.index===0}get choice(){return this._children.length===1&&this._children[0]instanceof Qa?this._children[0]:void 0}clone(){let m=new wo(this.index);if(this.transform)m.transform=this.transform.clone();return m._children=this.children.map((u)=>u.clone()),m}}class Qa extends Ja{constructor(){super(...arguments);this.options=[]}appendChild(m){if(m instanceof Pi)m.parent=this,this.options.push(m);return this}toString(){return this.options[0].value}len(){return this.options[0].len()}clone(){let m=new Qa;return this.options.forEach(m.appendChild,m),m}}class yb extends Ja{constructor(){super(...arguments);this.regexp=new RegExp("")}resolve(m){let u=this,p=!1,v=m.replace(this.regexp,function(){return p=!0,u._replace(Array.prototype.slice.call(arguments,0,-2))});if(!p&&this._children.some((C)=>C instanceof ar&&Boolean(C.elseValue)))v=this._replace([]);return v}_replace(m){let u="";for(let p of this._children)if(p instanceof ar){let v=m[p.index]||"";v=p.resolve(v),u+=v}else u+=p.toString();return u}toString(){return""}clone(){let m=new yb;return m.regexp=new RegExp(this.regexp.source,(this.regexp.ignoreCase?"i":"")+(this.regexp.global?"g":"")),m._children=this.children.map((u)=>u.clone()),m}}class ar extends Ja{constructor(m,u,p,v){super();this.index=m,this.shorthandName=u,this.ifValue=p,this.elseValue=v}resolve(m){if(this.shorthandName==="upcase")return!m?"":m.toLocaleUpperCase();else if(this.shorthandName==="downcase")return!m?"":m.toLocaleLowerCase();else if(this.shorthandName==="capitalize")return!m?"":m[0].toLocaleUpperCase()+m.substr(1);else if(this.shorthandName==="pascalcase")return!m?"":this._toPascalCase(m);else if(this.shorthandName==="camelcase")return!m?"":this._toCamelCase(m);else if(this.shorthandName==="kebabcase")return!m?"":this._toKebabCase(m);else if(this.shorthandName==="snakecase")return!m?"":this._toSnakeCase(m);else if(Boolean(m)&&typeof this.ifValue==="string")return this.ifValue;else if(!Boolean(m)&&typeof this.elseValue==="string")return this.elseValue;else return m||""}_toKebabCase(m){if(!m.match(/[\p{L}0-9]+/gu))return m;if(!m.match(/[\p{L}0-9]/u))return m.trim().toLowerCase().replace(/^_+|_+$/g,"").replace(/[\s_]+/g,"-");let p=m.trim().replace(/^_+|_+$/g,""),v=p.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);if(!v)return p.split(/[\s_-]+/).filter((C)=>C.length>0).map((C)=>C.toLowerCase()).join("-");return v.map((C)=>C.toLowerCase()).join("-")}_toPascalCase(m){let u=m.match(/[\p{L}0-9]+/gu);if(!u)return m;return u.map((p)=>p.charAt(0).toUpperCase()+p.substr(1)).join("")}_toCamelCase(m){let u=m.match(/[\p{L}0-9]+/gu);if(!u)return m;return u.map((p,v)=>{if(v===0)return p.charAt(0).toLowerCase()+p.substr(1);return p.charAt(0).toUpperCase()+p.substr(1)}).join("")}_toSnakeCase(m){return m.replace(/(\p{Ll})(\p{Lu})/gu,"$1_$2").replace(/[\s\-]+/g,"_").toLowerCase()}clone(){return new ar(this.index,this.shorthandName,this.ifValue,this.elseValue)}}class Ks extends Cb{constructor(m){super();this.name=m}resolve(m){let u=m.resolve(this);if(this.transform)u=this.transform.resolve(u||"");if(u!==void 0)return this._children=[new Pi(u)],!0;return!1}clone(){let m=new Ks(this.name);if(this.transform)m.transform=this.transform.clone();return m._children=this.children.map((u)=>u.clone()),m}}function Wy(m,u){let p=[...m];while(p.length>0){let v=p.shift();if(!u(v))break;p.unshift(...v.children)}}class zd extends Ja{get placeholderInfo(){if(!this._placeholders){let m=[],u;this.walk(function(p){if(p instanceof wo)m.push(p),u=!u||u.index<p.index?p:u;return!0}),this._placeholders={all:m,last:u}}return this._placeholders}get placeholders(){let{all:m}=this.placeholderInfo;return m}offset(m){let u=0,p=!1;if(this.walk((v)=>{if(v===m)return p=!0,!1;return u+=v.len(),!0}),!p)return-1;return u}fullLen(m){let u=0;return Wy([m],(p)=>(u+=p.len(),!0)),u}enclosingPlaceholders(m){let u=[],{parent:p}=m;while(p){if(p instanceof wo)u.push(p);p=p.parent}return u}resolveVariables(m){return this.walk((u)=>{if(u instanceof Ks){if(u.resolve(m))this._placeholders=void 0}return!0}),this}appendChild(m){return this._placeholders=void 0,super.appendChild(m)}replace(m,u){return this._placeholders=void 0,super.replace(m,u)}clone(){let m=new zd;return m._children=this.children.map((u)=>u.clone()),m}walk(m){Wy(this.children,m)}}class Co{constructor(){this._scanner=new sr,this._token={type:14,pos:0,len:0}}static escape(m){return m.replace(/\$|}|\\/g,"\\$&")}static guessNeedsClipboard(m){return/\${?CLIPBOARD/.test(m)}parse(m,u,p){let v=new zd;return this.parseFragment(m,v),this.ensureFinalTabstop(v,p??!1,u??!1),v}parseFragment(m,u){let p=u.children.length;this._scanner.text(m),this._token=this._scanner.next();while(this._parse(u));let v=new Map,C=[];u.walk((D)=>{if(D instanceof wo)if(D.isFinalTabstop)v.set(0,void 0);else if(!v.has(D.index)&&D.children.length>0)v.set(D.index,D.children);else C.push(D);return!0});let y=(D,T)=>{let K=v.get(D.index);if(!K)return;let q=new wo(D.index);q.transform=D.transform;for(let Q of K){let te=Q.clone();if(q.appendChild(te),te instanceof wo&&v.has(te.index)&&!T.has(te.index))T.add(te.index),y(te,T),T.delete(te.index)}u.replace(D,[q])},I=new Set;for(let D of C)y(D,I);return u.children.slice(p)}ensureFinalTabstop(m,u,p){if(u||p&&m.placeholders.length>0){if(!m.placeholders.find((C)=>C.index===0))m.appendChild(new wo(0))}}_accept(m,u){if(m===void 0||this._token.type===m){let p=!u?!0:this._scanner.tokenText(this._token);return this._token=this._scanner.next(),p}return!1}_backTo(m){return this._scanner.pos=m.pos+m.len,this._token=m,!1}_until(m){let u=this._token;while(this._token.type!==m){if(this._token.type===14)return!1;else if(this._token.type===5){let v=this._scanner.next();if(v.type!==0&&v.type!==4&&v.type!==5)return!1}this._token=this._scanner.next()}let p=this._scanner.value.substring(u.pos,this._token.pos).replace(/\\(\$|}|\\)/g,"$1");return this._token=this._scanner.next(),p}_parse(m){return this._parseEscaped(m)||this._parseTabstopOrVariableName(m)||this._parseComplexPlaceholder(m)||this._parseComplexVariable(m)||this._parseAnything(m)}_parseEscaped(m){let u;if(u=this._accept(5,!0))return u=this._accept(0,!0)||this._accept(4,!0)||this._accept(5,!0)||u,m.appendChild(new Pi(u)),!0;return!1}_parseTabstopOrVariableName(m){let u,p=this._token;if(!(this._accept(0)&&(u=this._accept(9,!0)||this._accept(8,!0))))return this._backTo(p);return m.appendChild(/^\d+$/.test(u)?new wo(Number(u)):new Ks(u)),!0}_parseComplexPlaceholder(m){let u,p=this._token;if(!(this._accept(0)&&this._accept(3)&&(u=this._accept(8,!0))))return this._backTo(p);let C=new wo(Number(u));if(this._accept(1))while(!0){if(this._accept(4))return m.appendChild(C),!0;if(this._parse(C))continue;return m.appendChild(new Pi("${"+u+":")),C.children.forEach(m.appendChild,m),!0}else if(C.index>0&&this._accept(7)){let y=new Qa;while(!0){if(this._parseChoiceElement(y)){if(this._accept(2))continue;if(this._accept(7)){if(C.appendChild(y),this._accept(4))return m.appendChild(C),!0}}return this._backTo(p),!1}}else if(this._accept(6)){if(this._parseTransform(C))return m.appendChild(C),!0;return this._backTo(p),!1}else if(this._accept(4))return m.appendChild(C),!0;else return this._backTo(p)}_parseChoiceElement(m){let u=this._token,p=[];while(!0){if(this._token.type===2||this._token.type===7)break;let v;if(v=this._accept(5,!0))v=this._accept(2,!0)||this._accept(7,!0)||this._accept(5,!0)||v;else v=this._accept(void 0,!0);if(!v)return this._backTo(u),!1;p.push(v)}if(p.length===0)return this._backTo(u),!1;return m.appendChild(new Pi(p.join(""))),!0}_parseComplexVariable(m){let u,p=this._token;if(!(this._accept(0)&&this._accept(3)&&(u=this._accept(9,!0))))return this._backTo(p);let C=new Ks(u);if(this._accept(1))while(!0){if(this._accept(4))return m.appendChild(C),!0;if(this._parse(C))continue;return m.appendChild(new Pi("${"+u+":")),C.children.forEach(m.appendChild,m),!0}else if(this._accept(6)){if(this._parseTransform(C))return m.appendChild(C),!0;return this._backTo(p),!1}else if(this._accept(4))return m.appendChild(C),!0;else return this._backTo(p)}_parseTransform(m){let u=new yb,p="",v="";while(!0){if(this._accept(6))break;let C;if(C=this._accept(5,!0)){C=this._accept(6,!0)||C,p+=C;continue}if(this._token.type!==14){p+=this._accept(void 0,!0);continue}return!1}while(!0){if(this._accept(6))break;let C;if(C=this._accept(5,!0)){C=this._accept(5,!0)||this._accept(6,!0)||C,u.appendChild(new Pi(C));continue}if(this._parseFormatString(u)||this._parseAnything(u))continue;return!1}while(!0){if(this._accept(4))break;if(this._token.type!==14){v+=this._accept(void 0,!0);continue}return!1}try{u.regexp=new RegExp(p,v)}catch(C){return!1}return m.transform=u,!0}_parseFormatString(m){let u=this._token;if(!this._accept(0))return!1;let p=!1;if(this._accept(3))p=!0;let v=this._accept(8,!0);if(!v)return this._backTo(u),!1;else if(!p)return m.appendChild(new ar(Number(v))),!0;else if(this._accept(4))return m.appendChild(new ar(Number(v))),!0;else if(!this._accept(1))return this._backTo(u),!1;if(this._accept(6)){let C=this._accept(9,!0);if(!C||!this._accept(4))return this._backTo(u),!1;else return m.appendChild(new ar(Number(v),C)),!0}else if(this._accept(11)){let C=this._until(4);if(C)return m.appendChild(new ar(Number(v),void 0,C,void 0)),!0}else if(this._accept(12)){let C=this._until(4);if(C)return m.appendChild(new ar(Number(v),void 0,void 0,C)),!0}else if(this._accept(13)){let C=this._until(1);if(C){let y=this._until(4);if(y)return m.appendChild(new ar(Number(v),void 0,C,y)),!0}}else{let C=this._until(4);if(C)return m.appendChild(new ar(Number(v),void 0,void 0,C)),!0}return this._backTo(u),!1}_parseAnything(m){if(this._token.type!==14)return m.appendChild(new Pi(this._scanner.tokenText(this._token))),this._accept(void 0),!0;return!1}}function cp(m,u,p){if(typeof p.insertText==="string"?p.insertText==="":p.insertText.snippet==="")return{edits:p.additionalEdit?.edits??[]};return{edits:[...u.map((v)=>new Al(m,{range:v,text:typeof p.insertText==="string"?Co.escape(p.insertText)+"$0":p.insertText.snippet,insertAsSnippet:!0})),...p.additionalEdit?.edits??[]]}}function d_(m){function u(I,D){if("mimeType"in I)return I.mimeType===D.handledMimeType;return!!D.kind&&I.kind.contains(D.kind)}let p=new Map;for(let I of m)for(let D of I.yieldTo??[])for(let T of m){if(T===I)continue;if(u(D,T)){let K=p.get(I);if(!K)K=[],p.set(I,K);K.push(T)}}if(!p.size)return Array.from(m);let v=new Set,C=[];function y(I){if(!I.length)return[];let D=I[0];if(C.includes(D))return console.warn("Yield to cycle detected",D),I;if(v.has(D))return y(I.slice(1));let T=[],K=p.get(D);if(K)C.push(D),T=y(K),C.pop();return v.add(D),[...T,D,...y(I.slice(1))]}return y(Array.from(m))}function xb(m,u){if(u&&(m.stack||m.stacktrace))return e(33,"{0}: {1}",Vy(m),By(m.stack)||By(m.stacktrace));return Vy(m)}function By(m){if(Array.isArray(m))return m.join(`
|
|
2
|
-
`);return m}function Vy(m){if(m.code==="ERR_UNC_HOST_NOT_ALLOWED")return`${m.message}. Please update the 'security.allowedUNCHosts' setting if you want to allow this host.`;if(typeof m.code==="string"&&typeof m.errno==="number"&&typeof m.syscall==="string")return e(34,"A system error occurred ({0})",m.message);return m.message||e(35,"An unknown error occurred. Please consult the log for more details.")}function og(m=null,u=!1){if(!m)return e(36,"An unknown error occurred. Please consult the log for more details.");if(Array.isArray(m)){let p=er(m),v=og(p[0],u);if(p.length>1)return e(37,"{0} ({1} errors in total)",v,p.length);return v}if(fn(m))return m;if(m.detail){let p=m.detail;if(p.error)return xb(p.error,u);if(p.exception)return xb(p.exception,u)}if(m.stack)return xb(m,u);if(m.message)return m.message;return e(38,"An unknown error occurred. Please consult the log for more details.")}class Ib extends n{constructor(m){super();this._onChange=this._register(new i),this.onChange=this._onChange.event,this._checked=!!m.checked,this._title=m.title??m.ariaLabel,this.domNode=g("button.monaco-switch"),this.domNode.type="button",this.domNode.setAttribute("role","switch"),w(this.domNode,g(".monaco-switch-thumb")),this._register(ai().setupDelayedHover(this.domNode,()=>({content:this._title,style:1}))),this.setAriaLabel(m.ariaLabel,m.title),this.disabled=!!m.disabled,this._applyState(),this._register(l(this.domNode,x.CLICK,(u)=>{if(ye.stop(u,!0),this.domNode.disabled)return;this._checked=!this._checked,this._applyState(),this._onChange.fire(this._checked)}))}get checked(){return this._checked}set checked(m){if(this._checked!==m)this._checked=m,this._applyState()}get disabled(){return this.domNode.disabled}set disabled(m){this.domNode.disabled=m}setAriaLabel(m,u=m){this.domNode.setAttribute("aria-label",m),this._title=u}_applyState(){this.domNode.setAttribute("aria-checked",String(this._checked)),this.domNode.classList.toggle("checked",this._checked)}}var e2=function(m,u,p,v){var C=arguments.length,y=C<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,p):v,I;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")y=Reflect.decorate(m,u,p,v);else for(var D=m.length-1;D>=0;D--)if(I=m[D])y=(C<3?I(y):C>3?I(u,p,y):I(u,p))||y;return C>3&&y&&Object.defineProperty(u,p,y),y},Ky=function(m,u){return function(p,v){u(p,v,m)}},Ud=class m extends n{get enabled(){return this._enabled}set enabled(u){if(u)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;else 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=u}constructor(u,p,v={},C,y){super();this._link=p,this._hoverService=C,this._enabled=!0,this.el=w(u,g("a.monaco-link",{tabIndex:p.tabIndex??0,href:p.href},p.label)),this.hoverDelegate=v.hoverDelegate??qr("mouse"),this.setTooltip(p.title),this.el.setAttribute("role","button");let I=this._register(new at(this.el,"click")),D=this._register(new at(this.el,"keydown")),T=S.chain(D.event,(Q)=>Q.map((te)=>new We(te)).filter((te)=>te.keyCode===3||te.keyCode===10)),K=this._register(new at(this.el,xt.Tap)).event;this._register(Rt.addTarget(this.el));let q=S.any(I.event,T,K);this._register(q((Q)=>{if(!this.enabled)return;if(ye.stop(Q,!0),v?.opener)v.opener(this._link.href);else y.open(this._link.href,{allowCommands:!0})})),this.enabled=!0}setTooltip(u){if(!this.hover&&u)this.hover=this._register(this._hoverService.setupManagedHover(this.hoverDelegate,this.el,u));else if(this.hover)this.hover.update(u)}};Ud=e2([Ky(3,wn),Ky(4,Lr)],Ud);var Tb=function(m,u,p,v){var C=arguments.length,y=C<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,p):v,I;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")y=Reflect.decorate(m,u,p,v);else for(var D=m.length-1;D>=0;D--)if(I=m[D])y=(C<3?I(y):C>3?I(u,p,y):I(u,p))||y;return C>3&&y&&Object.defineProperty(u,p,y),y},zs=function(m,u){return function(p,v){u(p,v,m)}},Lb,up="acceptSelectedCodeAction",gp="previewSelectedCodeAction",t2=new Set([up,gp,"toggleSectionCodeAction"]),i2="actionList.remove";class zy{get templateId(){return"header"}renderTemplate(m){m.classList.add("group-header");let u=document.createElement("span");return m.append(u),{container:m,text:u}}renderElement(m,u,p){p.text.textContent=m.group?.title??m.label??""}disposeTemplate(m){}}class Uy{get templateId(){return"separator"}renderTemplate(m){m.classList.add("separator");let u=document.createElement("span");return m.append(u),{container:m,text:u}}renderElement(m,u,p){p.container.classList.toggle("has-label",!!m.label),p.text.textContent=m.label??""}disposeTemplate(m){}}function $y(m){return!!m.submenuActions?.length&&!m.hover?.content||!!m.hover?.expandable}function jy(m){return $y(m)&&m.hover?.showIndicator!==!1}var Eb=class m{get templateId(){return"action"}constructor(u,p,v,C,y,I,D,T,K,q,Q,te){this._supportsPreview=u,this._onRemoveItem=p,this._onShowSubmenu=v,this._reservesSubmenuSpace=C,this._groupTitleByIndex=y,this._linkHandler=I,this._hideDefaultKeybindingTooltip=D,this._stopToolbarPointerPropagation=T,this._registerStandaloneToggle=K,this._registerToolbar=q,this._keybindingService=Q,this._openerService=te}renderTemplate(u){u.classList.add(this.templateId);let p=document.createElement("div");p.className="icon",u.append(p);let v=document.createElement("span");v.className="title",u.append(v);let C=document.createElement("span");C.className="action-item-badge",C.ariaHidden="true",u.append(C);let y=document.createElement("span");y.className="description",u.append(y);let I=document.createElement("span");I.className="group-title",u.append(I);let D=document.createElement("span");D.className="detail",u.append(D);let T=new ca(u,pi),K=document.createElement("div");K.className="action-list-item-toolbar",u.append(K);let q=document.createElement("div");q.className="action-list-submenu-indicator",u.append(q);let Q=document.createElement("div");Q.className="action-list-item-inline-toggle",u.append(Q);let te=new c;return{container:u,icon:p,text:v,detail:D,badge:C,description:y,groupTitle:I,keybinding:T,toolbar:K,submenuIndicator:q,inlineToggleContainer:Q,elementDisposables:te}}renderElement(u,p,v){if(v.elementDisposables.clear(),u.iconClasses?.length)v.icon.className=["icon",...u.iconClasses].join(" "),v.icon.style.color="";else if(u.group?.icon)v.icon.className=G.asClassName(u.group.icon),v.icon.style.color=u.group.icon.color?O(u.group.icon.color.id):"";else v.icon.className=G.asClassName(b.lightBulb),v.icon.style.color="var(--vscode-editorLightBulb-foreground)";if(!u.item&&!u.standaloneToggle||!u.label)return;if(g$(!u.hideIcon,v.icon),u.isSectionToggle){let q=u.group?.icon===b.chevronDown;v.container.setAttribute("aria-expanded",String(q))}else v.container.removeAttribute("aria-expanded");if(v.previousClassNames?.length)v.container.classList.remove(...v.previousClassNames);let C=u.className?.split(/\s+/).filter((q)=>q.length>0)??[];if(v.container.classList.toggle("action-list-custom",C.length>0),C.length)v.container.classList.add(...C);if(v.previousClassNames=C,v.text.textContent=an(u.label),u.badge)v.badge.textContent=u.badge,v.badge.style.display="";else v.badge.textContent="",v.badge.style.display="none";if(u.keybinding)v.description.textContent=u.keybinding.getLabel(),v.description.style.display="inline",v.description.style.letterSpacing="0.5px";else if(u.description){if(en(v.description),typeof u.description==="string")v.description.textContent=an(u.description);else{let q=Va(u.description,{actionHandler:(Q)=>{let te=V.parse(Q);if(this._linkHandler)this._linkHandler(te,u);else this._openerService.open(te,{allowCommands:!0})}});v.elementDisposables.add(q),v.description.appendChild(q.element)}v.description.style.display="inline"}else v.description.textContent="",v.description.style.display="none";let y=this._groupTitleByIndex.get(p);if(y)v.groupTitle.textContent=y,v.groupTitle.style.display="";else v.groupTitle.textContent="",v.groupTitle.style.display="none";if(u.detail)v.detail.textContent=an(u.detail),v.detail.style.display="";else v.detail.textContent="",v.detail.style.display="none";v.container.classList.toggle("has-detail",!!u.detail),en(v.inlineToggleContainer);let I=u.standaloneToggle??u.inlineToggle;if(I){let q=document.createElement("span");if(q.className="action-list-item-inline-toggle-label",q.textContent=an(I.label),!u.standaloneToggle)v.inlineToggleContainer.append(q);v.inlineToggleContainer.style.display="",v.container.classList.toggle("has-inline-toggle",!!u.inlineToggle),v.container.classList.toggle("has-standalone-toggle",!!u.standaloneToggle);let Q=v.elementDisposables.add(new Ib({ariaLabel:I.title??I.label,checked:I.checked,disabled:I.disabled}));if(v.inlineToggleContainer.append(Q.domNode),u.standaloneToggle)v.elementDisposables.add(this._registerStandaloneToggle(u,Q));v.elementDisposables.add(Q.onChange(()=>I.onChange(Q.checked))),v.elementDisposables.add(l(v.inlineToggleContainer,x.CLICK,(te)=>te.stopPropagation()))}else v.inlineToggleContainer.style.display="none",v.container.classList.remove("has-inline-toggle"),v.container.classList.remove("has-standalone-toggle");let D=this._keybindingService.lookupKeybinding(up)?.getLabel(),T=this._keybindingService.lookupKeybinding(gp)?.getLabel();if(v.container.classList.toggle("option-disabled",!!u.disabled),u.hover!==void 0)v.container.title="";else if(u.tooltip)v.container.title=u.tooltip;else if(u.disabled)v.container.title=u.label;else if(u.standaloneToggle)v.container.title="";else if(this._hideDefaultKeybindingTooltip)v.container.title="";else if(D&&T)if(this._supportsPreview&&u.canPreview)v.container.title=e(1731,"{0} to Apply, {1} to Preview",D,T);else v.container.title=e(1732,"{0} to Apply",D);else v.container.title="";en(v.toolbar);let K=[...u.toolbarActions??[]];if(u.onRemove)K.push(xl({id:i2,label:e(1733,"Remove"),class:G.asClassName(b.close),run:async()=>{await u.onRemove(),this._onRemoveItem?.(u)}}));if(v.container.classList.toggle("has-toolbar",K.length>0),K.length>0){let q=new Di(v.toolbar);if(v.elementDisposables.add(q),this._stopToolbarPointerPropagation)v.elementDisposables.add(Kc(v.toolbar,(Q)=>{Q.preventDefault(),Q.stopPropagation()})),v.elementDisposables.add(l(v.toolbar,x.CLICK,(Q)=>Q.stopPropagation())),v.elementDisposables.add(l(v.toolbar,xt.Tap,(Q)=>Q.stopPropagation()));else v.elementDisposables.add(Kc(v.toolbar,(Q)=>Q.preventDefault()));q.push(K,{icon:!0,label:!1}),v.elementDisposables.add(this._registerToolbar(u,q))}if(jy(u))v.submenuIndicator.className="action-list-submenu-indicator has-submenu "+G.asClassName(b.chevronRight),v.submenuIndicator.style.display="",v.submenuIndicator.style.visibility="",v.elementDisposables.add(l(v.submenuIndicator,x.CLICK,(q)=>{q.stopPropagation(),this._onShowSubmenu?.(u)}));else if(this._reservesSubmenuSpace())v.submenuIndicator.className="action-list-submenu-indicator",v.submenuIndicator.style.display="",v.submenuIndicator.style.visibility="hidden";else v.submenuIndicator.className="action-list-submenu-indicator",v.submenuIndicator.style.display="none";if($y(u))v.container.setAttribute("aria-haspopup",u.hover?.expandable?"dialog":"menu"),v.container.setAttribute("aria-expanded","false");else if(v.container.removeAttribute("aria-haspopup"),!u.isSectionToggle)v.container.removeAttribute("aria-expanded")}disposeTemplate(u){u.keybinding.dispose(),u.elementDisposables.dispose()}};Eb=Tb([zs(10,ce),zs(11,Lr)],Eb);class Db extends UIEvent{constructor(){super("acceptSelectedAction")}}class Rb extends UIEvent{constructor(){super("previewSelectedAction")}}function o2(m){if(m.kind==="action")return m.label;return}var kb=Lb=class m extends n{constructor(u,p,v,C,y,I,D,T,K){super();if(this._supportsPreview=p,this._delegate=C,this._options=I,this._keybindingService=D,this._openerService=T,this._instantiationService=K,this._headerLineHeight=24,this._separatorLineHeight=8,this.cts=this._register(new Pe),this._submenuDisposables=this._register(new c),this._submenuHoverActionElements=[],this._itemMoveAnimation=this._register(new ie),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 ie),this._groupTitleByIndex=new Map,this._standaloneToggles=new Map,this._itemToolbars=new Map,this._onDidRequestLayout=this._register(new i),this.onDidRequestLayout=this._onDidRequestLayout.event,this._visibleMenuItems=v,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");if(this._options?.className){let oe=this._options.className.split(/\s+/).filter((ne)=>ne.length>0);if(oe.length>0)this.domNode.classList.add(...oe)}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";if(this._submenuContainer.tabIndex=-1,this.domNode.append(this._submenuContainer),this._register(l(this._submenuContainer,"keydown",(oe)=>{if((oe.key==="Enter"||oe.key===" ")&&this._currentSubmenuElement?.hover?.tabThroughPanel){let ae=xe(oe.target)?oe.target:void 0;if(ae&&this._currentSubmenuElement.hover.getTabbableElements?.().includes(ae)){oe.stopPropagation();return}}if(oe.key!=="ArrowLeft"&&oe.key!=="Escape")return;ye.stop(oe,!0);let ne=oe.key==="Escape"&&this._currentSubmenuWidget!==void 0;if(this._hideSubmenu(),ne){this.hide();return}this._setKeyboardNavigation(!0),this._list.domFocus()})),this._register(l(this._submenuContainer,"mouseenter",()=>{if(this._cancelSubmenuHide(),this._usesSubmenuPointerIntent())this._cancelSubmenuShow(),this._resetSubmenuPointer()})),this._register(l(this._submenuContainer,"mouseleave",()=>{this._scheduleSubmenuHide()})),this._register(l(this.domNode,x.MOUSE_LEAVE,()=>{this._cancelSubmenuShow(),this._resetSubmenuPointer()})),this._usesSubmenuPointerIntent())this._register(l(this.domNode,x.MOUSE_MOVE,(oe)=>{if(xe(oe.target)&&this._expandedTrigger?.contains(oe.target))this._updateSubmenuPointer(oe)}));if(this._register(E(()=>{this._cancelSubmenuHide(),this._cancelSubmenuShow()})),this._options?.collapsedByDefault)for(let oe of this._options.collapsedByDefault)this._collapsedSections.add(oe);let q={getHeight:(oe)=>this._getItemHeight(oe),getTemplateId:(oe)=>oe.kind},Q=()=>{let oe=this._options?.reserveSubmenuSpace??!0;return oe==="always"||oe&&this._allMenuItems.some(jy)};this._list=this._register(new or(u,this.domNode,q,[new Eb(this._supportsPreview,(oe)=>this._removeItem(oe),(oe)=>this._showSubmenuForItem(oe),Q,this._groupTitleByIndex,this._options?.linkHandler,this._options?.hideDefaultKeybindingTooltip??!1,this._options?.stopToolbarPointerPropagation??!1,(oe,ne)=>(this._standaloneToggles.set(oe,ne),E(()=>{if(this._standaloneToggles.get(oe)===ne)this._standaloneToggles.delete(oe)})),(oe,ne)=>(this._itemToolbars.set(oe,ne),this._updateToolbarFocusability(),E(()=>{if(this._itemToolbars.get(oe)===ne)this._itemToolbars.delete(oe)})),this._keybindingService,this._openerService),new zy,new Uy],{keyboardSupport:!1,typeNavigationEnabled:!this._options?.showFilter&&!this._options?.onType,keyboardNavigationLabelProvider:{getKeyboardNavigationLabel:o2},accessibilityProvider:{getAriaLabel:(oe)=>{if(oe.kind==="action"){let ne=oe.label?an(oe?.label):"";if(oe.badge)ne=ne+", "+an(oe.badge);if(oe.detail)ne=ne+", "+an(oe.detail);if(oe.ariaDescription)ne=ne+", "+an(oe.ariaDescription);else if(oe.description){let ge=typeof oe.description==="string"?oe.description:oe.description.value;ne=ne+", "+an(ge)}if(oe.hover?.content&&!oe.ariaDescription&&!oe.description){let ge=oe.hover.content,Ie=typeof ge==="string"?ge:ho(ge)?ge.value:xe(ge)?ge.textContent??void 0:void 0;if(Ie&&(!oe.detail||an(oe.detail)!==an(Ie)))ne=ne+", "+an(Ie)}if(oe.group?.title)ne=ne+", "+oe.group.title;let ae=oe.standaloneToggle??oe.inlineToggle;if(ae)ne=oe.standaloneToggle?ae.checked?e(1734,"{0}, on",ae.label):e(1735,"{0}, off",ae.label):ne+", "+(ae.checked?e(1736,"{0}, on",ae.label):e(1737,"{0}, off",ae.label));if(oe.disabled)ne=e(1738,"{0}, Disabled Reason: {1}",ne,oe.disabled);if(oe.submenuActions?.length)ne=e(1739,"{0}, use right arrow to access options",ne);return ne}return null},getWidgetAriaLabel:()=>e(1740,"Action Widget"),getSetSize:()=>this._visibleMenuItems.filter((oe)=>oe.kind==="action").length,getPosInSet:(oe,ne)=>Math.max(this._visibleMenuItems.slice(0,ne+1).filter((ae)=>ae.kind==="action").length,1),getRole:(oe)=>{switch(oe.kind){case"action":return"option";case"separator":return"separator";default:return"separator"}},getWidgetRole:()=>"listbox",...y}})),this._list.style(Yh),this._register(this._list.onKeyDown(()=>this._setKeyboardNavigation(!0))),this._register(l(this._list.getHTMLElement(),x.MOUSE_MOVE,(oe)=>{if(oe.movementX!==0||oe.movementY!==0)this._setKeyboardNavigation(!1)})),this._register(this._list.onMouseClick((oe)=>this.onListClick(oe))),this._register(this._list.onMouseOver((oe)=>{if(!this._ignoreInitialHover)this.onListHover(oe)}));let te=this._register(new ie);if(te.value=this._list.onMouseMove((oe)=>{if(oe.browserEvent.movementX!==0||oe.browserEvent.movementY!==0)te.clear(),this._ignoreInitialHover=!1,this.onListHover(oe)}),this._register(this._list.onMouseDown(()=>{te.clear(),this._ignoreInitialHover=!1,this._setKeyboardNavigation(!1)})),this._register(this._list.onDidChangeFocus(()=>{this._updateToolbarFocusability(),this.onFocus()})),this._register(this._list.onDidChangeSelection((oe)=>this.onListSelection(oe))),this._register(this._list.onDidScroll(()=>{if(!this._isMeasuringWidth)this._layoutSubmenu?.()})),this._allMenuItems=[...v],this._options?.showFilter||this._options?.secondaryHeading){this._filterContainer=document.createElement("div"),this._filterContainer.className="action-list-filter";let oe=w(this._filterContainer,g(".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??e(1741,"Search..."),this._filterInput.value=this._filterText,this._filterInput.setAttribute("aria-label",e(1742,"Filter items")),oe.appendChild(this._filterInput),this._register(l(this._filterInput,x.KEY_DOWN,(ge)=>{if(this._setKeyboardNavigation(!0),ge.isComposing||!this._filterInput?.closest(".action-list-submenu-panel"))return;let Ie=this._keybindingService.softDispatch(new We(ge),this._filterInput);if(Ie.kind===2&&Ie.commandId!==null&&t2.has(Ie.commandId)||ge.key.length===1&&!ge.ctrlKey&&!ge.metaKey&&!ge.altKey)ge.stopPropagation()})),this._register(l(this._filterInput,x.MOUSE_DOWN,()=>this._setKeyboardNavigation(!1))),this._options.tabThroughItemActions)this._register(l(this._filterInput,"keydown",(ge)=>this._handleTabThroughPanelKeyDown(ge),!0));if(this._options.filterAsCombobox){let ge=this._list.getHTMLElement();ge.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",ge.id),this._register(this._list.onDidChangeFocus(()=>this._updateFilterActiveDescendant())),this._register(l(this._filterInput,"focus",()=>this._updateFilterActiveDescendant())),this._register(l(this._filterInput,"blur",()=>this._updateFilterActiveDescendant())),this._register(mt(this._filterInput,"keydown",(Ie)=>{if(this._imeSessionInProgress||Ie.browserEvent.isComposing||Ie.keyCode===114||Ie.keyCode===15||Ie.keyCode===17||Ie.keyCode===14||Ie.keyCode===13){Ie.stopPropagation();return}let Oe=Ie.keyCode===16||Ie.keyCode===18;if(!Oe&&Ie.keyCode!==3)return;if(Ie.ctrlKey||Ie.metaKey||Ie.altKey||Ie.shiftKey){if(Oe)Ie.stopPropagation();return}if(ye.stop(Ie,!0),Ie.keyCode===16)this.focusPrevious();else if(Ie.keyCode===18)this.focusNext();else this.acceptSelected()}))}let ne=this._options?.filterActions??[];if(ne.length>0){let ge=w(oe,g(".action-list-filter-actions"));this._register(new Di(ge)).push(ne,{icon:!0,label:!1})}let ae=()=>{let ge=this._filterInput.value;if(this._imeSessionInProgress||ge===this._filterText&&!this._filterCts.value?.token.isCancellationRequested)return;this._filterText=ge,this._applyOrUpdateFilter()};this._register(l(this._filterInput,"compositionstart",()=>{this._imeSessionInProgress=!0,this._filterCts.value?.cancel()})),this._register(l(this._filterInput,"compositionend",()=>{this._imeSessionInProgress=!1,ae()})),this._register(l(this._filterInput,"input",ae))}if(this._options?.secondaryHeading){let ne=w(oe,g(".action-list-filter-label"));ne.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;if(this._options?.headerText){if(this._headerContainer=document.createElement("div"),this._headerContainer.className="action-list-header",this._options.headerIcon){let ne=w(this._headerContainer,g("span.action-list-header-icon"));ne.classList.add(...G.asClassNameArray(this._options.headerIcon)),ne.setAttribute("aria-hidden","true")}let oe=w(this._headerContainer,g("span.action-list-header-text"));if(oe.textContent=this._options.headerText,this._register(l(this._headerContainer,x.MOUSE_ENTER,()=>{if(this._options?.persistentHover)this._cancelSubmenuShow(),this._resetSubmenuPointer();else this._hideSubmenu()})),this._options.headerLink){let{label:ne,uri:ae}=this._options.headerLink;oe.textContent+=" ",this._register(this._instantiationService.createInstance(Ud,oe,{label:ne,href:ae.toString(!0)},{}))}if(this._options.headerDismiss){let ne=this._options.headerDismiss,ae=w(this._headerContainer,g("span.action-list-header-dismiss"));ae.appendChild(g(G.asCSSSelector(b.close))),ae.tabIndex=0,ae.setAttribute("role","button"),ae.setAttribute("aria-label",e(1743,"Dismiss"));let ge=()=>{ne(),this.focus(),this._headerContainer?.remove(),this._headerContainer=void 0,this._onDidRequestLayout.fire()};this._register(bv(ae,()=>ge())),this._register(l(ae,x.KEY_DOWN,(Ie)=>{if(Ie.key==="Enter"||Ie.key===" ")Ie.preventDefault(),ge()}))}}if(this._applyFilter(),this._list.length)this._focusCheckedOrFirst();if(this._register(l(this.domNode,"keydown",(oe)=>{if(oe.key==="ArrowRight"&&!oe.isComposing){let ne=this._list.getFocus();if(ne.length>0){let ae=this._list.element(ne[0]);if(ae?.submenuActions?.length||ae?.hover?.expandable){ye.stop(oe,!0);let ge=this._getRowElement(ne[0]);if(ge)if(this._showSubmenuForElement(ae,ge),ae.hover?.tabThroughPanel)this._focusFirstTabThroughPanelControl(ae,ge);else if(this._currentSubmenuWidget)this._currentSubmenuWidget.focus();else this._submenuContainer.focus()}}}})),this._register(l(this.domNode,"keydown",(oe)=>this._handleTabThroughPanelKeyDown(oe),!0)),this._filterInput||this._options?.onType)this._register(l(this.domNode,"keydown",(oe)=>{let ne=oe.target;if((this._options?.onType||this._options?.filterAsCombobox)&&xe(ne)&&(ko(ne)||ne.closest('button, a, [contenteditable="true"], .action-list-submenu-panel')))return;if((!this._filterInput||!ds(this._filterInput))&&!oe.isComposing&&oe.key.length===1&&oe.key!==" "&&!oe.ctrlKey&&!oe.metaKey&&!oe.altKey)if(oe.preventDefault(),oe.stopPropagation(),this._filterInput)this._filterInput.focus(),this._filterInput.value=oe.key,this._filterText=oe.key,this._applyOrUpdateFilter();else this._options?.onType?.(oe.key)}))}_toggleSection(u){let p=this._collapsedSections.has(u);if(p)this._collapsedSections.delete(u);else{this._collapsedSections.add(u);let v=this.getFocusedElement();if(v?.section===u&&!v.isSectionToggle){let C=this._visibleMenuItems.findIndex((y)=>y.section===u&&y.isSectionToggle);if(C>=0)this._list.setFocus([C])}}if(this._options?.onDidToggleSection?.(u,this._collapsedSections.has(u)),this._applyFilter(),p)this._revealFirstItemOfSection(u)}_revealFirstItemOfSection(u){for(let p=0;p<this._list.length;p++){let v=this._list.element(p);if(v.section===u&&!v.isSectionToggle){this._list.reveal(p);return}}}_applyOrUpdateFilter(){if(!this._delegate.onFilter){this._applyFilter();return}let u=this._filterText;this._filterCts.value?.cancel();let p=new Pe;this._filterCts.value=p,this._delegate.onFilter(u,p.token).then((v)=>{if(p.token.isCancellationRequested)return;this._allMenuItems=[...v],this._applyFilter(!0)}).catch(()=>{}).finally(()=>{if(this._filterCts.value===p&&!p.token.isCancellationRequested)this._filterCts.clear()})}_applyFilter(u=!1,p=!0,v){this._itemMoveAnimation.clear();let C=u?"":this._filterText.toLowerCase(),y=!u&&C.length>0,I=[],D=this._list.getFocus(),T;if(D.length>0)T=this._list.element(D[0]);if(y){let ae,ge=[],Ie=!1,ke=()=>{if(ae&&Ie)I.push(ae);I.push(...ge),ae=void 0,ge=[],Ie=!1},Oe=(Ve)=>{let Ue=(Ve.label??"").toLowerCase(),Le=typeof Ve.description==="string"?Ve.description:Ve.description?.value??"";return Ue.includes(C)||Le.toLowerCase().includes(C)};for(let Ve of this._allMenuItems){if(Ve.kind==="header")continue;if(Ve.kind==="separator"){ke(),ae=Ve.label?Ve:void 0;continue}if(Ve.showAlways){ge.push(Ve);continue}if(Ve.isSectionToggle)continue;if(Ve.filterItems){let Ue=Oe(Ve)?Ve.filterItems:Ve.filterItems.filter(Oe);if(Ue.length>0)Ie=!0,ge.push(...Ue);continue}if(Oe(Ve))Ie=!0,ge.push(Ve)}ke()}else for(let ae of this._allMenuItems){if(ae.kind==="header"){I.push(ae);continue}if(ae.kind==="separator"){if(ae.section&&this._collapsedSections.has(ae.section))continue;I.push(ae);continue}if(ae.isSectionToggle&&ae.section){let ge=this._collapsedSections.has(ae.section);I.push({...ae,group:{...ae.group,icon:ge?b.chevronRight:b.chevronDown}});continue}if(ae.section&&this._collapsedSections.has(ae.section))continue;I.push(ae)}let K=[],q=!1;for(let ae=0;ae<I.length;ae++)if(K[ae]=q,I[ae].kind==="action")q=!0;let Q=[],te=!1;for(let ae=I.length-1;ae>=0;ae--){if(I[ae].kind==="action"){te=!0;continue}if(I[ae].kind!=="separator")continue;Q[ae]=te,te=!1}for(let ae=I.length-1;ae>=0;ae--){let ge=I[ae];if(ge.kind!=="separator")continue;let Ie=Q[ae],ke=!ge.label&&!K[ae];if(!Ie||ke)I.splice(ae,1)}if(this._options?.showGroupTitleOnFirstItem)this._recomputeGroupTitles(I);let oe=this._filterInput&&ds(this._filterInput),ne=Jc(this._list.getHTMLElement());if(this._visibleMenuItems=I,this._list.splice(0,this._list.length,I),p)this._onDidRequestLayout.fire();if(oe)this._filterInput?.focus(),this._focusCheckedOrFirst();else if(this._hasLaidOut){if(T||v){let ae=v??T?.item?.id;if(ae){for(let ge=0;ge<this._list.length;ge++)if(this._list.element(ge).item?.id===ae){this._list.setFocus([ge]),this._list.reveal(ge);break}if(ne)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(u){return!u.disabled&&u.kind==="action"}_setKeyboardNavigation(u){if(this._keyboardNavigation===u)return;this._keyboardNavigation=u;let p=this._list.getHTMLElement();p.classList.toggle("keyboard-navigation",u===!0),p.classList.toggle("mouse-navigation",u===!1)}_updateFilterActiveDescendant(){if(!this._filterInput)return;let[u]=this._list.getFocus();if(ds(this._filterInput)&&u!==void 0)this._filterInput.setAttribute("aria-activedescendant",this._list.getElementID(u));else this._filterInput.removeAttribute("aria-activedescendant")}focus(){if(this._setKeyboardNavigation(void 0),this._filterInput&&this._options?.focusFilterOnOpen){this._filterInput.focus(),this._focusCheckedOrFirst();return}this._list.domFocus(),this._focusCheckedOrFirst(),this._showTabThroughPanelForFocusedItem()}clearFocus(){this._list.setFocus([])}getFocusedElement(){let u=this._list.getFocus();if(u.length>0)return this._list.element(u[0]);return}_updateToolbarFocusability(){if(!this._options?.tabThroughItemActions)return;let[u]=this._list.getFocus(),p=u!==void 0&&u<this._list.length?this._list.element(u):void 0;for(let[v,C]of this._itemToolbars)C.setFocusable(v===p)}_focusCheckedOrFirst(){let u=this._suppressHover;this._suppressHover=!0;try{let p=this._initialFocusItemId;if(this._initialFocusItemId=void 0,p)for(let y=0;y<this._list.length;y++){let I=this._list.element(y);if(this.focusCondition(I)&&I.item?.id===p){this._list.setFocus([y]),this._list.reveal(y);return}}let[v]=this._list.getFocus();if(v!==void 0){let y=this._list.element(v);if(y&&this.focusCondition(y)){this._list.reveal(v);return}}for(let y=0;y<this._list.length;y++){let I=this._list.element(y);if(this.focusCondition(I)&&I.item?.checked){this._list.setFocus([y]),this._list.reveal(y);return}}this._list.focusFirst(void 0,this.focusCondition);let C=this._list.getFocus();if(C.length>0)this._list.reveal(C[0])}finally{if(this._suppressHover=u,this._options?.filterAsCombobox)this._updateFilterActiveDescendant()}}hide(u){this._delegate.onHide(u),this.cts.cancel(),this._filterCts.value?.cancel(),this._filterCts.clear(),this._hideSubmenu()}clearFilter(){if(this._filterInput&&this._filterText)return this._filterInput.value="",this._filterText="",this._applyOrUpdateFilter(),!0;return!1}get hasDynamicHeight(){if(this._options?.showFilter)return!0;return this._allMenuItems.some((u)=>u.isSectionToggle)}get lineHeight(){return this._actionLineHeight}_getItemHeight(u){return this._itemHeightWith(u,this._options)}_itemHeightWith(u,p){switch(u.kind){case"header":return this._headerLineHeight;case"separator":return u.label?this._actionLineHeight:this._separatorLineHeight;default:if(u.inlineToggle)return p?.inlineToggleItemHeight??70;return u.detail?p?.detailItemHeight??48:this._actionLineHeight}}computeFullHeight(){return this.computeHeightForItems(this._allMenuItems,void 0,this._options)}computeHeightForItems(u,p,v){let C=0;for(let y of u){if(p&&y.section&&!y.isSectionToggle&&p.has(y.section))continue;C+=this._itemHeightWith(y,v)}return C}computeListHeight(){let u=this._list.length,p=0;for(let v=0;v<u;v++){let C=this._list.element(v);p+=this._getItemHeight(C)}return p}layout(u,p){this._hasLaidOut=!0,this._list.layout(u,p),this.domNode.style.height=`${u}px`;let v=this.domNode.parentElement;if(v&&this._filterContainer?.parentElement===v)v.insertBefore(this._filterContainer,this.domNode);this._layoutSubmenu?.()}computeMaxWidth(u){let p=this._list.length,v=Math.max(u,this._options?.minWidth??0),C=this._options?.maxWidth??Number.POSITIVE_INFINITY,y=Math.max(C,v),I=(q)=>Math.min(Math.max(q,v),y),D=this._allMenuItems.length;if(D>=50)return I(380);if(D>p){let q=[];for(let ae=0;ae<p;ae++)q.push(this._list.element(ae));let Q=this._list.renderHeight,te=this._list.scrollTop,oe=this._list.getFocus(),ne=this._isMeasuringWidth;this._isMeasuringWidth=!0;try{let ae=[...this._allMenuItems];this._list.splice(0,p,ae);let ge=0;for(let ke of ae)ge+=this._getItemHeight(ke);this._list.layout(ge);let Ie=this._measureItemWidths(ae);return I(Math.max(...Ie))}finally{try{this._list.splice(0,this._list.length,q),this._list.layout(Q),this._list.scrollTop=te;let ae=this._suppressHover;this._suppressHover=!0;try{this._list.setFocus(oe)}finally{this._suppressHover=ae}}finally{this._isMeasuringWidth=ne}}}let T=[];for(let q=0;q<p;q++)T.push(this._list.element(q));let K=this._measureItemWidths(T);return I(Math.max(...K))}focusPrevious(){if(this._setKeyboardNavigation(!0),this._focusFilterResult("previous"))return;if(this._filterInput&&ds(this._filterInput)){this._list.domFocus();let v=this._list.getFocus();if(v.length>0){this._list.focusPrevious(1,!1,void 0,this.focusCondition);let C=this._list.getFocus();if(C.length>0&&C[0]>=v[0])this._filterInput.focus();else if(C.length>0)this._list.reveal(C[0])}else{this._list.focusLast(void 0,this.focusCondition);let C=this._list.getFocus();if(C.length>0)this._list.reveal(C[0])}return}let u=this._list.getFocus();this._list.focusPrevious(1,!0,void 0,this.focusCondition);let p=this._list.getFocus();if(p.length>0){if(this._filterInput&&u.length>0&&p[0]>u[0]){this._list.setFocus([]),this._filterInput.focus();return}this._list.reveal(p[0])}}focusNext(){if(this._setKeyboardNavigation(!0),this._focusFilterResult("next"))return;if(this._filterInput&&ds(this._filterInput)){if(this._list.domFocus(),this._list.getFocus().length>0){this._list.focusNext(1,!1,void 0,this.focusCondition);let C=this._list.getFocus();if(C.length>0)this._list.reveal(C[0])}else{this._list.focusFirst(void 0,this.focusCondition);let C=this._list.getFocus();if(C.length>0)this._list.reveal(C[0])}return}let u=this._list.getFocus();this._list.focusNext(1,!0,void 0,this.focusCondition);let p=this._list.getFocus();if(p.length>0){if(this._filterInput&&u.length>0&&p[0]<u[0]){this._list.setFocus([]),this._filterInput.focus();return}this._list.reveal(p[0])}}_focusFilterResult(u){if(!this._options?.filterAsCombobox||!this._filterInput||!ds(this._filterInput))return!1;if(u==="previous")this._list.focusPrevious(1,!0,void 0,this.focusCondition);else this._list.focusNext(1,!0,void 0,this.focusCondition);let[p]=this._list.getFocus();if(p!==void 0)this._list.reveal(p);return!0}collapseFocusedSection(){let u=this._getFocusedSection();if(u&&!this._collapsedSections.has(u))this._toggleSection(u)}expandFocusedSection(){let u=this._getFocusedSection();if(u&&this._collapsedSections.has(u))this._toggleSection(u)}toggleFocusedSection(){let u=this._list.getFocus();if(u.length===0)return!1;let p=this._list.element(u[0]);if(p.isSectionToggle&&p.section)return this._toggleSection(p.section),!0;return!1}_getFocusedSection(){let u=this._list.getFocus();if(u.length===0)return;let p=this._list.element(u[0]);if(p.isSectionToggle&&p.section)return p.section;return p.section}acceptSelected(u){let p=this._list.getFocus();if(p.length===0)return;let v=p[0],C=this._list.element(v);if(!this.focusCondition(C))return;let y=u?new Rb:new Db;this._list.setSelection([v],y)}onListSelection(u){if(!u.elements.length)return;let p=u.elements[0];if(p.standaloneToggle){this._list.setSelection([]);let C=this._standaloneToggles.get(p);if(C&&!C.disabled)C.checked=!C.checked,p.standaloneToggle.onChange(C.checked);return}if(p.isSectionToggle&&p.section){this._list.setSelection([]);let C=p.section;queueMicrotask(()=>{this._toggleSection(C)});return}let v=Lh(u.browserEvent)||u.browserEvent?.type===xt.Tap;if(v){let C=u.browserEvent.target;if(xe(C)&&(C.closest(".action-list-item-toolbar")||C.closest(".action-list-submenu-indicator")||C.closest(".action-list-item-inline-toggle"))){this._list.setSelection([]);return}}if(p.openSubmenuOnClick&&p.submenuActions?.length&&(v||u.browserEvent instanceof Db)){if(this._list.setSelection([]),this._showSubmenuForItem(p),!v)this._currentSubmenuWidget?.focus();return}if(p.item&&this.focusCondition(p)){let C=u.browserEvent instanceof Rb;this._delegate.onSelect(p.item,C&&this._supportsPreview)}else this._list.setSelection([])}onFocus(){let u=this._list.getFocus();if(u.length===0)return;let p=u[0],v=this._list.element(p);if(this._delegate.onFocus?.(v.item),!this._suppressHover){if(this._options?.persistentHover)this._cancelSubmenuShow(),this._resetSubmenuPointer(),this._list.reveal(p);this._showHoverForElement(v,p)}}_removeItem(u){let p=this._allMenuItems.indexOf(u);if(p>=0)this._allMenuItems.splice(p,1),this._applyFilter()}_recomputeGroupTitles(u){this._groupTitleByIndex.clear();let p=new Set;for(let v=0;v<u.length;v++){let C=u[v];if(C.kind==="action"&&C.group?.title&&!p.has(C.group.title))p.add(C.group.title),this._groupTitleByIndex.set(v,C.group.title)}}_measureItemWidths(u){let p=[];for(let v=0;v<u.length;v++){let C=this._getRowElement(v);if(C)C.style.width="auto",p.push({element:C,item:u[v]})}try{return p.map(({element:v,item:C})=>v.getBoundingClientRect().width+(C.detail?0:this._computeToolbarWidth(C)))}finally{for(let{element:v}of p)v.style.width=""}}_computeToolbarWidth(u){let p=u.toolbarActions?.length??0;if(u.onRemove)p++;if(p===0)return 0;return p*22+6+10}_getRowElement(u){if(u<0)return null;return this.domNode.ownerDocument.getElementById(this._list.getElementID(u))}_showTabThroughPanelForFocusedItem(){let u=this._list.getFocus();if(u.length===0)return;let p=u[0],v=this._list.element(p);if(!v.hover?.tabThroughPanel)return;let C=this._getRowElement(p);if(C)this._showSubmenuForElement(v,C)}_getTabThroughPanelControls(u,p){if(u.hover?.tabThroughPanel&&this._currentSubmenuElement!==u)this._showSubmenuForElement(u,p);return{toolbar:this._itemToolbars.get(u),panelControls:[...u.hover?.getTabbableElements?.()??[],...this._submenuHoverActionElements]}}_focusFirstTabThroughPanelControl(u,p){let v=this._getTabThroughPanelControls(u,p);if(v.toolbar?.length())v.toolbar.focus(0);else(v.panelControls[0]??this._list.getHTMLElement()).focus()}_handleTabThroughPanelKeyDown(u){if(u.isComposing)return;let p=this._list.getFocus();if(p.length===0)return;let v=p[0],C=this._list.element(v);if(!C.hover?.tabThroughPanel&&!this._options?.tabThroughItemActions)return;let y=this._getRowElement(v),I=Lt();if(!y||!xe(I))return;let D=this._getTabThroughPanelControls(C,y),T=D.toolbar?.isFocused()??!1,K=this._submenuContainer.contains(I);if((u.key==="ArrowUp"||u.key==="ArrowDown")&&(T||K)){if(ye.stop(u,!0),this._list.domFocus(),u.key==="ArrowUp")this.focusPrevious();else this.focusNext();return}if(u.key!=="Tab"||u.ctrlKey||u.metaKey||u.altKey)return;let q;if(u.shiftKey){if(K){let Q=D.panelControls.indexOf(I);if(Q>0)q=D.panelControls[Q-1];else if(D.toolbar?.length()){ye.stop(u,!0),D.toolbar.focus(D.toolbar.length()-1);return}else q=this._list.getHTMLElement()}else if(D.toolbar?.isFocused()){let Q=D.toolbar.viewItems.findIndex((te,oe)=>D.toolbar?.isFocused(oe));if(Q>0){ye.stop(u,!0),D.toolbar.focus(Q-1);return}q=this._options?.filterAsCombobox?this._filterInput:this._list.getHTMLElement()}}else if(I===this._list.getHTMLElement()||I===this._filterInput){if(D.toolbar?.length()){ye.stop(u,!0),D.toolbar.focus(0);return}q=D.panelControls[0]}else if(D.toolbar?.isFocused()){let Q=D.toolbar.viewItems.findIndex((te,oe)=>D.toolbar?.isFocused(oe));if(Q+1<D.toolbar.length()){ye.stop(u,!0),D.toolbar.focus(Q+1);return}q=D.panelControls[0]}else{let Q=D.panelControls.indexOf(I);if(Q>=0)q=D.panelControls[Q+1]??this._list.getHTMLElement()}if(q)ye.stop(u,!0),q.focus()}_showHoverForElement(u,p){if(this._currentSubmenuElement===u)return;let v=!!u.hover?.content,C=!!u.submenuActions?.length;if(v||C){let y=this._getRowElement(p);if(y)this._showSubmenuForElement(u,y);return}if(!this._options?.persistentHover)this._hideSubmenu()}_showSubmenuForItem(u){let p=this._list.indexOf(u);if(p>=0){let v=this._getRowElement(p);if(v)this._showSubmenuForElement(u,v)}}_showSubmenuForElement(u,p){if(!this._hoverEnabled||this._currentSubmenuElement===u)return;if(this._currentSubmenuElement=u,this._clearSubmenuContainer(),p.setAttribute("aria-expanded","true"),this._expandedTrigger=p,this._submenuPanelClassName=u.hover?.panelClassName,this._submenuPanelClassName)this._submenuContainer.classList.add(this._submenuPanelClassName);let v=u.hover?.preserveVerticalPosition,C=!!u.submenuActions?.length,y=v?g(".action-list-submenu-content"):this._submenuContainer,I=v?g(".action-list-submenu-viewport",void 0,y):void 0,D=I&&!C?this._submenuDisposables.add(new Ba(I,{horizontal:2,vertical:1,consumeMouseWheelIfScrollbarIsNeeded:!0,useShadows:!1})):void 0;if(D&&I)this._submenuContainer.appendChild(D.getDomNode()),this._submenuDisposables.add(l(I,x.SCROLL,()=>D.scanDomNode())),this._submenuDisposables.add(l(this._submenuContainer,x.KEY_DOWN,(Ie)=>{let ke=new We(Ie);if(ke.equals(12)||ke.equals(11))ye.stop(Ie,!0),D.setScrollPosition({scrollTop:D.getScrollPosition().scrollTop+(ke.equals(12)?1:-1)*I.clientHeight})}));else if(I)this._submenuContainer.appendChild(I);let T,K=typeof u.hover?.content==="function"?u.hover.content():u.hover?.content;if(K){if(xe(K)){if(T=K,u.hover?.disposable)this._register(u.hover.disposable)}else{let Ie=typeof K==="string"?new xn(K):K,ke=this._options?.linkHandler,Oe=Va(Ie,{actionHandler:(Ve)=>{let Ue=V.parse(Ve);if(ke)ke(Ue,u);else this._openerService.open(Ue,{allowCommands:!0})}});this._submenuDisposables.add(Oe),T=Oe.element}if(T.classList.add("action-list-submenu-hover-header"),T.classList.toggle("content-owns-padding",u.hover?.contentOwnsPadding===!0),u.submenuActions?.length)T.classList.add("has-submenu");y.appendChild(T)}if(u.hover?.actions?.length){let Ie=g(".hover-row.status-bar"),ke=w(Ie,g(".actions"));for(let Oe of u.hover.actions){let Ve=this._keybindingService.lookupKeybinding(Oe.commandId),Ue=this._submenuDisposables.add(Gh.render(ke,{label:Oe.label,commandId:Oe.commandId,run:(Le)=>Oe.run(Le),iconClass:Oe.iconClass},Ve?.getLabel()??null));this._submenuHoverActionElements.push(Ue.actionContainer)}this._submenuContainer.appendChild(Ie)}if(this._submenuContainer.style.display="",this._submenuContainer.style.position="absolute",u.hover?.expandable){if(this._submenuContainer.setAttribute("role","dialog"),u.label)this._submenuContainer.setAttribute("aria-label",u.label)}else this._submenuContainer.removeAttribute("role");let q=F(this.domNode),Q=0,te=T?T.offsetWidth:0,oe;if(C){let Ie=this._createSubmenuItems(u.submenuActions),ke={onHide:()=>{},onSelect:(Ue)=>{Ue.run();let Le=this._currentSubmenuElement?.item;if(this._hideSubmenu(),Le)this._delegate.onSelect(Le);this.hide()}},Oe=this._submenuDisposables.add(this._instantiationService.createInstance(Lb,"submenu",!1,Ie,ke,void 0,u.submenuOptions));if(oe=Oe,Oe.headerContainer)y.appendChild(Oe.headerContainer);if(Oe.filterContainer)y.appendChild(Oe.filterContainer);if(y.appendChild(Oe.domNode),Oe.footerContainer)y.appendChild(Oe.footerContainer);this._currentSubmenuWidget=Oe,Oe.clearFocus(),Q=Oe.computeListHeight(),Oe.layout(Q);let Ve=Oe.computeMaxWidth(0);if(te=Math.max(te,Ve,Oe.footerContainer?.offsetWidth??0),Oe.layout(Q,te),Oe.domNode.style.width=`${te}px`,u.submenuOptions)this._submenuContainer.style.boxSizing="border-box",this._submenuContainer.style.width=`${te+10}px`;this._submenuDisposables.add(Oe.onDidRequestLayout(()=>{Q=Oe.computeListHeight(),Oe.layout(Q,te),this._layoutSubmenu?.()})),this._submenuDisposables.add(l(y,"keydown",(Ue)=>{if(Ue.key==="Escape")ye.stop(Ue,!0),this._hideSubmenu(),this.hide();else if(Ue.key==="ArrowLeft")ye.stop(Ue,!0),this._hideSubmenu(),this._setKeyboardNavigation(!0),this._list.domFocus();else if(Ue.key==="Enter"||Ue.key===" ")ye.stop(Ue,!0),Oe.acceptSelected();else if(Ue.key==="ArrowDown")ye.stop(Ue,!0),Oe.focusNext();else if(Ue.key==="ArrowUp")ye.stop(Ue,!0),Oe.focusPrevious()}))}let ne,ae,ge=()=>{let Ie=this._currentSubmenuElement;if(!Ie||this._layoutSubmenu!==ge)return;let ke=this._list.indexOf(Ie),Oe=ke>=0?this._getRowElement(ke):null,Ve=this._options?.persistentHover;if(!Oe&&(!Ve||!this._allMenuItems.includes(Ie))){this._hideSubmenu();return}if(this._expandedTrigger!==Oe){if(this._expandedTrigger?.hasAttribute("aria-expanded"))this._expandedTrigger.setAttribute("aria-expanded","false");this._expandedTrigger=Oe??void 0}Oe?.setAttribute("aria-expanded","true");let Ue=this.domNode.getBoundingClientRect(),Le=Ve||Ie.hover?.alignToParent,He=Le?this.domNode.parentElement?.closest(".action-widget")?.getBoundingClientRect()??Ue:Ue,Je=Oe?.getBoundingClientRect()??He,tt=Le||v?xg(this.domNode):1;if(Ve)this._submenuContainer.style.width=`${He.width/tt}px`;let ot=this._submenuContainer.getBoundingClientRect(),qe=Le?ot.width:te+10,nt=q.innerWidth-(Le?He.right:Je.right),ft=He.left,st=Le?0:4,vt=4;if(!Le){let ui=q.innerWidth-2*vt;if(qe>ui)qe=Math.max(ui,0);this._submenuContainer.style.boxSizing="border-box",this._submenuContainer.style.width=`${qe}px`}let lt=nt>=qe||nt>=ft;if(Ve&&this._submenuSide&&(this._submenuSide==="right"?nt:ft)>=qe)lt=this._submenuSide==="right";if(Ve)this._submenuSide=lt?"right":"left";let di=lt?He.right-Ue.left+st:He.left-Ue.left-qe-st,_t=Ue.left+di;if(_t<vt)di+=vt-_t;else if(_t+qe>q.innerWidth-vt)di-=_t+qe-(q.innerWidth-vt);this._submenuContainer.style.left=`${di/tt}px`;let Et=ot.height;if(v)ne??=Et/tt;let hi=ne!==void 0?ne*tt:Et,Kt=ae!==void 0?ae*tt:Oe&&Ie.hover?.alignToAnchorTop?Je.top-Ue.top:Oe?Je.top-Ue.top+(Je.height-hi)/2:ot.top-Ue.top;if(v&&Ie.hover?.alignToAnchorTop&&I&&oe){let ui=ot.height-I.getBoundingClientRect().height,ci=(oe.headerContainer?.offsetHeight??0)+(oe.filterContainer?.offsetHeight??0)+(oe.footerContainer?.offsetHeight??0),zt=ui+(ci+Q)*tt;Kt=Math.min(Kt,q.innerHeight-Ue.top-zt-8)}let Pt=Ue.top+Kt+hi;if(Pt>q.innerHeight&&!(v&&Ie.hover?.alignToAnchorTop))Kt-=Pt-q.innerHeight+8;if(Ue.top+Kt<0)Kt=-Ue.top;if(v)ae??=Kt/tt;if(I&&D){let ui=(ot.height-D.getDomNode().getBoundingClientRect().height)/tt,ci=Math.max(0,(q.innerHeight-Ue.top-Kt-8)/tt-ui);I.style.height=`${Math.min(y.getBoundingClientRect().height/tt,ci)}px`,D.scanDomNode()}else if(I&&oe){let ui=(ot.height-I.getBoundingClientRect().height)/tt,ci=Math.max(0,(q.innerHeight-Ue.top-Kt-8)/tt-ui),zt=(oe.headerContainer?.offsetHeight??0)+(oe.filterContainer?.offsetHeight??0)+(oe.footerContainer?.offsetHeight??0),zi=Q===0?0:Math.max(this._actionLineHeight,Math.min(Q,ci-zt));oe.layout(zi,te),I.style.height=`${zt+zi}px`}this._submenuContainer.style.top=`${Kt/tt}px`};if(this._layoutSubmenu=ge,ge(),(this._options?.persistentHover||u.hover?.alignToParent||u.hover?.tabThroughPanel||v)&&this._currentSubmenuElement===u){if(!oe){let Ie=this._submenuDisposables.add(new ie),ke=this._submenuDisposables.add(new wv("ActionListWidget.hoverPanel",()=>{if(!Ie.value)Ie.value=ii(q,()=>{Ie.clear(),ge()})},q));this._submenuDisposables.add(ke.observe(v?y:this._submenuContainer,{box:"border-box"}))}if(this._options?.persistentHover||v)this._submenuDisposables.add(l(q,x.RESIZE,()=>{this._cancelSubmenuShow(),this._resetSubmenuPointer(),ge()}))}}_createSubmenuItems(u){let p=[],C=u.filter((y)=>y instanceof Wo).filter((y)=>y.actions.length>0);for(let y=0;y<C.length;y++){let I=C[y];if(I.label)p.push({kind:"header",group:{title:I.label},label:I.label});for(let D of I.actions){let T=D,K=T.icon??G.fromId(D.checked?b.check.id:b.blank.id),q=T.hoverContent,Q=q?new xn().appendText(`${D.label}
|
|
3
|
-
`).appendMarkdown(q):void 0;p.push({item:D,kind:"action",label:D.label,description:D.tooltip&&D.tooltip!==D.label?D.tooltip:void 0,group:{title:"",icon:K},hideIcon:!1,hover:Q?{content:Q}:void 0,tooltip:D.tooltip||D.label,onRemove:T.onRemove,submenuActions:D instanceof Wo?[new Wo(D.id,"",D.actions)]:void 0})}if(y<C.length-1)p.push({kind:"separator",label:""})}for(let y of u)if(!(y instanceof Wo)){let I=y,D=I.icon??G.fromId(y.checked?b.check.id:b.blank.id),T=I.hoverContent,K=T?new xn().appendText(`${y.label}
|
|
4
|
-
`).appendMarkdown(T):void 0;p.push({item:y,kind:"action",label:y.label,description:y.tooltip&&y.tooltip!==y.label?y.tooltip:void 0,group:{title:"",icon:D},hideIcon:!1,hover:K?{content:K}:void 0,tooltip:y.tooltip||y.label,onRemove:I.onRemove})}return p}_hideSubmenu(){this._cancelSubmenuHide(),this._cancelSubmenuShow(),this._currentSubmenuElement=void 0,this._submenuSide=void 0,this._clearSubmenuContainer(),this._submenuContainer.style.display="none"}_clearSubmenuContainer(){if(this._layoutSubmenu=void 0,this._resetSubmenuPointer(),this._submenuContainer.contains(Lt()))this._list.domFocus();if(this._submenuDisposables.clear(),this._currentSubmenuWidget=void 0,this._submenuHoverActionElements=[],this._submenuPanelClassName)this._submenuContainer.classList.remove(this._submenuPanelClassName),this._submenuPanelClassName=void 0;if(this._submenuContainer.removeAttribute("role"),this._submenuContainer.removeAttribute("aria-label"),this._expandedTrigger?.hasAttribute("aria-expanded"))this._expandedTrigger.setAttribute("aria-expanded","false");this._expandedTrigger=void 0,en(this._submenuContainer),this._submenuContainer.style.width="",this._submenuContainer.style.boxSizing=this._options?.persistentHover?"border-box":""}_scheduleSubmenuHide(){if(this._cancelSubmenuHide(),this._options?.persistentHover)return;this._submenuHideTimeout=setTimeout(()=>{this._hideSubmenu()},300)}_cancelSubmenuHide(){if(this._submenuHideTimeout!==void 0)clearTimeout(this._submenuHideTimeout),this._submenuHideTimeout=void 0}_scheduleSubmenuShow(u,p){this._cancelSubmenuShow();let v=this._options?.submenuHoverDelay??500;if(this._usesSubmenuPointerIntent()){v=0;let y=this._submenuPointerOrigin;if(y&&p.clientX!==y.x&&this._currentSubmenuElement&&new ak(y.x,y.y,this._submenuContainer).contains(p.clientX,p.clientY)){let I=Date.now();this._submenuPointerGraceDeadline??=I+200,v=Math.max(0,this._submenuPointerGraceDeadline-I)}}let C=()=>{this._submenuShowTimeout=void 0;let y=this._list.indexOf(u),I=y>=0?this._getRowElement(y):null;if(I){if(this._showSubmenuForElement(u,I),this._usesSubmenuPointerIntent())this._updateSubmenuPointer(p)}};if(v===0)C();else this._submenuShowTimeout=setTimeout(C,v)}_updateSubmenuPointer(u){this._submenuPointerOrigin={x:u.clientX,y:u.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(){if(this._submenuShowTimeout!==void 0)clearTimeout(this._submenuShowTimeout),this._submenuShowTimeout=void 0}async onListHover(u){this._setKeyboardNavigation(!1);let p=u.element;if(p&&p.item&&this.focusCondition(p)){let v=typeof u.index==="number"?[u.index]:[],C=Lt();if(this._options?.tabThroughItemActions&&this._list.getFocus()[0]!==u.index&&xe(C)&&this.domNode.contains(C)&&C.closest(".action-list-item-toolbar"))this._list.domFocus();if(xe(u.browserEvent.target)&&u.browserEvent.target.closest(".action-list-item-toolbar")!==null){if(!p.submenuActions?.length)this._cancelSubmenuShow();this._list.setFocus(this._options?.tabThroughItemActions?v:[]);return}let I=!!(p.submenuActions?.length||p.hover?.content),D=this._suppressHover;if(I||this._usesSubmenuPointerIntent())this._suppressHover=!0;try{this._list.setFocus(v)}finally{this._suppressHover=D}if(I){if(this._currentSubmenuElement===p){if(this._cancelSubmenuHide(),this._cancelSubmenuShow(),this._usesSubmenuPointerIntent())this._updateSubmenuPointer(u.browserEvent)}else{if(!this._usesSubmenuPointerIntent())this._hideSubmenu();this._scheduleSubmenuShow(p,u.browserEvent)}return}if(this._currentSubmenuElement===p)this._cancelSubmenuHide();else if(this._cancelSubmenuShow(),this._options?.submenuPointerIntent)this._scheduleSubmenuHide();else if(!this._options?.persistentHover)this._hideSubmenu();if(this._delegate.onHover&&!p.disabled&&p.kind==="action"&&this._currentSubmenuElement!==p){let T=await this._delegate.onHover(p.item,this.cts.token),K=T?T.canPreview:void 0;if(K!==p.canPreview){if(p.canPreview=K,typeof u.index==="number")this._list.splice(u.index,1,[p]),this._list.setFocus([u.index])}}}else if(p&&p.hover?.content&&typeof u.index==="number")if(this._currentSubmenuElement===p)this._cancelSubmenuHide(),this._cancelSubmenuShow();else{if(!this._options?.persistentHover)this._hideSubmenu();this._scheduleSubmenuShow(p,u.browserEvent)}}onListClick(u){if(u.element&&this.focusCondition(u.element))this._list.setFocus([])}};kb=Lb=Tb([zs(6,ce),zs(7,Lr),zs(8,L)],kb);var hp=class m extends n{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;return this._showAbove?1:0}constructor(u,p,v,C,y,I,D,T,K,q){super();this._contextViewService=T,this._layoutService=K,this._lastMinWidth=0,this._hasLaidOut=!1,this._anchor=D,this._preferredAnchorPosition=I?.anchorPosition,this._useFullHeight=I?.useFullHeight??!1,this._widgetClassName=I?.widgetClassName,this._widget=this._register(q.createInstance(kb,u,p,v,C,y,I)),this._register(this._widget.onDidRequestLayout(()=>{if(this._hasLaidOut)this.layout(this._lastMinWidth),this._contextViewService.layout()}))}focus(){this._widget.focus()}hide(u,p=!0){if(this._widget.hide(u),p)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(u){this._widget.acceptSelected(u)}hasDynamicHeight(){return this._widget.hasDynamicHeight}computeActionWidgetVerticalChromeHeight(){let u=this.domNode.parentElement?.closest(".action-widget");if(!u)return 0;let p=F(u).getComputedStyle(u),v=(C)=>Number.parseFloat(C)||0;return v(p.paddingTop)+v(p.paddingBottom)+v(p.borderTopWidth)+v(p.borderBottomWidth)}computeHeight(){let u=this._fixedContentHeight??this._widget.computeListHeight(),p=this._widget.filterContainer?36:0,v=this._widget.footerContainer?32:0,C=this._widget.headerContainer&&!this._widget.headerContainer.hidden?this._widget.headerContainer.offsetHeight||36:0,y=p+v+C,I=F(this.domNode),D;if(this.hasDynamicHeight()||this._preferredAnchorPosition!==void 0){let te=I.innerHeight,oe=Hv(this._anchor),ne=oe.top-I.pageYOffset,ae=30,ge=te-ne-oe.height-30,Ie=ne;if(this._showAbove===void 0){let ke=this._fixedContentHeight??this._widget.computeFullHeight();this._showAbove=this._preferredAnchorPosition!==void 0?this._preferredAnchorPosition===1:y+ke>ge&&Ie>ge}D=Math.max(0,(this._showAbove?Ie:ge)-this.computeActionWidgetVerticalChromeHeight())}else{let oe=this._layoutService.getContainer(I).clientHeight,ne=this.domNode.getBoundingClientRect().top;D=ne>0?oe-ne-10:oe*0.7}let T=this._useFullHeight?I.innerHeight:Math.floor(I.innerHeight*0.6),K=this._widget.lineHeight;if(this._preferredAnchorPosition!==void 0){let te=Math.min(D,T),oe=Math.min(u+y,Math.max(0,te));return Math.max(0,oe-y)}let q=Math.min(Math.max(D,K*3+y),T);return Math.min(u+y,q)-y}layout(u,p){if(this._hasLaidOut=!0,this._lastMinWidth=u,p!==void 0)this._fixedContentHeight=p;let v=this.computeHeight();this._widget.layout(v);let C=this._widget.computeMaxWidth(u);return this._cachedMaxWidth=C,this._widget.layout(v,this._cachedMaxWidth),this._cachedMaxWidth}};hp=Tb([zs(7,Go),zs(8,po),zs(9,L)],hp);function an(m){return m.replace(/\r\n|\r|\n/g," ")}var n2=function(m,u,p,v){var C=arguments.length,y=C<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,p):v,I;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")y=Reflect.decorate(m,u,p,v);else for(var D=m.length-1;D>=0;D--)if(I=m[D])y=(C<3?I(y):C>3?I(u,p,y):I(u,p))||y;return C>3&&y&&Object.defineProperty(u,p,y),y},Nb=function(m,u){return function(p,v){u(p,v,m)}};s("actionBar.toggledBackground",yu,e(1744,"Background color for toggled action items in action bar."));var Gy="--action-widget-close-start-opacity",qy="--action-widget-close-start-transform",no={Visible:new N("codeActionMenuVisible",!1,e(1745,"Whether the action widget list is visible")),FilterFocused:new N("codeActionMenuFilterFocused",!1,e(1746,"Whether the action widget filter input is focused"))},yo=Z("actionWidgetService"),_r=class m extends n{get isVisible(){return no.Visible.getValue(this._contextKeyService)||!1}constructor(u,p,v){super();this._contextViewService=u,this._contextKeyService=p,this._instantiationService=v,this._list=this._register(new ie),this._closeAnimation=this._register(new ie)}show(u,p,v,C,y,I,D,T,K){let q=no.Visible.bindTo(this._contextKeyService),Q=this._instantiationService.createInstance(hp,u,p,v,C,T,K,y);this._contextViewService.showContextView({getAnchor:()=>y,render:(te)=>(q.set(!0),this._renderWidget(te,Q,D??[],K)),onHide:(te)=>{q.reset(),this._onWidgetClosed(te)},get anchorPosition(){return Q.anchorPosition},focus:()=>Q.focus()},I,!1)}acceptSelected(u){this._list.value?.acceptSelected(u)}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(u){let p=this._list.value,v=this._widgetElement;if(!p||this._closingList===p)return;let C=p.closeAnimation;if(!v||!C||C.duration<=0||!this._hasRequiredAncestorClasses(v,C.requiredAncestorClasses)){this._closingList=p,p.hide(u);return}this._closingList=p;let y=F(v).getComputedStyle(v);v.style.setProperty(Gy,y.opacity),v.style.setProperty(qy,y.transform),v.classList.add(C.className),p.hide(u,!1),this._closeAnimation.value=Yn(()=>{if(this._list.value===p)this._contextViewService.hideContextView(u)},C.duration)}clear(){this._closeAnimation.clear(),this._closingList=void 0,this._widgetElement?.style.removeProperty(Gy),this._widgetElement?.style.removeProperty(qy),this._widgetElement=void 0,this._list.clear()}_renderWidget(u,p,v,C){let y=document.createElement("div");y.classList.add("action-widget");let I=p.widgetClassName?.split(/\s+/).filter(Boolean);if(I?.length)y.classList.add(...I);if(u.appendChild(y),this._widgetElement=y,this._list.value=p,this._list.value){if(this._list.value.headerContainer)y.appendChild(this._list.value.headerContainer);if(this._list.value.filterContainer)y.appendChild(this._list.value.filterContainer);if(y.appendChild(this._list.value.domNode),this._list.value.footerContainer)y.appendChild(this._list.value.footerContainer)}else throw Error("List has no value");let D=new c;if(C?.filterAsCombobox)D.add(mt(y,"keydown",(Ie)=>{if(Ie.keyCode===9&&!Ie.browserEvent.isComposing)ye.stop(Ie,!0),this.hide(!0)}));let T=this._list.value.headerContainer;if(T)D.add(Kc(T,(Ie)=>Ie.preventDefault()));let K=0;D.add(Kc(y,()=>{K=Date.now()+1000}));let q=document.createElement("div"),Q=u.appendChild(q);Q.classList.add("context-view-block"),D.add(Kc(Q,(Ie)=>Ie.stopPropagation()));let te=0;if(v.length){let Ie=this._createActionBar(".action-widget-action-bar",v);if(Ie)y.appendChild(Ie.getContainer().parentElement),D.add(Ie),te=Ie.getContainer().offsetWidth}let oe=this._list.value?.layout(te);y.style.width=`${oe}px`;let ne=no.FilterFocused.bindTo(this._contextKeyService);if(D.add({dispose:()=>ne.reset()}),this._list.value?.filterInput){let Ie=this._list.value.filterInput;D.add(l(Ie,"focus",()=>ne.set(!0))),D.add(l(Ie,"blur",()=>ne.set(!1)))}let ae=D.add(Xn(u)),ge=D.add(new ie);return D.add(ae.onDidFocus(()=>ge.clear())),D.add(ae.onDidBlur(()=>{let Ie=()=>{let ke=K-Date.now();if(ke>0){ge.value=Yn(Ie,ke);return}let Oe=Lt();if(Oe&&(u.contains(Oe)||Oe.closest(".action-widget-hover")||Oe.closest(".action-list-submenu-panel")))return;this.hide(!0)};ge.value=Yn(Ie,75)})),D}_createActionBar(u,p){if(!p.length)return;let v=g(u),C=new Di(v);return C.push(p,{icon:!1,label:!0}),C}_hasRequiredAncestorClasses(u,p){if(!p?.length)return!0;for(let v=u;v;v=v.parentElement)if(p.every((C)=>v.classList.contains(C)))return!0;return!1}_onWidgetClosed(u){if(this._closingList===this._list.value){this.clear();return}this._closeAnimation.clear(),this._closingList=void 0,this._widgetElement=void 0,this._list.value?.hide(u)}};_r=n2([Nb(0,Go),Nb(1,z),Nb(2,L)],_r);fe(yo,_r,1);var gs=1100;Ze(class extends cn{constructor(){super({id:"hideCodeActionWidget",title:h(1747,"Hide action widget"),precondition:no.Visible,keybinding:{weight:gs,primary:9,secondary:[1033]}})}run(m){m.get(yo).hide(!0)}});Ze(class extends cn{constructor(){super({id:"clearFilterCodeActionWidget",title:h(1748,"Clear action widget filter"),precondition:_.and(no.Visible,no.FilterFocused),keybinding:{weight:gs+1,primary:9}})}run(m){let u=m.get(yo);if(u instanceof _r){if(!u.clearFilter())u.hide(!0)}}});Ze(class extends cn{constructor(){super({id:"selectPrevCodeAction",title:h(1749,"Select previous action"),precondition:no.Visible,keybinding:{weight:gs,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}})}run(m){let u=m.get(yo);if(u instanceof _r)u.focusPrevious()}});Ze(class extends cn{constructor(){super({id:"selectNextCodeAction",title:h(1750,"Select next action"),precondition:no.Visible,keybinding:{weight:gs,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}})}run(m){let u=m.get(yo);if(u instanceof _r)u.focusNext()}});Ze(class extends cn{constructor(){super({id:"collapseSectionCodeAction",title:h(1751,"Collapse section"),precondition:_.and(no.Visible,no.FilterFocused.negate()),keybinding:{weight:gs,primary:15}})}run(m){let u=m.get(yo);if(u instanceof _r)u.collapseSection()}});Ze(class extends cn{constructor(){super({id:"expandSectionCodeAction",title:h(1752,"Expand section"),precondition:_.and(no.Visible,no.FilterFocused.negate()),keybinding:{weight:gs,primary:17}})}run(m){let u=m.get(yo);if(u instanceof _r)u.expandSection()}});Ze(class extends cn{constructor(){super({id:"toggleSectionCodeAction",title:h(1753,"Toggle section"),precondition:_.and(no.Visible,no.FilterFocused.negate()),keybinding:{weight:gs,primary:10}})}run(m){let u=m.get(yo);if(u instanceof _r){if(!u.toggleSection())u.acceptSelected()}}});Ze(class extends cn{constructor(){super({id:up,title:h(1754,"Accept selected action"),precondition:no.Visible,keybinding:{weight:gs,primary:3,secondary:[2137]}})}run(m){let u=m.get(yo);if(u instanceof _r)u.acceptSelected()}});Ze(class extends cn{constructor(){super({id:gp,title:h(1755,"Preview selected action"),precondition:no.Visible,keybinding:{weight:gs,primary:2051}})}run(m){let u=m.get(yo);if(u instanceof _r)u.acceptSelected(!0)}});var Zy=function(m,u,p,v){var C=arguments.length,y=C<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,p):v,I;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")y=Reflect.decorate(m,u,p,v);else for(var D=m.length-1;D>=0;D--)if(I=m[D])y=(C<3?I(y):C>3?I(u,p,y):I(u,p))||y;return C>3&&y&&Object.defineProperty(u,p,y),y},$d=function(m,u){return function(p,v){u(p,v,m)}},Ob,Mb=class m extends n{static{Ob=this}static{this.baseId="editor.widget.postEditWidget"}constructor(u,p,v,C,y,I,D,T,K,q,Q){super();this.typeId=u,this.editor=p,this.showCommand=C,this.range=y,this.edits=I,this.onSelectNewEdit=D,this.additionalActions=T,this._keybindingService=q,this._actionWidgetService=Q,this.allowEditorOverflow=!0,this.suppressMouseDown=!0,this.create(),this.visibleContext=v.bindTo(K),this.visibleContext.set(!0),this._register(E(()=>this.visibleContext.reset())),this.editor.addContentWidget(this),this.editor.layoutContentWidget(this),this._register(E(()=>this.editor.removeContentWidget(this))),this._register(this.editor.onDidChangeCursorPosition((te)=>{this.dispose()})),this._register(S.runAndSubscribe(q.onDidUpdateKeybindings,()=>{this._updateButtonTitle()}))}_updateButtonTitle(){this.button.element.title=this._keybindingService.appendKeybinding(this.showCommand.label,this.showCommand.id)}create(){this.domNode=g(".post-edit-widget"),this.button=this._register(new ku(this.domNode,{supportIcons:!0})),this.button.label="$(insert)",this._register(l(this.domNode,x.CLICK,()=>this.showSelector()))}getId(){return Ob.baseId+"."+this.typeId}getDomNode(){return this.domNode}getPosition(){return{position:this.range.getEndPosition(),preference:[2]}}showSelector(){let u=gt(this.button.element),p={x:u.left+u.width,y:u.top+u.height};this._actionWidgetService.show("postEditWidget",!1,this.edits.allEdits.map((v,C)=>({kind:"action",item:v,label:v.title,disabled:!1,canPreview:!1,group:{title:"",icon:G.fromId(C===this.edits.activeEditIndex?b.check.id:b.blank.id)}})),{onHide:()=>{this.editor.focus()},onSelect:(v)=>{this._actionWidgetService.hide(!1);let C=this.edits.allEdits.findIndex((y)=>y===v);if(C!==this.edits.activeEditIndex)return this.onSelectNewEdit(C)}},p,this.editor.getDomNode()??void 0,this.additionalActions)}};Mb=Ob=Zy([$d(8,z),$d(9,ce),$d(10,yo)],Mb);var sg=class m extends n{constructor(u,p,v,C,y,I,D,T){super();this._id=u,this._editor=p,this._visibleContext=v,this._showCommand=C,this._getAdditionalActions=y,this._instantiationService=I,this._bulkEditService=D,this._notificationService=T,this._currentWidget=this._register(new ie),this._register(S.any(p.onDidChangeModel,p.onDidChangeModelContent)(()=>this.clear()))}async applyEditAndShowIfNeeded(u,p,v,C,y){if(!u.length||!this._editor.hasModel())return;let I=this._editor.getModel(),D=p.allEdits.at(p.activeEditIndex);if(!D)return;let T=async(Ie)=>{let ke=this._editor.getModel();if(!ke)return;await ke.undo(),this.applyEditAndShowIfNeeded(u,{activeEditIndex:Ie,allEdits:p.allEdits},v,C,y)},K=(Ie,ke)=>{if(Jn(Ie))return;if(this._notificationService.error(ke),v)this.show(u[0],p,T)},q=new Yo(this._editor,3,void 0,y),Q;try{Q=await l$(C(D,q.token),q.token)}catch(Ie){return K(Ie,e(991,`Error resolving edit '{0}':
|
|
5
|
-
{1}`,D.title,og(Ie)))}finally{q.dispose()}if(y.isCancellationRequested)return;let te=cp(I.uri,u,Q),oe=u[0],ne=I.deltaDecorations([],[{range:oe,options:{description:"paste-line-suffix",stickiness:0}}]);this._editor.focus();let ae,ge;try{ae=await this._bulkEditService.apply(te,{editor:this._editor,token:y}),ge=I.getDecorationRange(ne[0])}catch(Ie){return K(Ie,e(992,`Error applying edit '{0}':
|
|
6
|
-
{1}`,D.title,og(Ie)))}finally{I.deltaDecorations(ne,[])}if(y.isCancellationRequested)return;if(v&&ae.isApplied&&p.allEdits.length>1)this.show(ge??oe,p,T)}show(u,p,v){if(this.clear(),this._editor.hasModel())this._currentWidget.value=this._instantiationService.createInstance(Mb,this._id,this._editor,this._visibleContext,this._showCommand,u,p,v,this._getAdditionalActions())}clear(){this._currentWidget.clear()}tryShowSelector(){this._currentWidget.value?.showSelector()}};sg=Zy([$d(5,L),$d(6,Ol),$d(7,ut)],sg);var r2=function(m,u,p,v){var C=arguments.length,y=C<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,p):v,I;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")y=Reflect.decorate(m,u,p,v);else for(var D=m.length-1;D>=0;D--)if(I=m[D])y=(C<3?I(y):C>3?I(u,p,y):I(u,p))||y;return C>3&&y&&Object.defineProperty(u,p,y),y},ps=function(m,u){return function(p,v){u(p,v,m)}},hn,Y1="editor.changePasteType",s2="editor.pasteAs.preferences",u_=new N("pasteWidgetVisible",!1,e(971,"Whether the paste widget is showing")),Pb="application/vnd.code.copymetadata",nc=class m extends n{static{hn=this}static{this.ID="editor.contrib.copyPasteActionController"}static get(u){return u.getContribution(hn.ID)}constructor(u,p,v,C,y,I,D,T,K,q){super();this._logService=v,this._bulkEditService=C,this._clipboardService=y,this._commandService=I,this._configService=D,this._languageFeaturesService=T,this._quickInputService=K,this._progressService=q,this._editor=u,this._register(u.onWillCopy((Q)=>this.handleCopy(Q))),this._register(u.onWillCut((Q)=>this.handleCopy(Q))),this._register(u.onWillPaste((Q)=>this.handlePaste(Q))),this._pasteProgressManager=this._register(new rg("pasteIntoEditor",u,p)),this._postPasteWidgetManager=this._register(p.createInstance(sg,"pasteIntoEditor",u,u_,{id:Y1,label:e(972,"Show paste options...")},()=>hn._configureDefaultAction?[hn._configureDefaultAction]:[]))}changePasteType(){this._postPasteWidgetManager.tryShowSelector()}async pasteAs(u){this._logService.trace("CopyPasteController.pasteAs"),this._editor.focus();try{this._logService.trace("Before calling editor.action.clipboardPasteAction"),this._pasteAsActionContext={preferred:u},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(u){if(this._logService.trace("CopyPasteController#handleCopy"),!this._editor.hasTextFocus())return;if(this._clipboardService.clearInternalState?.(),!this.isPasteAsEnabled())return;let p=this._editor.getModel(),v=this._editor._getViewModel(),C=this._editor.getSelections();if(!p||!v||!C?.length)return;let y={multicursorText:u.dataToCopy.multicursorText??null,pasteOnNewLine:u.dataToCopy.isFromEmptySelection,mode:null},I=this._languageFeaturesService.documentPasteEditProvider.ordered(p).filter((Q)=>!!Q.prepareDocumentPaste);if(!I.length){this.setCopyMetadata(u.clipboardData,{defaultPastePayload:y});return}let D=new Vh,T=I.flatMap((Q)=>Q.copyMimeTypes??[]),K=Wa();this.setCopyMetadata(u.clipboardData,{id:K,providerCopyMimeTypes:T,defaultPastePayload:y});let q=I.map((Q)=>({providerMimeTypes:Q.copyMimeTypes,operation:jt((te)=>Q.prepareDocumentPaste(p,u.dataToCopy.sourceRanges,D,te).catch((oe)=>{console.error(oe);return}))}));hn._currentCopyOperation?.operations.forEach((Q)=>Q.operation.cancel()),hn._currentCopyOperation={handle:K,operations:q}}async handlePaste(u){if(this._logService.trace("CopyPasteController#handlePaste for id : ",u.metadata?.id),!this._editor.hasTextFocus())return;let p=u.toExternalVSDataTransfer();if(!p)return;p.delete(Pb),Oi.get(this._editor)?.closeMessage(),this._currentPasteOperation?.cancel(),this._currentPasteOperation=void 0;let v=this._editor.getModel(),C=this._editor.getSelections();if(!C?.length||!v)return;if(this._editor.getOption(104)||!this.isPasteAsEnabled()&&!this._pasteAsActionContext)return;let y=this.fetchCopyMetadata(u);this._logService.trace("CopyPasteController#handlePaste with metadata : ",y?.id," and text.length : ",u.clipboardData.getData("text/plain").length);let I=Array.from(u.clipboardData.files).map((K)=>K.type),D=[...u.clipboardData.types,...I,...y?.providerCopyMimeTypes??[],dn.uriList],T=this._languageFeaturesService.documentPasteEditProvider.ordered(v).filter((K)=>{let q=this._pasteAsActionContext?.preferred;if(q){if(!this.providerMatchesPreference(K,q))return!1}return K.pasteMimeTypes?.some((Q)=>hk(Q,D))});if(!T.length){if(this._pasteAsActionContext?.preferred)this.showPasteAsNoEditMessage(C,this._pasteAsActionContext.preferred),u.setHandled();return}if(u.setHandled(),this._pasteAsActionContext)this.showPasteAsPick(this._pasteAsActionContext.preferred,T,C,p,y);else this.doPasteInline(T,C,p,y,u.browserEvent)}showPasteAsNoEditMessage(u,p){let v="only"in p?p.only.value:("preferences"in p)?p.preferences.length?p.preferences.map((C)=>C.value).join(", "):e(973,"empty"):p.providerId;Oi.get(this._editor)?.showMessage(e(974,"No paste edits for '{0}' found",v),u[0].getStartPosition())}doPasteInline(u,p,v,C,y){this._logService.trace("CopyPasteController#doPasteInline");let I=this._editor;if(!I.hasModel())return;let D=new Yo(I,3,void 0),T=jt(async(K)=>{let q=this._editor;if(!q.hasModel())return;let Q=q.getModel(),te=new c,oe=te.add(new Pe(K));te.add(D.token.onCancellationRequested(()=>oe.cancel()));let ne=oe.token;try{if(await this.mergeInDataFromCopy(u,v,C,ne),ne.isCancellationRequested)return;let ae=u.filter((ke)=>this.isSupportedPasteProvider(ke,v));if(!ae.length||ae.length===1&&ae[0]instanceof iu)return this.applyDefaultPasteHandler(v,C,ne,y);let ge={triggerKind:sf.Automatic},Ie=await this.getPasteEdits(ae,v,Q,p,ge,ne);if(te.add(Ie),ne.isCancellationRequested)return;if(Ie.edits.length===1&&Ie.edits[0].provider instanceof iu)return this.applyDefaultPasteHandler(v,C,ne,y);if(Ie.edits.length){let ke=q.getOption(97).showPasteSelector==="afterPaste";return this._postPasteWidgetManager.applyEditAndShowIfNeeded(p,{activeEditIndex:this.getInitialActiveEditIndex(Q,Ie.edits),allEdits:Ie.edits},ke,async(Oe,Ve)=>{if(!Oe.provider.resolveDocumentPasteEdit)return Oe;let Ue=Oe.provider.resolveDocumentPasteEdit(Oe,Ve),Le=new $s,He=await this._pasteProgressManager.showWhile(p[0].getEndPosition(),e(975,"Resolving paste edit for '{0}'. Click to cancel",Oe.title),vl(Promise.race([Le.p,Ue]),Ve),{cancel:()=>Le.cancel()},0);if(He)Oe.insertText=He.insertText,Oe.additionalEdit=He.additionalEdit;return Oe},ne)}await this.applyDefaultPasteHandler(v,C,ne,y)}finally{if(te.dispose(),this._currentPasteOperation===T)this._currentPasteOperation=void 0}});this._pasteProgressManager.showWhile(p[0].getEndPosition(),e(976,"Running paste handlers. Click to cancel and do basic paste"),T,{cancel:async()=>{if(T.cancel(),D.token.isCancellationRequested)return;await this.applyDefaultPasteHandler(v,C,D.token,y)}}).finally(()=>{D.dispose()}),this._currentPasteOperation=T}showPasteAsPick(u,p,v,C,y){this._logService.trace("CopyPasteController#showPasteAsPick");let I=jt(async(D)=>{let T=this._editor;if(!T.hasModel())return;let K=T.getModel(),q=new c,Q=q.add(new Yo(T,3,void 0,D));try{if(await this.mergeInDataFromCopy(p,C,y,Q.token),Q.token.isCancellationRequested)return;let te=p.filter((Ie)=>this.isSupportedPasteProvider(Ie,C,u));if(u)te=te.filter((Ie)=>this.providerMatchesPreference(Ie,u));let oe={triggerKind:sf.PasteAs,only:u&&"only"in u?u.only:void 0},ne=q.add(await this.getPasteEdits(te,C,K,v,oe,Q.token));if(Q.token.isCancellationRequested)return;if(u)ne={edits:ne.edits.filter((Ie)=>{if("only"in u)return u.only.contains(Ie.kind);else if("preferences"in u)return u.preferences.some((ke)=>ke.contains(Ie.kind));else return u.providerId===Ie.provider.id}),dispose:ne.dispose};if(!ne.edits.length){if(u)this.showPasteAsNoEditMessage(v,u);return}let ae;if(u)ae=ne.edits.at(0);else{let Ie={id:"editor.pasteAs.default",label:e(977,"Configure default paste action"),edit:void 0},ke=await this._quickInputService.pick([...ne.edits.map((Oe)=>({label:Oe.title,description:Oe.kind?.value,edit:Oe})),...hn._configureDefaultAction?[n$({type:"separator"}),{label:hn._configureDefaultAction.label,edit:void 0}]:[]],{placeHolder:e(978,"Select Paste Action")});if(ke===Ie){hn._configureDefaultAction?.run();return}ae=ke?.edit}if(!ae)return;let ge=cp(K.uri,v,ae);await this._bulkEditService.apply(ge,{editor:this._editor})}finally{if(q.dispose(),this._currentPasteOperation===I)this._currentPasteOperation=void 0}});this._progressService.withProgress({location:10,title:e(979,"Running paste handlers")},()=>I)}setCopyMetadata(u,p){this._logService.trace("CopyPasteController#setCopyMetadata new id : ",p.id),u.setData(Pb,JSON.stringify(p))}fetchCopyMetadata(u){this._logService.trace("CopyPasteController#fetchCopyMetadata");let p=u.clipboardData.getData(Pb);if(p)try{return JSON.parse(p)}catch{return}if(u.metadata)return{defaultPastePayload:{mode:u.metadata.mode,multicursorText:u.metadata.multicursorText??null,pasteOnNewLine:!!u.metadata.isFromEmptySelection}};return}async mergeInDataFromCopy(u,p,v,C){if(this._logService.trace("CopyPasteController#mergeInDataFromCopy with metadata : ",v?.id),v?.id&&hn._currentCopyOperation?.handle===v.id){let y=hn._currentCopyOperation.operations.filter((D)=>u.some((T)=>T.pasteMimeTypes.some((K)=>hk(K,D.providerMimeTypes)))).map((D)=>D.operation),I=await Promise.all(y);if(C.isCancellationRequested)return;for(let D of I.reverse())if(D)for(let[T,K]of D)p.replace(T,K)}if(!p.has(dn.uriList)){let y=await this._clipboardService.readResources();if(C.isCancellationRequested)return;if(y.length)p.append(dn.uriList,Iv(Cf.create(y)))}}async getPasteEdits(u,p,v,C,y,I){let D=new c,T=await vl(Promise.all(u.map(async(q)=>{try{let Q=await q.provideDocumentPasteEdits?.(v,C,p,y,I);if(Q)D.add(Q);return Q?.edits?.map((te)=>({...te,provider:q}))}catch(Q){if(!Jn(Q))console.error(Q);return}})),I),K=er(T??[]).flat().filter((q)=>!y.only||y.only.contains(q.kind));return{edits:d_(K),dispose:()=>D.dispose()}}async applyDefaultPasteHandler(u,p,v,C){let I=await(u.get(dn.text)??u.get("text"))?.asString()??"";if(v.isCancellationRequested)return;let D={clipboardEvent:C,text:I,pasteOnNewLine:p?.defaultPastePayload.pasteOnNewLine??!1,multicursorText:p?.defaultPastePayload.multicursorText??null,mode:null};this._logService.trace("CopyPasteController#applyDefaultPasteHandler for id : ",p?.id),this._editor.trigger("keyboard","paste",D)}isSupportedPasteProvider(u,p,v){if(!u.pasteMimeTypes?.some((C)=>p.matches(C)))return!1;return!v||this.providerMatchesPreference(u,v)}providerMatchesPreference(u,p){if("only"in p)return u.providedPasteEditKinds.some((v)=>p.only.contains(v));else if("preferences"in p)return u.providedPasteEditKinds.some((v)=>p.preferences.some((C)=>C.contains(v)));else return u.id===p.providerId}getInitialActiveEditIndex(u,p){let v=this._configService.getValue(s2,{resource:u.uri});for(let C of Array.isArray(v)?v:[]){let y=new It(C),I=p.findIndex((D)=>y.contains(D.kind));if(I>=0)return I}return 0}};nc=hn=r2([ps(1,L),ps(2,Be),ps(3,Ol),ps(4,Qn),ps(5,Ae),ps(6,X),ps(7,j),ps(8,un),ps(9,d0)],nc);var rd="9_cutcopypaste",a2=So||document.queryCommandSupported&&document.queryCommandSupported("cut"),Yy=So||document.queryCommandSupported&&document.queryCommandSupported("copy"),d2=typeof navigator.clipboard>"u"||zn?document.queryCommandSupported&&document.queryCommandSupported("paste"):!0;function Hb(m){return m.register(),m}var l2=a2?Hb(new Dh({id:"editor.action.clipboardCutAction",precondition:void 0,kbOpts:So?{primary:2102,win:{primary:2102,secondary:[1044]},weight:100}:void 0,menuOpts:[{menuId:a.MenubarEditMenu,group:"2_ccp",title:e(864,"Cu&&t"),order:1},{menuId:a.EditorContext,group:rd,title:e(865,"Cut"),when:r.writable,order:1},{menuId:a.CommandPalette,group:"",title:e(866,"Cut"),order:1},{menuId:a.SimpleEditorContext,group:rd,title:e(867,"Cut"),when:r.writable,order:1}]})):void 0,c2=Yy?Hb(new Dh({id:"editor.action.clipboardCopyAction",precondition:void 0,kbOpts:So?{primary:2081,win:{primary:2081,secondary:[2067]},weight:100}:void 0,menuOpts:[{menuId:a.MenubarEditMenu,group:"2_ccp",title:e(868,"&&Copy"),order:2},{menuId:a.EditorContext,group:rd,title:e(869,"Copy"),order:2},{menuId:a.CommandPalette,group:"",title:e(870,"Copy"),order:1},{menuId:a.SimpleEditorContext,group:rd,title:e(871,"Copy"),order:2}]})):void 0;Dn.appendMenuItem(a.MenubarEditMenu,{submenu:a.MenubarCopy,title:h(876,"Copy As"),group:"2_ccp",order:3});Dn.appendMenuItem(a.EditorContext,{submenu:a.EditorContextCopy,title:h(877,"Copy As"),group:rd,order:3});Dn.appendMenuItem(a.EditorContext,{submenu:a.EditorContextShare,title:h(878,"Share"),group:"11_share",order:-1,when:_.and(_.notEquals("resourceScheme","output"),r.editorTextFocus)});Dn.appendMenuItem(a.ExplorerContext,{submenu:a.ExplorerContextShare,title:h(879,"Share"),group:"11_share",order:-1});var Ab=d2?Hb(new Dh({id:"editor.action.clipboardPasteAction",precondition:void 0,kbOpts:So?{primary:2100,win:{primary:2100,secondary:[1043]},linux:{primary:2100,secondary:[1043]},weight:100}:void 0,menuOpts:[{menuId:a.MenubarEditMenu,group:"2_ccp",title:e(872,"&&Paste"),order:4},{menuId:a.EditorContext,group:rd,title:e(873,"Paste"),when:r.writable,order:4},{menuId:a.CommandPalette,group:"",title:e(874,"Paste"),order:1},{menuId:a.SimpleEditorContext,group:rd,title:e(875,"Paste"),when:r.writable,order:4}]})):void 0;class Jy extends W{constructor(){super({id:"editor.action.clipboardCopyWithSyntaxHighlightingAction",label:h(880,"Copy with Syntax Highlighting"),precondition:void 0,kbOpts:{kbExpr:r.textInputFocus,primary:0,weight:100}})}run(m,u){let p=m.get(Be),v=m.get(Qn);if(p.trace("ExecCommandCopyWithSyntaxHighlightingAction#run"),!u.hasModel())return;if(!u.getOption(45)&&u.getSelection().isEmpty())return;td.forceCopyWithSyntaxHighlighting=!0,u.focus(),p.trace("ExecCommandCopyWithSyntaxHighlightingAction (before execCommand copy)"),Fb(u,v),p.trace("ExecCommandCopyWithSyntaxHighlightingAction (after execCommand copy)"),td.forceCopyWithSyntaxHighlighting=!1}}function Fb(m,u){if(td.electronBugWorkaroundCopyEventHasFired=!1,m.getContainerDomNode().ownerDocument.execCommand("copy"),So&&td.electronBugWorkaroundCopyEventHasFired===!1){let{dataToCopy:p}=A$(m._getViewModel(),void 0,zn);u.writeText(p.text)}}function Qy(m,u){if(!m)return;m.addImplementation(1e4,"code-editor",(p,v)=>{let C=p.get(Be),y=p.get(Qn);C.trace("registerExecCommandImpl (addImplementation code-editor for : ",u,")");let I=p.get(ve).getFocusedCodeEditor();if(I&&I.hasTextFocus()&&I.hasModel()){let D=I.getOption(45),T=I.getSelection();if(T&&T.isEmpty()&&!D)return!0;if(I.getOption(171)&&u==="cut")Xy(I),C.trace("registerExecCommandImpl (before execCommand copy)"),Fb(I,y),I.trigger(void 0,"cut",void 0),C.trace("registerExecCommandImpl (after execCommand copy)");else{if(Xy(I),C.trace("registerExecCommandImpl (before execCommand "+u+")"),u==="copy")Fb(I,y);else I.getContainerDomNode().ownerDocument.execCommand(u);C.trace("registerExecCommandImpl (after execCommand "+u+")")}return!0}return!1}),m.addImplementation(0,"generic-dom",(p,v)=>{let C=p.get(Be);return C.trace("registerExecCommandImpl (addImplementation generic-dom for : ",u,")"),C.trace("registerExecCommandImpl (before execCommand "+u+")"),Th().execCommand(u),C.trace("registerExecCommandImpl (after execCommand "+u+")"),!0})}function Xy(m){if(m.getOption(171)){let p=Ov.get(m.getId());if(p)p.handleWillCopy()}}Qy(l2,"cut");Qy(c2,"copy");if(Ab)Ab.addImplementation(1e4,"code-editor",(m,u)=>{let p=m.get(Be);p.trace("registerExecCommandImpl (addImplementation code-editor for : paste)");let v=m.get(ve),C=m.get(Qn),y=v.getFocusedCodeEditor();if(y&&y.hasModel()&&y.hasTextFocus()){if(y.getOption(171)){let T=Ov.get(y.getId());if(T)T.handleWillPaste()}p.trace("registerExecCommandImpl (before triggerPaste)");let D=C.triggerPaste(Me().vscodeWindowId);if(D)return p.trace("registerExecCommandImpl (triggerPaste defined)"),D.then(async()=>(p.trace("registerExecCommandImpl (after triggerPaste)"),nc.get(y)?.finishedPaste()??Promise.resolve()));else p.trace("registerExecCommandImpl (triggerPaste undefined)");if(os)return p.trace("registerExecCommandImpl (Paste handling on web)"),(async()=>{let T=await C.readText();if(T!==""){let K=zh.INSTANCE.get(T),q=!1,Q=null,te=null;if(K)q=y.getOption(45)&&!!K.isFromEmptySelection,Q=typeof K.multicursorText<"u"?K.multicursorText:null,te=K.mode;p.trace("registerExecCommandImpl (clipboardText.length : ",T.length," id : ",K?.id,")"),y.trigger("keyboard","paste",{text:T,pasteOnNewLine:q,multicursorText:Q,mode:te})}})();return!0}return!1}),Ab.addImplementation(0,"generic-dom",(m,u)=>(m.get(Be).trace("registerExecCommandImpl (addImplementation generic-dom for : paste)"),m.get(Qn).triggerPaste(Me().vscodeWindowId)??!1));if(Yy)R(Jy);class Mr{constructor(m,u,p){this.languageConfigurationService=p,this._selection=m,this._insertSpace=u,this._usedEndToken=null}static _haystackHasNeedleAtOffset(m,u,p){if(p<0)return!1;let v=u.length,C=m.length;if(p+v>C)return!1;for(let y=0;y<v;y++){let I=m.charCodeAt(p+y),D=u.charCodeAt(y);if(I===D)continue;if(I>=65&&I<=90&&I+32===D)continue;if(D>=65&&D<=90&&D+32===I)continue;return!1}return!0}_createOperationsForBlockComment(m,u,p,v,C,y){let{startLineNumber:I,startColumn:D,endLineNumber:T,endColumn:K}=m,q=C.getLineContent(I),Q=C.getLineContent(T),te=q.lastIndexOf(u,D-1+u.length),oe=Q.indexOf(p,K-1-p.length);if(te!==-1&&oe!==-1)if(I===T){if(q.substring(te+u.length,oe).indexOf(p)>=0)te=-1,oe=-1}else{let ae=q.substring(te+u.length),ge=Q.substring(0,oe);if(ae.indexOf(p)>=0||ge.indexOf(p)>=0)te=-1,oe=-1}let ne;if(te!==-1&&oe!==-1){if(v&&te+u.length<q.length&&q.charCodeAt(te+u.length)===32)u=u+" ";if(v&&oe>0&&Q.charCodeAt(oe-1)===32)p=" "+p,oe-=1;ne=Mr._createRemoveBlockCommentOperations(new t(I,te+u.length+1,T,oe+1),u,p)}else ne=Mr._createAddBlockCommentOperations(m,u,p,this._insertSpace),this._usedEndToken=ne.length===1?p:null;for(let ae of ne)y.addTrackedEditOperation(ae.range,ae.text)}static _createRemoveBlockCommentOperations(m,u,p){let v=[];if(!t.isEmpty(m))v.push(Ft.delete(new t(m.startLineNumber,m.startColumn-u.length,m.startLineNumber,m.startColumn))),v.push(Ft.delete(new t(m.endLineNumber,m.endColumn,m.endLineNumber,m.endColumn+p.length)));else v.push(Ft.delete(new t(m.startLineNumber,m.startColumn-u.length,m.endLineNumber,m.endColumn+p.length)));return v}static _createAddBlockCommentOperations(m,u,p,v){let C=[];if(!t.isEmpty(m))C.push(Ft.insert(new o(m.startLineNumber,m.startColumn),u+(v?" ":""))),C.push(Ft.insert(new o(m.endLineNumber,m.endColumn),(v?" ":"")+p));else C.push(Ft.replace(new t(m.startLineNumber,m.startColumn,m.endLineNumber,m.endColumn),u+" "+p));return C}getEditOperations(m,u){let p=this._selection.startLineNumber,v=this._selection.startColumn;m.tokenization.tokenizeIfCheap(p);let C=m.getLanguageIdAtPosition(p,v),y=this.languageConfigurationService.getLanguageConfiguration(C).comments;if(!y||!y.blockCommentStartToken||!y.blockCommentEndToken)return;this._createOperationsForBlockComment(this._selection,y.blockCommentStartToken,y.blockCommentEndToken,this._insertSpace,m,u)}computeCursorState(m,u){let p=u.getInverseEditOperations();if(p.length===2){let v=p[0],C=p[1];return new A(v.range.endLineNumber,v.range.endColumn,C.range.startLineNumber,C.range.startColumn)}else{let v=p[0].range,C=this._usedEndToken?-this._usedEndToken.length-1:0;return new A(v.endLineNumber,v.endColumn+C,v.endLineNumber,v.endColumn+C)}}}class Pr{constructor(m,u,p,v,C,y,I){this.languageConfigurationService=m,this._selection=u,this._indentSize=p,this._type=v,this._insertSpace=C,this._selectionId=null,this._deltaColumn=0,this._moveEndPositionDown=!1,this._ignoreEmptyLines=y,this._ignoreFirstLine=I||!1}static _gatherPreflightCommentStrings(m,u,p,v){m.tokenization.tokenizeIfCheap(u);let C=m.getLanguageIdAtPosition(u,1),y=v.getLanguageConfiguration(C).comments,I=y?y.lineCommentToken:null;if(!I)return null;let D=[];for(let T=0,K=p-u+1;T<K;T++)D[T]={ignore:!1,commentStr:I,commentStrOffset:0,commentStrLength:I.length};return D}static _analyzeLines(m,u,p,v,C,y,I,D,T){let K=!0,Q=D.getLanguageConfiguration(T).comments?.lineCommentNoIndent??!1,te;if(m===0)te=!0;else if(m===1)te=!1;else te=!0;for(let oe=0,ne=v.length;oe<ne;oe++){let ae=v[oe],ge=C+oe;if(ge===C&&I){ae.ignore=!0;continue}let Ie=p.getLineContent(ge),ke=In(Ie);if(ke===-1){ae.ignore=y,ae.commentStrOffset=Q?0:Ie.length;continue}K=!1;let Oe=Q?0:ke;if(ae.ignore=!1,ae.commentStrOffset=Oe,te&&!Mr._haystackHasNeedleAtOffset(Ie,ae.commentStr,Oe))if(m===0)te=!1;else if(m===1);else ae.ignore=!0;if(te&&u){let Ve=ke+ae.commentStrLength;if(Ve<Ie.length&&Ie.charCodeAt(Ve)===32)ae.commentStrLength+=1}}if(m===0&&K){te=!1;for(let oe=0,ne=v.length;oe<ne;oe++)v[oe].ignore=!1}return{supported:!0,shouldRemoveComments:te,lines:v}}static _gatherPreflightData(m,u,p,v,C,y,I,D){let T=Pr._gatherPreflightCommentStrings(p,v,C,D),K=p.getLanguageIdAtPosition(v,1);if(T===null)return{supported:!1};return Pr._analyzeLines(m,u,p,T,v,y,I,D,K)}_executeLineComments(m,u,p,v){let C;if(p.shouldRemoveComments)C=Pr._createRemoveLineCommentsOperations(p.lines,v.startLineNumber);else Pr._normalizeInsertionPoint(m,p.lines,v.startLineNumber,this._indentSize),C=this._createAddLineCommentsOperations(p.lines,v.startLineNumber);let y=new o(v.positionLineNumber,v.positionColumn);for(let I=0,D=C.length;I<D;I++)if(u.addEditOperation(C[I].range,C[I].text),t.isEmpty(C[I].range)&&t.getStartPosition(C[I].range).equals(y)){if(m.getLineContent(y.lineNumber).length+1===y.column)this._deltaColumn=(C[I].text||"").length}this._selectionId=u.trackSelection(v)}_attemptRemoveBlockComment(m,u,p,v){let{startLineNumber:C,endLineNumber:y}=u,I=v.length+Math.max(m.getLineFirstNonWhitespaceColumn(u.startLineNumber),u.startColumn),D=m.getLineContent(C).lastIndexOf(p,I-1),T=m.getLineContent(y).indexOf(v,u.endColumn-1-p.length);if(D!==-1&&T===-1)T=m.getLineContent(C).indexOf(v,D+p.length),y=C;if(D===-1&&T!==-1)D=m.getLineContent(y).lastIndexOf(p,T),C=y;if(u.isEmpty()&&(D===-1||T===-1)){if(D=m.getLineContent(C).indexOf(p),D!==-1)T=m.getLineContent(C).indexOf(v,D+p.length)}if(D!==-1&&m.getLineContent(C).charCodeAt(D+p.length)===32)p+=" ";if(T!==-1&&m.getLineContent(y).charCodeAt(T-1)===32)v=" "+v,T-=1;if(D!==-1&&T!==-1)return Mr._createRemoveBlockCommentOperations(new t(C,D+p.length+1,y,T+1),p,v);return null}_executeBlockComment(m,u,p){m.tokenization.tokenizeIfCheap(p.startLineNumber);let v=m.getLanguageIdAtPosition(p.startLineNumber,1),C=this.languageConfigurationService.getLanguageConfiguration(v).comments;if(!C||!C.blockCommentStartToken||!C.blockCommentEndToken)return;let{blockCommentStartToken:y,blockCommentEndToken:I}=C,D=this._attemptRemoveBlockComment(m,p,y,I);if(!D){if(p.isEmpty()){let T=m.getLineContent(p.startLineNumber),K=In(T);if(K===-1)K=T.length;D=Mr._createAddBlockCommentOperations(new t(p.startLineNumber,K+1,p.startLineNumber,T.length+1),y,I,this._insertSpace)}else D=Mr._createAddBlockCommentOperations(new t(p.startLineNumber,m.getLineFirstNonWhitespaceColumn(p.startLineNumber),p.endLineNumber,m.getLineMaxColumn(p.endLineNumber)),y,I,this._insertSpace);if(D.length===1)this._deltaColumn=y.length+1}this._selectionId=u.trackSelection(p);for(let T of D)u.addEditOperation(T.range,T.text)}getEditOperations(m,u){let p=this._selection;if(this._moveEndPositionDown=!1,p.startLineNumber===p.endLineNumber&&this._ignoreFirstLine){u.addEditOperation(new t(p.startLineNumber,m.getLineMaxColumn(p.startLineNumber),p.startLineNumber+1,1),p.startLineNumber===m.getLineCount()?"":`
|
|
7
|
-
`),this._selectionId=u.trackSelection(p);return}if(p.startLineNumber<p.endLineNumber&&p.endColumn===1)this._moveEndPositionDown=!0,p=p.setEndPosition(p.endLineNumber-1,m.getLineMaxColumn(p.endLineNumber-1));let v=Pr._gatherPreflightData(this._type,this._insertSpace,m,p.startLineNumber,p.endLineNumber,this._ignoreEmptyLines,this._ignoreFirstLine,this.languageConfigurationService);if(v.supported)return this._executeLineComments(m,u,v,p);return this._executeBlockComment(m,u,p)}computeCursorState(m,u){let p=u.getTrackedSelection(this._selectionId);if(this._moveEndPositionDown)p=p.setEndPosition(p.endLineNumber+1,1);return new A(p.selectionStartLineNumber,p.selectionStartColumn+this._deltaColumn,p.positionLineNumber,p.positionColumn+this._deltaColumn)}static _createRemoveLineCommentsOperations(m,u){let p=[];for(let v=0,C=m.length;v<C;v++){let y=m[v];if(y.ignore)continue;p.push(Ft.delete(new t(u+v,y.commentStrOffset+1,u+v,y.commentStrOffset+y.commentStrLength+1)))}return p}_createAddLineCommentsOperations(m,u){let p=[],v=this._insertSpace?" ":"";for(let C=0,y=m.length;C<y;C++){let I=m[C];if(I.ignore)continue;p.push(Ft.insert(new o(u+C,I.commentStrOffset+1),I.commentStr+v))}return p}static nextVisibleColumn(m,u,p,v){if(p)return m+(u-m%u);return m+v}static _normalizeInsertionPoint(m,u,p,v){let C=1073741824,y,I;for(let D=0,T=u.length;D<T;D++){if(u[D].ignore)continue;let K=m.getLineContent(p+D),q=0;for(let Q=0,te=u[D].commentStrOffset;q<C&&Q<te;Q++)q=Pr.nextVisibleColumn(q,v,K.charCodeAt(Q)===9,1);if(q<C)C=q}C=Math.floor(C/v)*v;for(let D=0,T=u.length;D<T;D++){if(u[D].ignore)continue;let K=m.getLineContent(p+D),q=0;for(y=0,I=u[D].commentStrOffset;q<C&&y<I;y++)q=Pr.nextVisibleColumn(q,v,K.charCodeAt(y)===9,1);if(q>C)u[D].commentStrOffset=y-1;else u[D].commentStrOffset=y}}}class pp extends W{constructor(m,u){super(u);this._type=m}run(m,u){let p=m.get(et);if(!u.hasModel())return;let v=u.getModel(),C=[],y=v.getOptions(),I=u.getOption(29),D=u.getSelections().map((K,q)=>({selection:K,index:q,ignoreFirstLine:!1}));D.sort((K,q)=>t.compareRangesUsingStarts(K.selection,q.selection));let T=D[0];for(let K=1;K<D.length;K++){let q=D[K];if(T.selection.endLineNumber===q.selection.startLineNumber)if(T.index<q.index)q.ignoreFirstLine=!0;else T.ignoreFirstLine=!0,T=q}for(let K of D)C.push(new Pr(p,K.selection,y.indentSize,this._type,I.insertSpace,I.ignoreEmptyLines,K.ignoreFirstLine));u.pushUndoStop(),u.executeCommands(this.id,C),u.pushUndoStop()}}class ex extends pp{constructor(){super(0,{id:"editor.action.commentLine",label:h(948,"Toggle Line Comment"),precondition:r.writable,kbOpts:{kbExpr:r.editorTextFocus,primary:2138,weight:100},menuOpts:{menuId:a.MenubarEditMenu,group:"5_insert",title:e(946,"&&Toggle Line Comment"),order:1},canTriggerInlineEdits:!0})}}class tx extends pp{constructor(){super(1,{id:"editor.action.addCommentLine",label:h(949,"Add Line Comment"),precondition:r.writable,kbOpts:{kbExpr:r.editorTextFocus,primary:Zt(2089,2081),weight:100},canTriggerInlineEdits:!0})}}class ix extends pp{constructor(){super(2,{id:"editor.action.removeCommentLine",label:h(950,"Remove Line Comment"),precondition:r.writable,kbOpts:{kbExpr:r.editorTextFocus,primary:Zt(2089,2099),weight:100},canTriggerInlineEdits:!0})}}class ox extends W{constructor(){super({id:"editor.action.blockComment",label:h(951,"Toggle Block Comment"),precondition:r.writable,kbOpts:{kbExpr:r.editorTextFocus,primary:1567,linux:{primary:3103},weight:100},menuOpts:{menuId:a.MenubarEditMenu,group:"5_insert",title:e(947,"Toggle &&Block Comment"),order:2},canTriggerInlineEdits:!0})}run(m,u){let p=m.get(et);if(!u.hasModel())return;let v=u.getOption(29),C=[],y=u.getSelections();for(let I of y)C.push(new Mr(I,v.insertSpace,p));u.pushUndoStop(),u.executeCommands(this.id,C),u.pushUndoStop()}}R(ex);R(tx);R(ix);R(ox);class mp{constructor(m){this.selections=m}equals(m){let u=this.selections.length,p=m.selections.length;if(u!==p)return!1;for(let v=0;v<u;v++)if(!this.selections[v].equalsSelection(m.selections[v]))return!1;return!0}}class fp{constructor(m,u,p){this.cursorState=m,this.scrollTop=u,this.scrollLeft=p}}class jd extends n{static{this.ID="editor.contrib.cursorUndoRedoController"}static get(m){return m.getContribution(jd.ID)}constructor(m){super();this._editor=m,this._isCursorUndoRedo=!1,this._undoStack=[],this._redoStack=[],this._register(m.onDidChangeModel((u)=>{this._undoStack=[],this._redoStack=[]})),this._register(m.onDidChangeModelContent((u)=>{this._undoStack=[],this._redoStack=[]})),this._register(m.onDidChangeCursorSelection((u)=>{if(this._isCursorUndoRedo)return;if(!u.oldSelections)return;if(u.oldModelVersionId!==u.modelVersionId)return;let p=new mp(u.oldSelections);if(!(this._undoStack.length>0&&this._undoStack[this._undoStack.length-1].cursorState.equals(p))){if(this._undoStack.push(new fp(p,m.getScrollTop(),m.getScrollLeft())),this._redoStack=[],this._undoStack.length>50)this._undoStack.shift()}}))}cursorUndo(){if(!this._editor.hasModel()||this._undoStack.length===0)return;this._redoStack.push(new fp(new mp(this._editor.getSelections()),this._editor.getScrollTop(),this._editor.getScrollLeft())),this._applyState(this._undoStack.pop())}cursorRedo(){if(!this._editor.hasModel()||this._redoStack.length===0)return;this._undoStack.push(new fp(new mp(this._editor.getSelections()),this._editor.getScrollTop(),this._editor.getScrollLeft())),this._applyState(this._redoStack.pop())}_applyState(m){this._isCursorUndoRedo=!0,this._editor.setSelections(m.cursorState.selections),this._editor.setScrollPosition({scrollTop:m.scrollTop,scrollLeft:m.scrollLeft}),this._isCursorUndoRedo=!1}}class nx extends W{constructor(){super({id:"cursorUndo",label:h(965,"Cursor Undo"),precondition:void 0,kbOpts:{kbExpr:r.textInputFocus,primary:2099,weight:100}})}run(m,u,p){jd.get(u)?.cursorUndo()}}class rx extends W{constructor(){super({id:"cursorRedo",label:h(966,"Cursor Redo"),precondition:void 0})}run(m,u,p){jd.get(u)?.cursorRedo()}}le(jd.ID,jd,0);R(nx);R(rx);class Wb{constructor(m,u,p){this.selection=m,this.targetPosition=u,this.copy=p,this.targetSelection=null}getEditOperations(m,u){let p=m.getValueInRange(this.selection);if(!this.copy)u.addEditOperation(this.selection,null);if(u.addEditOperation(new t(this.targetPosition.lineNumber,this.targetPosition.column,this.targetPosition.lineNumber,this.targetPosition.column),p),this.selection.containsPosition(this.targetPosition)&&!(this.copy&&(this.selection.getEndPosition().equals(this.targetPosition)||this.selection.getStartPosition().equals(this.targetPosition)))){this.targetSelection=this.selection;return}if(this.copy){this.targetSelection=new A(this.targetPosition.lineNumber,this.targetPosition.column,this.selection.endLineNumber-this.selection.startLineNumber+this.targetPosition.lineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column+this.selection.endColumn-this.selection.startColumn:this.selection.endColumn);return}if(this.targetPosition.lineNumber>this.selection.endLineNumber){this.targetSelection=new A(this.targetPosition.lineNumber-this.selection.endLineNumber+this.selection.startLineNumber,this.targetPosition.column,this.targetPosition.lineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column+this.selection.endColumn-this.selection.startColumn:this.selection.endColumn);return}if(this.targetPosition.lineNumber<this.selection.endLineNumber){this.targetSelection=new A(this.targetPosition.lineNumber,this.targetPosition.column,this.targetPosition.lineNumber+this.selection.endLineNumber-this.selection.startLineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column+this.selection.endColumn-this.selection.startColumn:this.selection.endColumn);return}if(this.selection.endColumn<=this.targetPosition.column)this.targetSelection=new A(this.targetPosition.lineNumber-this.selection.endLineNumber+this.selection.startLineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column-this.selection.endColumn+this.selection.startColumn:this.targetPosition.column-this.selection.endColumn+this.selection.startColumn,this.targetPosition.lineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column:this.selection.endColumn);else this.targetSelection=new A(this.targetPosition.lineNumber-this.selection.endLineNumber+this.selection.startLineNumber,this.targetPosition.column,this.targetPosition.lineNumber,this.targetPosition.column+this.selection.endColumn-this.selection.startColumn)}computeCursorState(m,u){return this.targetSelection}}function Gd(m){if(ue)return m.altKey;else return m.ctrlKey}class qd extends n{static{this.ID="editor.contrib.dragAndDrop"}static{this.TRIGGER_KEY_VALUE=ue?6:5}constructor(m){super();this._editor=m,this._dndDecorationIds=this._editor.createDecorationsCollection(),this._register(this._editor.onMouseDown((u)=>this._onEditorMouseDown(u))),this._register(this._editor.onMouseUp((u)=>this._onEditorMouseUp(u))),this._register(this._editor.onMouseDrag((u)=>this._onEditorMouseDrag(u))),this._register(this._editor.onMouseDrop((u)=>this._onEditorMouseDrop(u))),this._register(this._editor.onMouseDropCanceled(()=>this._onEditorMouseDropCanceled())),this._register(this._editor.onKeyDown((u)=>this.onEditorKeyDown(u))),this._register(this._editor.onKeyUp((u)=>this.onEditorKeyUp(u))),this._register(this._editor.onDidBlurEditorWidget(()=>this.onEditorBlur())),this._register(this._editor.onDidBlurEditorText(()=>this.onEditorBlur())),this._mouseDown=!1,this._modifierPressed=!1,this._dragSelection=null}onEditorBlur(){this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1,this._modifierPressed=!1}onEditorKeyDown(m){if(!this._editor.getOption(42)||this._editor.getOption(28))return;if(Gd(m))this._modifierPressed=!0;if(this._mouseDown&&Gd(m))this._editor.updateOptions({mouseStyle:"copy"})}onEditorKeyUp(m){if(!this._editor.getOption(42)||this._editor.getOption(28))return;if(Gd(m))this._modifierPressed=!1;if(this._mouseDown&&m.keyCode===qd.TRIGGER_KEY_VALUE)this._editor.updateOptions({mouseStyle:"default"})}_onEditorMouseDown(m){this._mouseDown=!0}_onEditorMouseUp(m){this._mouseDown=!1,this._editor.updateOptions({mouseStyle:"text"})}_onEditorMouseDrag(m){let u=m.target;if(this._dragSelection===null){let v=(this._editor.getSelections()||[]).filter((C)=>u.position&&C.containsPosition(u.position));if(v.length===1)this._dragSelection=v[0];else return}if(Gd(m.event))this._editor.updateOptions({mouseStyle:"copy"});else this._editor.updateOptions({mouseStyle:"default"});if(u.position)if(this._dragSelection.containsPosition(u.position))this._removeDecoration();else this.showAt(u.position)}_onEditorMouseDropCanceled(){this._editor.updateOptions({mouseStyle:"text"}),this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1}_onEditorMouseDrop(m){if(m.target&&(this._hitContent(m.target)||this._hitMargin(m.target))&&m.target.position){let u=new o(m.target.position.lineNumber,m.target.position.column);if(this._dragSelection===null){let p=null;if(m.event.shiftKey){let v=this._editor.getSelection();if(v){let{selectionStartLineNumber:C,selectionStartColumn:y}=v;p=[new A(C,y,u.lineNumber,u.column)]}}else p=(this._editor.getSelections()||[]).map((v)=>{if(v.containsPosition(u))return new A(u.lineNumber,u.column,u.lineNumber,u.column);else return v});this._editor.setSelections(p||[],"mouse",3)}else if(!this._dragSelection.containsPosition(u)||(Gd(m.event)||this._modifierPressed)&&(this._dragSelection.getEndPosition().equals(u)||this._dragSelection.getStartPosition().equals(u)))this._editor.pushUndoStop(),this._editor.executeCommand(qd.ID,new Wb(this._dragSelection,u,Gd(m.event)||this._modifierPressed)),this._editor.pushUndoStop()}this._editor.updateOptions({mouseStyle:"text"}),this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1}static{this._DECORATION_OPTIONS=re.register({description:"dnd-target",className:"dnd-target"})}showAt(m){this._dndDecorationIds.set([{range:new t(m.lineNumber,m.column,m.lineNumber,m.column),options:qd._DECORATION_OPTIONS}]),this._editor.revealPosition(m,1)}_removeDecoration(){this._dndDecorationIds.clear()}_hitContent(m){return m.type===6||m.type===7}_hitMargin(m){return m.type===2||m.type===3||m.type===4}dispose(){this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1,this._modifierPressed=!1,super.dispose()}}le(qd.ID,qd,2);function Bb(m,u,p,v){if(m.getLineCount()===1&&m.getLineMaxColumn(1)===1)return[];let C=u.getLanguageConfiguration(m.getLanguageId()).indentRulesSupport;if(!C)return[];let y=new Ag(m,C,u);v=Math.min(v,m.getLineCount());while(p<=v){if(!y.shouldIgnore(p))break;p++}if(p>v-1)return[];let{tabSize:I,indentSize:D,insertSpaces:T}=m.getOptions(),K=(ae,ge)=>(ge=ge||1,Lo.shiftIndent(ae,ae.length+ge,I,D,T)),q=(ae,ge)=>(ge=ge||1,Lo.unshiftIndent(ae,ae.length+ge,I,D,T)),Q=[],te=m.getLineContent(p),oe=kt(te),ne=oe;if(y.shouldIncrease(p))ne=K(ne),oe=K(oe);else if(y.shouldIndentNextLine(p))ne=K(ne);p++;for(let ae=p;ae<=v;ae++){if(h2(m,ae))continue;let ge=m.getLineContent(ae),Ie=kt(ge),ke=ne;if(y.shouldDecrease(ae,ke))ne=q(ne),oe=q(oe);if(Ie!==ne)Q.push(Ft.replaceMove(new A(ae,1,ae,Ie.length+1),Ng(ne,D,T)));if(y.shouldIgnore(ae))continue;else if(y.shouldIncrease(ae,ke))oe=K(oe),ne=oe;else if(y.shouldIndentNextLine(ae,ke))ne=K(ne);else ne=oe}return Q}function h2(m,u){if(!m.tokenization.isCheapToTokenize(u))return!1;return m.tokenization.getLineTokens(u).getStandardTokenType(0)===2}function Xi(m,u){let p=0;for(let v=0;v<m.length;v++)if(m.charAt(v)==="\t")p+=u;else p++;return p}function ad(m,u,p){m=m<0?0:m;let v="";if(!p){let C=Math.floor(m/u);m=m%u;for(let y=0;y<C;y++)v+="\t"}for(let C=0;C<m;C++)v+=" ";return v}var u2=function(m,u,p,v){var C=arguments.length,y=C<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,p):v,I;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")y=Reflect.decorate(m,u,p,v);else for(var D=m.length-1;D>=0;D--)if(I=m[D])y=(C<3?I(y):C>3?I(u,p,y):I(u,p))||y;return C>3&&y&&Object.defineProperty(u,p,y),y},g2=function(m,u){return function(p,v){u(p,v,m)}};class Vb extends W{static{this.ID="editor.action.indentationToSpaces"}constructor(){super({id:Vb.ID,label:h(1204,"Convert Indentation to Spaces"),precondition:r.writable,metadata:{description:h(1205,"Convert the tab indentation to spaces.")}})}run(m,u){let p=u.getModel();if(!p)return;let v=p.getOptions(),C=u.getSelection();if(!C)return;let y=new cx(C,v.tabSize);u.pushUndoStop(),u.executeCommands(this.id,[y]),u.pushUndoStop(),p.updateOptions({insertSpaces:!0})}}class Kb extends W{static{this.ID="editor.action.indentationToTabs"}constructor(){super({id:Kb.ID,label:h(1206,"Convert Indentation to Tabs"),precondition:r.writable,metadata:{description:h(1207,"Convert the spaces indentation to tabs.")}})}run(m,u){let p=u.getModel();if(!p)return;let v=p.getOptions(),C=u.getSelection();if(!C)return;let y=new hx(C,v.tabSize);u.pushUndoStop(),u.executeCommands(this.id,[y]),u.pushUndoStop(),p.updateOptions({insertSpaces:!1})}}class bp extends W{constructor(m,u,p){super(p);this.insertSpaces=m,this.displaySizeOnly=u}run(m,u){let p=m.get(un),v=m.get(bt),C=u.getModel();if(!C)return;let y=v.getCreationOptions(C.getLanguageId(),C.uri,C.isForSimpleWidget),I=C.getOptions(),D=[1,2,3,4,5,6,7,8].map((K)=>({id:K.toString(),label:K.toString(),description:K===y.tabSize&&K===I.tabSize?e(1200,"Configured Tab Size"):K===y.tabSize?e(1201,"Default Tab Size"):K===I.tabSize?e(1202,"Current Tab Size"):void 0})),T=Math.min(C.getOptions().tabSize-1,7);setTimeout(()=>{p.pick(D,{placeHolder:e(1203,"Select Tab Size for Current File"),activeItem:D[T]}).then((K)=>{if(K){if(C&&!C.isDisposed()){let q=parseInt(K.label,10);if(this.displaySizeOnly)C.updateOptions({tabSize:q});else C.updateOptions({tabSize:q,indentSize:q,insertSpaces:this.insertSpaces})}}})},50)}}class zb extends bp{static{this.ID="editor.action.indentUsingTabs"}constructor(){super(!1,!1,{id:zb.ID,label:h(1208,"Indent Using Tabs"),precondition:void 0,metadata:{description:h(1209,"Use indentation with tabs.")}})}}class Ub extends bp{static{this.ID="editor.action.indentUsingSpaces"}constructor(){super(!0,!1,{id:Ub.ID,label:h(1210,"Indent Using Spaces"),precondition:void 0,metadata:{description:h(1211,"Use indentation with spaces.")}})}}class $b extends bp{static{this.ID="editor.action.changeTabDisplaySize"}constructor(){super(!0,!0,{id:$b.ID,label:h(1212,"Change Tab Display Size"),precondition:void 0,metadata:{description:h(1213,"Change the space size equivalent of the tab.")}})}}class jb extends W{static{this.ID="editor.action.detectIndentation"}constructor(){super({id:jb.ID,label:h(1214,"Detect Indentation from Content"),precondition:void 0,metadata:{description:h(1215,"Detect the indentation from content.")}})}run(m,u){let p=m.get(bt),v=u.getModel();if(!v)return;let C=p.getCreationOptions(v.getLanguageId(),v.uri,v.isForSimpleWidget);v.detectIndentation(C.insertSpaces,C.tabSize)}}class sx extends W{constructor(){super({id:"editor.action.reindentlines",label:h(1216,"Reindent Lines"),precondition:r.writable,metadata:{description:h(1217,"Reindent the lines of the editor.")},canTriggerInlineEdits:!0})}run(m,u){let p=m.get(et),v=u.getModel();if(!v)return;let C=Bb(v,p,1,v.getLineCount());if(C.length>0)u.pushUndoStop(),u.executeEdits(this.id,C),u.pushUndoStop()}}class ax extends W{constructor(){super({id:"editor.action.reindentselectedlines",label:h(1218,"Reindent Selected Lines"),precondition:r.writable,metadata:{description:h(1219,"Reindent the selected lines of the editor.")},canTriggerInlineEdits:!0})}run(m,u){let p=m.get(et),v=u.getModel();if(!v)return;let C=u.getSelections();if(C===null)return;let y=[];for(let I of C){let{startLineNumber:D,endLineNumber:T}=I;if(D!==T&&I.endColumn===1)T--;if(D===1){if(D===T)continue}else D--;let K=Bb(v,p,D,T);y.push(...K)}if(y.length>0)u.pushUndoStop(),u.executeEdits(this.id,y),u.pushUndoStop()}}class dx{constructor(m,u){this._initialSelection=u,this._edits=[],this._selectionId=null;for(let p of m)if(p.range&&typeof p.text==="string")this._edits.push(p)}getEditOperations(m,u){for(let v of this._edits)u.addEditOperation(t.lift(v.range),v.text);let p=!1;if(Array.isArray(this._edits)&&this._edits.length===1&&this._initialSelection.isEmpty()){if(this._edits[0].range.startColumn===this._initialSelection.endColumn&&this._edits[0].range.startLineNumber===this._initialSelection.endLineNumber)p=!0,this._selectionId=u.trackSelection(this._initialSelection,!0);else if(this._edits[0].range.endColumn===this._initialSelection.startColumn&&this._edits[0].range.endLineNumber===this._initialSelection.startLineNumber)p=!0,this._selectionId=u.trackSelection(this._initialSelection,!1)}if(!p)this._selectionId=u.trackSelection(this._initialSelection)}computeCursorState(m,u){return u.getTrackedSelection(this._selectionId)}}var _p=class m{static{this.ID="editor.contrib.autoIndentOnPaste"}constructor(u,p){this.editor=u,this._languageConfigurationService=p,this.callOnDispose=new c,this.callOnModel=new c,this.callOnDispose.add(u.onDidChangeConfiguration(()=>this.update())),this.callOnDispose.add(u.onDidChangeModel(()=>this.update())),this.callOnDispose.add(u.onDidChangeModelLanguage(()=>this.update()))}update(){if(this.callOnModel.clear(),!this.editor.getOption(17)||this.editor.getOption(16)<4)return;if(!this.editor.hasModel())return;this.callOnModel.add(this.editor.onDidPaste(({range:u})=>{this.trigger(u)}))}trigger(u){let p=this.editor.getSelections();if(p===null||p.length>1)return;let v=this.editor.getModel();if(!v)return;if(this.rangeContainsOnlyWhitespaceCharacters(v,u))return;if(!this.editor.getOption(18)&&p2(v,u))return;if(!v.tokenization.isCheapToTokenize(u.getStartPosition().lineNumber))return;let y=this.editor.getOption(16),{tabSize:I,indentSize:D,insertSpaces:T}=v.getOptions(),K=[],q={shiftIndent:(ne)=>Lo.shiftIndent(ne,ne.length+1,I,D,T),unshiftIndent:(ne)=>Lo.unshiftIndent(ne,ne.length+1,I,D,T)},Q=u.startLineNumber,te=v.getLineContent(Q);if(!/\S/.test(te.substring(0,u.startColumn-1))){let ne=Ef(y,v,v.getLanguageId(),Q,q,this._languageConfigurationService);if(ne!==null){let ae=kt(te),ge=Xi(ne,I),Ie=Xi(ae,I);if(ge!==Ie){let ke=ad(ge,I,T);K.push({range:new t(Q,1,Q,ae.length+1),text:ke}),te=ke+te.substring(ae.length)}else{let ke=V_(v,Q,this._languageConfigurationService);if(ke===0||ke===8)return}}}let oe=Q;while(Q<u.endLineNumber){if(!/\S/.test(v.getLineContent(Q+1))){Q++;continue}break}if(Q!==u.endLineNumber){let ae=Ef(y,{tokenization:{getLineTokens:(ge)=>v.tokenization.getLineTokens(ge),getLanguageId:()=>v.getLanguageId(),getLanguageIdAtPosition:(ge,Ie)=>v.getLanguageIdAtPosition(ge,Ie)},getLineContent:(ge)=>{if(ge===oe)return te;else return v.getLineContent(ge)}},v.getLanguageId(),Q+1,q,this._languageConfigurationService);if(ae!==null){let ge=Xi(ae,I),Ie=Xi(kt(v.getLineContent(Q+1)),I);if(ge!==Ie){let ke=ge-Ie;for(let Oe=Q+1;Oe<=u.endLineNumber;Oe++){let Ve=v.getLineContent(Oe),Ue=kt(Ve),He=Xi(Ue,I)+ke,Je=ad(He,I,T);if(Je!==Ue)K.push({range:new t(Oe,1,Oe,Ue.length+1),text:Je})}}}}if(K.length>0){this.editor.pushUndoStop();let ne=new dx(K,this.editor.getSelection());this.editor.executeCommand("autoIndentOnPaste",ne),this.editor.pushUndoStop()}}rangeContainsOnlyWhitespaceCharacters(u,p){let v=(y)=>y.trim().length===0,C=!0;if(p.startLineNumber===p.endLineNumber){let I=u.getLineContent(p.startLineNumber).substring(p.startColumn-1,p.endColumn-1);C=v(I)}else for(let y=p.startLineNumber;y<=p.endLineNumber;y++){let I=u.getLineContent(y);if(y===p.startLineNumber){let D=I.substring(p.startColumn-1);C=v(D)}else if(y===p.endLineNumber){let D=I.substring(0,p.endColumn-1);C=v(D)}else C=u.getLineFirstNonWhitespaceColumn(y)===0;if(!C)break}return C}dispose(){this.callOnDispose.dispose(),this.callOnModel.dispose()}};_p=u2([g2(1,et)],_p);function p2(m,u){let p=(v)=>S$(m,v)===2;return p(u.getStartPosition())||p(u.getEndPosition())}function lx(m,u,p,v){if(m.getLineCount()===1&&m.getLineMaxColumn(1)===1)return;let C="";for(let I=0;I<p;I++)C+=" ";let y=new RegExp(C,"gi");for(let I=1,D=m.getLineCount();I<=D;I++){let T=m.getLineFirstNonWhitespaceColumn(I);if(T===0)T=m.getLineMaxColumn(I);if(T===1)continue;let K=new t(I,1,I,T),q=m.getValueInRange(K),Q=v?q.replace(/\t/ig,C):q.replace(y,"\t");u.addEditOperation(K,Q)}}class cx{constructor(m,u){this.selection=m,this.tabSize=u,this.selectionId=null}getEditOperations(m,u){this.selectionId=u.trackSelection(this.selection),lx(m,u,this.tabSize,!0)}computeCursorState(m,u){return u.getTrackedSelection(this.selectionId)}}class hx{constructor(m,u){this.selection=m,this.tabSize=u,this.selectionId=null}getEditOperations(m,u){this.selectionId=u.trackSelection(this.selection),lx(m,u,this.tabSize,!1)}computeCursorState(m,u){return u.getTrackedSelection(this.selectionId)}}le(_p.ID,_p,2);R(Vb);R(Kb);R(zb);R(Ub);R($b);R(jb);R(sx);R(ax);class ux extends W{constructor(){super({id:"expandLineSelection",label:h(1309,"Expand Line Selection"),precondition:void 0,kbOpts:{weight:0,kbExpr:r.textInputFocus,primary:2090}})}run(m,u,p){if(p=p||{},!u.hasModel())return;let v=u._getViewModel();v.model.pushStackElement(),v.setCursorStates(p.source,3,bi.expandLineSelection(v,v.getCursorStates())),v.revealAllCursors(p.source,!0)}}R(ux);class Gb{constructor(m,u,p){this._selection=m,this._cursors=u,this._selectionId=null,this._trimInRegexesAndStrings=p}getEditOperations(m,u){let p=m2(m,this._cursors,this._trimInRegexesAndStrings);for(let v=0,C=p.length;v<C;v++){let y=p[v];u.addEditOperation(y.range,y.text)}this._selectionId=u.trackSelection(this._selection)}computeCursorState(m,u){return u.getTrackedSelection(this._selectionId)}}function m2(m,u,p){u.sort((D,T)=>{if(D.lineNumber===T.lineNumber)return D.column-T.column;return D.lineNumber-T.lineNumber});for(let D=u.length-2;D>=0;D--)if(u[D].lineNumber===u[D+1].lineNumber)u.splice(D,1);let v=[],C=0,y=0,I=u.length;for(let D=1,T=m.getLineCount();D<=T;D++){let K=m.getLineContent(D),q=K.length+1,Q=0;if(y<I&&u[y].lineNumber===D){if(Q=u[y].column,y++,Q===q)continue}if(K.length===0)continue;let te=Br(K),oe=0;if(te===-1)oe=1;else if(te!==K.length-1)oe=te+2;else continue;if(!p){if(!m.tokenization.hasAccurateTokensForLine(D))continue;let ne=m.tokenization.getLineTokens(D),ae=ne.getStandardTokenType(ne.findTokenIndexAtOffset(oe));if(ae===2||ae===3)continue}oe=Math.max(Q,oe),v[C++]=Ft.delete(new t(D,oe,D,q))}return v}class vp{constructor(m,u,p){this._selection=m,this._isCopyingDown=u,this._noop=p||!1,this._selectionDirection=0,this._selectionId=null,this._startLineNumberDelta=0,this._endLineNumberDelta=0}getEditOperations(m,u){let p=this._selection;if(this._startLineNumberDelta=0,this._endLineNumberDelta=0,p.startLineNumber<p.endLineNumber&&p.endColumn===1)this._endLineNumberDelta=1,p=p.setEndPosition(p.endLineNumber-1,m.getLineMaxColumn(p.endLineNumber-1));let v=[];for(let y=p.startLineNumber;y<=p.endLineNumber;y++)v.push(m.getLineContent(y));let C=v.join(`
|
|
8
|
-
`);if(C===""){if(this._isCopyingDown)this._startLineNumberDelta++,this._endLineNumberDelta++}if(this._noop)u.addEditOperation(new t(p.endLineNumber,m.getLineMaxColumn(p.endLineNumber),p.endLineNumber+1,1),p.endLineNumber===m.getLineCount()?"":`
|
|
9
|
-
`);else if(!this._isCopyingDown)u.addEditOperation(new t(p.endLineNumber,m.getLineMaxColumn(p.endLineNumber),p.endLineNumber,m.getLineMaxColumn(p.endLineNumber)),`
|
|
10
|
-
`+C);else u.addEditOperation(new t(p.startLineNumber,1,p.startLineNumber,1),C+`
|
|
11
|
-
`);this._selectionId=u.trackSelection(p),this._selectionDirection=this._selection.getDirection()}computeCursorState(m,u){let p=u.getTrackedSelection(this._selectionId);if(this._startLineNumberDelta!==0||this._endLineNumberDelta!==0){let v=p.startLineNumber,C=p.startColumn,y=p.endLineNumber,I=p.endColumn;if(this._startLineNumberDelta!==0)v=v+this._startLineNumberDelta,C=1;if(this._endLineNumberDelta!==0)y=y+this._endLineNumberDelta,I=1;p=A.createWithDirection(v,C,y,I,this._selectionDirection)}return p}}var f2=function(m,u,p,v){var C=arguments.length,y=C<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,p):v,I;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")y=Reflect.decorate(m,u,p,v);else for(var D=m.length-1;D>=0;D--)if(I=m[D])y=(C<3?I(y):C>3?I(u,p,y):I(u,p))||y;return C>3&&y&&Object.defineProperty(u,p,y),y},_2=function(m,u){return function(p,v){u(p,v,m)}},Sp=class m{constructor(u,p,v,C){this._languageConfigurationService=C,this._selection=u,this._isMovingDown=p,this._autoIndent=v,this._selectionId=null,this._moveEndLineSelectionShrink=!1}createVirtualModel(u,p,v){return{tokenization:{getLineTokens:(C)=>u.tokenization.getLineTokens(p(C)),getLanguageId:()=>u.getLanguageId(),getLanguageIdAtPosition:(C,y)=>u.getLanguageIdAtPosition(C,y)},getLineContent:(C)=>{let y=v?.(C);if(y!==void 0)return y;return u.getLineContent(p(C))}}}getEditOperations(u,p){let v=u.getLineCount();if(this._isMovingDown&&this._selection.endLineNumber===v){this._selectionId=p.trackSelection(this._selection);return}if(!this._isMovingDown&&this._selection.startLineNumber===1){this._selectionId=p.trackSelection(this._selection);return}this._moveEndPositionDown=!1;let C=this._selection;if(C.startLineNumber<C.endLineNumber&&C.endColumn===1)this._moveEndPositionDown=!0,C=C.setEndPosition(C.endLineNumber-1,u.getLineMaxColumn(C.endLineNumber-1));let{tabSize:y,indentSize:I,insertSpaces:D}=u.getOptions(),T=this.buildIndentConverter(y,I,D);if(C.startLineNumber===C.endLineNumber&&u.getLineMaxColumn(C.startLineNumber)===1){let K=C.startLineNumber,q=this._isMovingDown?K+1:K-1;if(u.getLineMaxColumn(q)===1)p.addEditOperation(new t(1,1,1,1),null);else p.addEditOperation(new t(K,1,K,1),u.getLineContent(q)),p.addEditOperation(new t(q,1,q,u.getLineMaxColumn(q)),null);C=new A(q,1,q,1)}else{let K,q;if(this._isMovingDown){K=C.endLineNumber+1,q=u.getLineContent(K),p.addEditOperation(new t(K-1,u.getLineMaxColumn(K-1),K,u.getLineMaxColumn(K)),null);let Q=q;if(this.shouldAutoIndent(u,C)){let te=this.matchEnterRule(u,T,y,K,C.startLineNumber-1);if(te!==null){let ne=kt(u.getLineContent(K)),ae=te+Xi(ne,y);Q=ad(ae,y,D)+this.trimStart(q)}else{let ne=this.createVirtualModel(u,(ge)=>ge===C.startLineNumber?K:ge),ae=Ef(this._autoIndent,ne,u.getLanguageIdAtPosition(K,1),C.startLineNumber,T,this._languageConfigurationService);if(ae!==null){let ge=kt(u.getLineContent(K)),Ie=Xi(ae,y),ke=Xi(ge,y);if(Ie!==ke)Q=ad(Ie,y,D)+this.trimStart(q)}}p.addEditOperation(new t(C.startLineNumber,1,C.startLineNumber,1),Q+`
|
|
12
|
-
`);let oe=this.matchEnterRuleMovingDown(u,T,y,C.startLineNumber,K,Q);if(oe!==null){if(oe!==0)this.getIndentEditsOfMovingBlock(u,p,C,y,D,oe)}else{let ne=this.createVirtualModel(u,(ge)=>{if(ge===C.startLineNumber)return K;else if(ge>=C.startLineNumber+1&&ge<=C.endLineNumber+1)return ge-1;else return ge},(ge)=>ge===C.startLineNumber?Q:void 0),ae=Ef(this._autoIndent,ne,u.getLanguageIdAtPosition(K,1),C.startLineNumber+1,T,this._languageConfigurationService);if(ae!==null){let ge=kt(u.getLineContent(C.startLineNumber)),Ie=Xi(ae,y),ke=Xi(ge,y);if(Ie!==ke){let Oe=Ie-ke;this.getIndentEditsOfMovingBlock(u,p,C,y,D,Oe)}}}}else p.addEditOperation(new t(C.startLineNumber,1,C.startLineNumber,1),Q+`
|
|
13
|
-
`)}else if(K=C.startLineNumber-1,q=u.getLineContent(K),p.addEditOperation(new t(K,1,K+1,1),null),p.addEditOperation(new t(C.endLineNumber,u.getLineMaxColumn(C.endLineNumber),C.endLineNumber,u.getLineMaxColumn(C.endLineNumber)),`
|
|
14
|
-
`+q),this.shouldAutoIndent(u,C)){let Q=this.createVirtualModel(u,(oe)=>oe===K?C.startLineNumber:oe),te=this.matchEnterRule(u,T,y,C.startLineNumber,C.startLineNumber-2);if(te!==null){if(te!==0)this.getIndentEditsOfMovingBlock(u,p,C,y,D,te)}else{let oe=Ef(this._autoIndent,Q,u.getLanguageIdAtPosition(C.startLineNumber,1),K,T,this._languageConfigurationService);if(oe!==null){let ne=kt(u.getLineContent(C.startLineNumber)),ae=Xi(oe,y),ge=Xi(ne,y);if(ae!==ge){let Ie=ae-ge;this.getIndentEditsOfMovingBlock(u,p,C,y,D,Ie)}}}}}this._selectionId=p.trackSelection(C)}buildIndentConverter(u,p,v){return{shiftIndent:(C)=>Lo.shiftIndent(C,C.length+1,u,p,v),unshiftIndent:(C)=>Lo.unshiftIndent(C,C.length+1,u,p,v)}}parseEnterResult(u,p,v,C,y){if(y){let I=y.indentation;if(y.indentAction===Bn.None)I=y.indentation+y.appendText;else if(y.indentAction===Bn.Indent)I=y.indentation+y.appendText;else if(y.indentAction===Bn.IndentOutdent)I=y.indentation;else if(y.indentAction===Bn.Outdent)I=p.unshiftIndent(y.indentation)+y.appendText;let D=u.getLineContent(C);if(this.trimStart(D).indexOf(this.trimStart(I))>=0){let T=kt(u.getLineContent(C)),K=kt(I),q=V_(u,C,this._languageConfigurationService);if(q!==null&&q&2)K=p.unshiftIndent(K);let Q=Xi(K,v),te=Xi(T,v);return Q-te}}return null}matchEnterRuleMovingDown(u,p,v,C,y,I){if(Br(I)>=0){let D=u.getLineMaxColumn(y),T=xu(this._autoIndent,u,new t(y,D,y,D),this._languageConfigurationService);return this.parseEnterResult(u,p,v,C,T)}else{let D=C-1;while(D>=1){let q=u.getLineContent(D);if(Br(q)>=0)break;D--}if(D<1||C>u.getLineCount())return null;let T=u.getLineMaxColumn(D),K=xu(this._autoIndent,u,new t(D,T,D,T),this._languageConfigurationService);return this.parseEnterResult(u,p,v,C,K)}}matchEnterRule(u,p,v,C,y,I){let D=y;while(D>=1){let q;if(D===y&&I!==void 0)q=I;else q=u.getLineContent(D);if(Br(q)>=0)break;D--}if(D<1||C>u.getLineCount())return null;let T=u.getLineMaxColumn(D),K=xu(this._autoIndent,u,new t(D,T,D,T),this._languageConfigurationService);return this.parseEnterResult(u,p,v,C,K)}trimStart(u){return u.replace(/^\s+/,"")}shouldAutoIndent(u,p){if(this._autoIndent<4)return!1;if(!u.tokenization.isCheapToTokenize(p.startLineNumber))return!1;let v=u.getLanguageIdAtPosition(p.startLineNumber,1),C=u.getLanguageIdAtPosition(p.endLineNumber,1);if(v!==C)return!1;if(this._languageConfigurationService.getLanguageConfiguration(v).indentRulesSupport===null)return!1;return!0}getIndentEditsOfMovingBlock(u,p,v,C,y,I){for(let D=v.startLineNumber;D<=v.endLineNumber;D++){let T=u.getLineContent(D),K=kt(T),Q=Xi(K,C)+I,te=ad(Q,C,y);if(te!==K){if(p.addEditOperation(new t(D,1,D,K.length+1),te),D===v.endLineNumber&&v.endColumn<=K.length+1&&te==="")this._moveEndLineSelectionShrink=!0}}}computeCursorState(u,p){let v=p.getTrackedSelection(this._selectionId);if(this._moveEndPositionDown)v=v.setEndPosition(v.endLineNumber+1,1);if(this._moveEndLineSelectionShrink&&v.startLineNumber<v.endLineNumber)v=v.setEndPosition(v.endLineNumber,2);return v}};Sp=f2([_2(3,et)],Sp);class Mc{static{this._COLLATOR=Sl.Collator()}constructor(m,u){this.selection=m,this.descending=u,this.selectionId=null}getEditOperations(m,u){let p=b2(m,this.selection,this.descending);if(p)u.addEditOperation(p.range,p.text);this.selectionId=u.trackSelection(this.selection)}computeCursorState(m,u){return u.getTrackedSelection(this.selectionId)}static canRun(m,u,p){if(m===null)return!1;let v=gx(m,u,p);if(!v)return!1;for(let C=0,y=v.before.length;C<y;C++)if(v.before[C]!==v.after[C])return!0;return!1}}function gx(m,u,p){let{startLineNumber:v,endLineNumber:C}=u;if(u.endColumn===1)C--;if(v>=C)return null;let y=[];for(let D=v;D<=C;D++)y.push(m.getLineContent(D));let I=y.slice(0);if(I.sort(Mc._COLLATOR.value.compare),p===!0)I=I.reverse();return{startLineNumber:v,endLineNumber:C,before:y,after:I}}function b2(m,u,p){let v=gx(m,u,p);if(!v)return null;return Ft.replace(new t(v.startLineNumber,1,v.endLineNumber,m.getLineMaxColumn(v.endLineNumber)),v.after.join(`
|
|
15
|
-
`))}class qb extends W{constructor(m,u){super(u);this.down=m}run(m,u){if(!u.hasModel())return;let p=u.getSelections().map((y,I)=>({selection:y,index:I,ignore:!1}));p.sort((y,I)=>t.compareRangesUsingStarts(y.selection,I.selection));let v=p[0];for(let y=1;y<p.length;y++){let I=p[y];if(v.selection.endLineNumber===I.selection.startLineNumber)if(v.index<I.index)I.ignore=!0;else v.ignore=!0,v=I}let C=[];for(let y of p)C.push(new vp(y.selection,this.down,y.ignore));u.pushUndoStop(),u.executeCommands(this.id,C),u.pushUndoStop()}}class px extends qb{constructor(){super(!1,{id:"editor.action.copyLinesUpAction",label:h(1315,"Copy Line Up"),precondition:r.writable,kbOpts:{kbExpr:r.editorTextFocus,primary:1552,linux:{primary:3600},weight:100},menuOpts:{menuId:a.MenubarSelectionMenu,group:"2_line",title:e(1310,"&&Copy Line Up"),order:1},canTriggerInlineEdits:!0})}}class mx extends qb{constructor(){super(!0,{id:"editor.action.copyLinesDownAction",label:h(1316,"Copy Line Down"),precondition:r.writable,kbOpts:{kbExpr:r.editorTextFocus,primary:1554,linux:{primary:3602},weight:100},menuOpts:{menuId:a.MenubarSelectionMenu,group:"2_line",title:e(1311,"Co&&py Line Down"),order:2},canTriggerInlineEdits:!0})}}class fx extends W{constructor(){super({id:"editor.action.duplicateSelection",label:h(1317,"Duplicate Selection"),precondition:r.writable,menuOpts:{menuId:a.MenubarSelectionMenu,group:"2_line",title:e(1312,"&&Duplicate Selection"),order:5},canTriggerInlineEdits:!0})}run(m,u,p){if(!u.hasModel())return;let v=[],C=u.getSelections(),y=u.getModel();for(let I of C)if(I.isEmpty())v.push(new vp(I,!0));else{let D=new A(I.endLineNumber,I.endColumn,I.endLineNumber,I.endColumn);v.push(new pk(D,y.getValueInRange(I)))}u.pushUndoStop(),u.executeCommands(this.id,v),u.pushUndoStop()}}class Zb extends W{constructor(m,u){super(u);this.down=m}run(m,u){let p=m.get(et),v=[],C=u.getSelections()||[],y=u.getOption(16);for(let I of C)v.push(new Sp(I,this.down,y,p));u.pushUndoStop(),u.executeCommands(this.id,v),u.pushUndoStop()}}class _x extends Zb{constructor(){super(!1,{id:"editor.action.moveLinesUpAction",label:h(1318,"Move Line Up"),precondition:r.writable,kbOpts:{kbExpr:r.editorTextFocus,primary:528,linux:{primary:528},weight:100},menuOpts:{menuId:a.MenubarSelectionMenu,group:"2_line",title:e(1313,"Mo&&ve Line Up"),order:3},canTriggerInlineEdits:!0})}}class bx extends Zb{constructor(){super(!0,{id:"editor.action.moveLinesDownAction",label:h(1319,"Move Line Down"),precondition:r.writable,kbOpts:{kbExpr:r.editorTextFocus,primary:530,linux:{primary:530},weight:100},menuOpts:{menuId:a.MenubarSelectionMenu,group:"2_line",title:e(1314,"Move &&Line Down"),order:4},canTriggerInlineEdits:!0})}}class Xb extends W{constructor(m,u){super(u);this.descending=m}run(m,u){if(!u.hasModel())return;let p=u.getModel(),v=u.getSelections();if(v.length===1&&v[0].isSingleLine())v=[new A(1,1,p.getLineCount(),p.getLineMaxColumn(p.getLineCount()))];for(let y of v)if(!Mc.canRun(u.getModel(),y,this.descending))return;let C=[];for(let y=0,I=v.length;y<I;y++)C[y]=new Mc(v[y],this.descending);u.pushUndoStop(),u.executeCommands(this.id,C),u.pushUndoStop()}}class vx extends Xb{constructor(){super(!1,{id:"editor.action.sortLinesAscending",label:h(1320,"Sort Lines Ascending"),precondition:r.writable,canTriggerInlineEdits:!0})}}class Sx extends Xb{constructor(){super(!0,{id:"editor.action.sortLinesDescending",label:h(1321,"Sort Lines Descending"),precondition:r.writable,canTriggerInlineEdits:!0})}}class wx extends W{constructor(){super({id:"editor.action.removeDuplicateLines",label:h(1322,"Delete Duplicate Lines"),precondition:r.writable,canTriggerInlineEdits:!0})}run(m,u){if(!u.hasModel())return;let p=u.getModel();if(p.getLineCount()===1&&p.getLineMaxColumn(1)===1)return;let v=[],C=[],y=0,I=!0,D=u.getSelections();if(D.length===1&&D[0].isSingleLine())D=[new A(1,1,p.getLineCount(),p.getLineMaxColumn(p.getLineCount()))],I=!1;for(let T of D){let K=new Set,q=[];for(let ne=T.startLineNumber;ne<=T.endLineNumber;ne++){let ae=p.getLineContent(ne);if(K.has(ae))continue;q.push(ae),K.add(ae)}let Q=new A(T.startLineNumber,1,T.endLineNumber,p.getLineMaxColumn(T.endLineNumber)),te=T.startLineNumber-y,oe=new A(te,1,te+q.length-1,q[q.length-1].length+1);v.push(Ft.replace(Q,q.join(`
|
|
16
|
-
`))),C.push(oe),y+=T.endLineNumber-T.startLineNumber+1-q.length}u.pushUndoStop(),u.executeEdits(this.id,v,I?C:void 0),u.pushUndoStop()}}class Cx extends W{constructor(){super({id:"editor.action.reverseLines",label:h(1323,"Reverse lines"),precondition:r.writable,canTriggerInlineEdits:!0})}run(m,u){if(!u.hasModel())return;let p=u.getModel(),v=u.getSelections(),C=v;if(C.length===1&&C[0].isSingleLine())C=[new A(1,1,p.getLineCount(),p.getLineMaxColumn(p.getLineCount()))];let y=[],I=[];for(let D=0;D<C.length;D++){let T=C[D],K=v[D],q=T.endLineNumber;if(T.startLineNumber<T.endLineNumber&&T.endColumn===1)q--;let Q=new t(T.startLineNumber,1,q,p.getLineMaxColumn(q));if(q===p.getLineCount()&&p.getLineContent(Q.endLineNumber)==="")Q=Q.setEndPosition(Q.endLineNumber-1,p.getLineMaxColumn(Q.endLineNumber-1));let te=[];for(let ge=Q.endLineNumber;ge>=Q.startLineNumber;ge--)te.push(p.getLineContent(ge));let oe=Ft.replace(Q,te.join(`
|
|
17
|
-
`));y.push(oe);let ne=function(ge){return ge<=Q.endLineNumber?Q.endLineNumber-ge+Q.startLineNumber:ge},ae=function(ge){if(ge.isEmpty())return new A(ne(ge.positionLineNumber),ge.positionColumn,ne(ge.positionLineNumber),ge.positionColumn);else{let Ie=ne(ge.selectionStartLineNumber),ke=ne(ge.positionLineNumber),{selectionStartColumn:Oe,positionColumn:Ve}=ge;return new A(Ie,Oe,ke,Ve)}};I.push(ae(K))}u.pushUndoStop(),u.executeEdits(this.id,y,I),u.pushUndoStop()}}class Yb extends W{static{this.ID="editor.action.trimTrailingWhitespace"}constructor(){super({id:Yb.ID,label:h(1324,"Trim Trailing Whitespace"),precondition:r.writable,kbOpts:{kbExpr:r.editorTextFocus,primary:Zt(2089,2102),weight:100}})}run(m,u,p){let v=[];if(p.reason==="auto-save")v=(u.getSelections()||[]).map((K)=>new o(K.positionLineNumber,K.positionColumn));let C=u.getSelection();if(C===null)return;let y=m.get(X),I=u.getModel(),D=y.getValue("files.trimTrailingWhitespaceInRegexAndStrings",{overrideIdentifier:I?.getLanguageId(),resource:I?.uri}),T=new Gb(C,v,D);u.pushUndoStop(),u.executeCommands(this.id,[T]),u.pushUndoStop()}}class yx extends W{constructor(){super({id:"editor.action.deleteLines",label:h(1325,"Delete Line"),precondition:r.writable,kbOpts:{kbExpr:r.textInputFocus,primary:3113,weight:100},canTriggerInlineEdits:!0})}run(m,u){if(!u.hasModel())return;let p=this._getLinesToRemove(u),v=u.getModel();if(v.getLineCount()===1&&v.getLineMaxColumn(1)===1)return;let C=0,y=[],I=[];for(let D=0,T=p.length;D<T;D++){let K=p[D],{startLineNumber:q,endLineNumber:Q}=K,te=1,oe=v.getLineMaxColumn(Q);if(Q<v.getLineCount())Q+=1,oe=1;else if(q>1)q-=1,te=v.getLineMaxColumn(q);y.push(Ft.replace(new A(q,te,Q,oe),"")),I.push(new A(q-C,K.positionColumn,q-C,K.positionColumn)),C+=K.endLineNumber-K.startLineNumber+1}u.pushUndoStop(),u.executeEdits(this.id,y,I),u.revealAllCursors(!0),u.pushUndoStop()}_getLinesToRemove(m){let u=m.getSelections().map((C)=>{let y=C.endLineNumber;if(C.startLineNumber<C.endLineNumber&&C.endColumn===1)y-=1;return{startLineNumber:C.startLineNumber,selectionStartColumn:C.selectionStartColumn,endLineNumber:y,positionColumn:C.positionColumn}});u.sort((C,y)=>{if(C.startLineNumber===y.startLineNumber)return C.endLineNumber-y.endLineNumber;return C.startLineNumber-y.startLineNumber});let p=[],v=u[0];for(let C=1;C<u.length;C++)if(v.endLineNumber+1>=u[C].startLineNumber)v.endLineNumber=u[C].endLineNumber;else p.push(v),v=u[C];return p.push(v),p}}class xx extends W{constructor(){super({id:"editor.action.indentLines",label:h(1326,"Indent Line"),precondition:r.writable,kbOpts:{kbExpr:r.editorTextFocus,primary:2142,weight:100},canTriggerInlineEdits:!0})}run(m,u){let p=u._getViewModel();if(!p)return;u.pushUndoStop(),u.executeCommands(this.id,El.indent(p.cursorConfig,u.getModel(),u.getSelections())),u.pushUndoStop()}}class Ix extends W{constructor(){super({id:"editor.action.outdentLines",label:h(1327,"Outdent Line"),precondition:r.writable,kbOpts:{kbExpr:r.editorTextFocus,primary:2140,weight:100},canTriggerInlineEdits:!0})}run(m,u){qh.Outdent.runEditorCommand(m,u,null)}}class Pc extends W{static{this.ID="editor.action.insertLineBefore"}constructor(){super({id:Pc.ID,label:h(1328,"Insert Line Above"),precondition:r.writable,kbOpts:{kbExpr:r.editorTextFocus,primary:3075,weight:100},canTriggerInlineEdits:!0})}run(m,u){let p=u._getViewModel();if(!p)return;u.pushUndoStop(),u.executeCommands(this.id,Uh.lineInsertBefore(p.cursorConfig,u.getModel(),u.getSelections()))}}class Ac extends W{static{this.ID="editor.action.insertLineAfter"}constructor(){super({id:Ac.ID,label:h(1329,"Insert Line Below"),precondition:r.writable,kbOpts:{kbExpr:r.editorTextFocus,primary:2051,weight:100},canTriggerInlineEdits:!0})}run(m,u){let p=u._getViewModel();if(!p)return;u.pushUndoStop(),u.executeCommands(this.id,Uh.lineInsertAfter(p.cursorConfig,u.getModel(),u.getSelections()))}}class Jb extends W{run(m,u){if(!u.hasModel())return;let p=u.getSelection(),v=this._getRangesToDelete(u),C=[];for(let D=0,T=v.length-1;D<T;D++){let K=v[D],q=v[D+1];if(t.intersectRanges(K,q)===null)C.push(K);else v[D+1]=t.plusRange(K,q)}C.push(v[v.length-1]);let y=this._getEndCursorState(p,C),I=C.map((D)=>Ft.replace(D,""));u.pushUndoStop(),u.executeEdits(this.id,I,y),u.pushUndoStop()}}class Lx extends Jb{constructor(){super({id:"deleteAllLeft",label:h(1330,"Delete All Left"),precondition:r.writable,kbOpts:{kbExpr:r.textInputFocus,primary:0,mac:{primary:2049},weight:100},canTriggerInlineEdits:!0})}_getEndCursorState(m,u){let p=null,v=[],C=0;if(u.forEach((y)=>{let I;if(y.endColumn===1&&C>0){let D=y.startLineNumber-C;I=new A(D,y.startColumn,D,y.startColumn)}else I=new A(y.startLineNumber,y.startColumn,y.startLineNumber,y.startColumn);if(C+=y.endLineNumber-y.startLineNumber,y.intersectRanges(m))p=I;else v.push(I)}),p)v.unshift(p);return v}_getRangesToDelete(m){let u=m.getSelections();if(u===null)return[];let p=u,v=m.getModel();if(v===null)return[];return p.sort(t.compareRangesUsingStarts),p=p.map((C)=>{if(C.isEmpty())if(C.startColumn===1){let y=Math.max(1,C.startLineNumber-1),I=C.startLineNumber===1?1:v.getLineLength(y)+1;return new t(y,I,C.startLineNumber,1)}else return new t(C.startLineNumber,1,C.startLineNumber,C.startColumn);else return new t(C.startLineNumber,1,C.endLineNumber,C.endColumn)}),p}}class Ex extends Jb{constructor(){super({id:"deleteAllRight",label:h(1331,"Delete All Right"),precondition:r.writable,kbOpts:{kbExpr:r.textInputFocus,primary:0,mac:{primary:297,secondary:[2068]},weight:100},canTriggerInlineEdits:!0})}_getEndCursorState(m,u){let p=null,v=[];for(let C=0,y=u.length,I=0;C<y;C++){let D=u[C],T=new A(D.startLineNumber-I,D.startColumn,D.startLineNumber-I,D.startColumn);if(D.intersectRanges(m))p=T;else v.push(T)}if(p)v.unshift(p);return v}_getRangesToDelete(m){let u=m.getModel();if(u===null)return[];let p=m.getSelections();if(p===null)return[];let v=p.map((C)=>{if(C.isEmpty()){let y=u.getLineMaxColumn(C.startLineNumber);if(C.startColumn===y)return new t(C.startLineNumber,C.startColumn,C.startLineNumber+1,1);else return new t(C.startLineNumber,C.startColumn,C.startLineNumber,y)}return C});return v.sort(t.compareRangesUsingStarts),v}}class Dx extends W{constructor(){super({id:"editor.action.joinLines",label:h(1332,"Join Lines"),precondition:r.writable,kbOpts:{kbExpr:r.editorTextFocus,primary:0,mac:{primary:296},weight:100},canTriggerInlineEdits:!0})}run(m,u){let p=u.getSelections();if(p===null)return;let v=u.getSelection();if(v===null)return;p.sort(t.compareRangesUsingStarts);let C=[],y=p.reduce((Q,te)=>{if(Q.isEmpty()){if(Q.endLineNumber===te.startLineNumber){if(v.equalsSelection(Q))v=te;return te}if(te.startLineNumber>Q.endLineNumber+1)return C.push(Q),te;else return new A(Q.startLineNumber,Q.startColumn,te.endLineNumber,te.endColumn)}else if(te.startLineNumber>Q.endLineNumber)return C.push(Q),te;else return new A(Q.startLineNumber,Q.startColumn,te.endLineNumber,te.endColumn)});C.push(y);let I=u.getModel();if(I===null)return;let D=[],T=[],K=v,q=0;for(let Q=0,te=C.length;Q<te;Q++){let oe=C[Q],ne=oe.startLineNumber,ae=1,ge=0,Ie,ke,Oe=I.getLineLength(oe.endLineNumber)-oe.endColumn;if(oe.isEmpty()||oe.startLineNumber===oe.endLineNumber){let Le=oe.getStartPosition();if(Le.lineNumber<I.getLineCount())Ie=ne+1,ke=I.getLineMaxColumn(Ie);else Ie=Le.lineNumber,ke=I.getLineMaxColumn(Le.lineNumber)}else Ie=oe.endLineNumber,ke=I.getLineMaxColumn(Ie);let Ve=I.getLineContent(ne);for(let Le=ne+1;Le<=Ie;Le++){let He=I.getLineContent(Le),Je=I.getLineFirstNonWhitespaceColumn(Le);if(Je>=1){let tt=!0;if(Ve==="")tt=!1;if(tt&&(Ve.charAt(Ve.length-1)===" "||Ve.charAt(Ve.length-1)==="\t"))tt=!1,Ve=Ve.replace(/[\s\uFEFF\xA0]+$/g," ");let ot=He.substr(Je-1);if(Ve+=(tt?" ":"")+ot,tt)ge=ot.length+1;else ge=ot.length}else ge=0}let Ue=new t(ne,1,Ie,ke);if(!Ue.isEmpty()){let Le;if(oe.isEmpty())D.push(Ft.replace(Ue,Ve)),Le=new A(Ue.startLineNumber-q,Ve.length-ge+1,ne-q,Ve.length-ge+1);else if(oe.startLineNumber===oe.endLineNumber)D.push(Ft.replace(Ue,Ve)),Le=new A(oe.startLineNumber-q,oe.startColumn,oe.endLineNumber-q,oe.endColumn);else D.push(Ft.replace(Ue,Ve)),Le=new A(oe.startLineNumber-q,oe.startColumn,oe.startLineNumber-q,Ve.length-Oe);if(t.intersectRanges(Ue,v)!==null)K=Le;else T.push(Le)}q+=Ue.endLineNumber-Ue.startLineNumber}T.unshift(K),u.pushUndoStop(),u.executeEdits(this.id,D,T),u.pushUndoStop()}}class Rx extends W{constructor(){super({id:"editor.action.transpose",label:h(1333,"Transpose Characters around the Cursor"),precondition:r.writable,canTriggerInlineEdits:!0})}run(m,u){let p=u.getSelections();if(p===null)return;let v=u.getModel();if(v===null)return;let C=[];for(let y=0,I=p.length;y<I;y++){let D=p[y];if(!D.isEmpty())continue;let T=D.getStartPosition(),K=v.getLineMaxColumn(T.lineNumber);if(T.column>=K){if(T.lineNumber===v.getLineCount())continue;let q=new t(T.lineNumber,Math.max(1,T.column-1),T.lineNumber+1,1),Q=v.getValueInRange(q).split("").reverse().join("");C.push(new oi(new A(T.lineNumber,Math.max(1,T.column-1),T.lineNumber+1,1),Q))}else{let q=new t(T.lineNumber,Math.max(1,T.column-1),T.lineNumber,T.column+1),Q=v.getValueInRange(q).split("").reverse().join("");C.push(new kf(q,Q,new A(T.lineNumber,T.column+1,T.lineNumber,T.column+1)))}}u.pushUndoStop(),u.executeCommands(this.id,C),u.pushUndoStop()}}class Us extends W{run(m,u){let p=u.getSelections();if(p===null)return;let v=u.getModel();if(v===null)return;let C=u.getOption(148),y=[];for(let I of p)if(I.isEmpty()){let D=I.getStartPosition(),T=u.getConfiguredWordAtPosition(D);if(!T)continue;let K=new t(D.lineNumber,T.startColumn,D.lineNumber,T.endColumn),q=v.getValueInRange(K);y.push(Ft.replace(K,this._modifyText(q,C)))}else{let D=v.getValueInRange(I);y.push(Ft.replace(I,this._modifyText(D,C)))}u.pushUndoStop(),u.executeEdits(this.id,y),u.pushUndoStop()}}class kx extends Us{constructor(){super({id:"editor.action.transformToUppercase",label:h(1334,"Transform to Uppercase"),precondition:r.writable,canTriggerInlineEdits:!0})}_modifyText(m,u){return m.toLocaleUpperCase()}}class Tx extends Us{constructor(){super({id:"editor.action.transformToLowercase",label:h(1335,"Transform to Lowercase"),precondition:r.writable,canTriggerInlineEdits:!0})}_modifyText(m,u){return m.toLocaleLowerCase()}}class Fo{constructor(m,u){this._pattern=m,this._flags=u,this._actual=null,this._evaluated=!1}get(){if(!this._evaluated){this._evaluated=!0;try{this._actual=new RegExp(this._pattern,this._flags)}catch(m){}}return this._actual}isSupported(){return this.get()!==null}}class wp extends Us{static{this.titleBoundary=new Fo("(^|[^\\p{L}\\p{N}']|((^|\\P{L})'))\\p{L}","gmu")}constructor(){super({id:"editor.action.transformToTitlecase",label:h(1336,"Transform to Title Case"),precondition:r.writable,canTriggerInlineEdits:!0})}_modifyText(m,u){let p=wp.titleBoundary.get();if(!p)return m;return m.toLocaleLowerCase().replace(p,(v)=>v.toLocaleUpperCase())}}class Zd extends Us{static{this.caseBoundary=new Fo("(\\p{Ll})(\\p{Lu})","gmu")}static{this.singleLetters=new Fo("(\\p{Lu}|\\p{N})(\\p{Lu})(\\p{Ll})","gmu")}constructor(){super({id:"editor.action.transformToSnakecase",label:h(1337,"Transform to Snake Case"),precondition:r.writable,canTriggerInlineEdits:!0})}_modifyText(m,u){let p=Zd.caseBoundary.get(),v=Zd.singleLetters.get();if(!p||!v)return m;return m.replace(p,"$1_$2").replace(v,"$1_$2$3").toLocaleLowerCase()}}class dd extends Us{static{this.singleLineWordBoundary=new Fo("[_\\s-]+","gm")}static{this.multiLineWordBoundary=new Fo("[_-]+","gm")}static{this.validWordStart=new Fo("^(\\p{Lu}[^\\p{Lu}])","gmu")}constructor(){super({id:"editor.action.transformToCamelcase",label:h(1338,"Transform to Camel Case"),precondition:r.writable,canTriggerInlineEdits:!0})}_modifyText(m,u){let p=/\r\n|\r|\n/.test(m)?dd.multiLineWordBoundary.get():dd.singleLineWordBoundary.get(),v=dd.validWordStart.get();if(!p||!v)return m;let C=m.split(p);return C.shift()?.replace(v,(I)=>I.toLocaleLowerCase())+C.map((I)=>I.substring(0,1).toLocaleUpperCase()+I.substring(1)).join("")}}class Xd extends Us{static{this.wordBoundary=new Fo("[_ \\t-]","gm")}static{this.wordBoundaryToMaintain=new Fo("(?<=\\.)","gm")}static{this.upperCaseWordMatcher=new Fo("^\\p{Lu}+$","mu")}constructor(){super({id:"editor.action.transformToPascalcase",label:h(1339,"Transform to Pascal Case"),precondition:r.writable,canTriggerInlineEdits:!0})}_modifyText(m,u){let p=Xd.wordBoundary.get(),v=Xd.wordBoundaryToMaintain.get(),C=Xd.upperCaseWordMatcher.get();if(!p||!v||!C)return m;return m.split(v).map((D)=>D.split(p)).flat().map((D)=>{let T=D.charAt(0).toLocaleUpperCase()+D.slice(1);if(T.length>1&&C.test(T))return T.charAt(0)+T.slice(1).toLocaleLowerCase();return T}).join("")}}class Yd extends Us{static isSupported(){return[this.caseBoundary,this.singleLetters,this.underscoreBoundary].every((u)=>u.isSupported())}static{this.caseBoundary=new Fo("(\\p{Ll})(\\p{Lu})","gmu")}static{this.singleLetters=new Fo("(\\p{Lu}|\\p{N})(\\p{Lu}\\p{Ll})","gmu")}static{this.underscoreBoundary=new Fo("(\\S)(_)(\\S)","gm")}constructor(){super({id:"editor.action.transformToKebabcase",label:h(1340,"Transform to Kebab Case"),precondition:r.writable,canTriggerInlineEdits:!0})}_modifyText(m,u){let p=Yd.caseBoundary.get(),v=Yd.singleLetters.get(),C=Yd.underscoreBoundary.get();if(!p||!v||!C)return m;return m.replace(C,"$1-$3").replace(p,"$1-$2").replace(v,"$1-$2").toLocaleLowerCase()}}R(px);R(mx);R(fx);R(_x);R(bx);R(vx);R(Sx);R(wx);R(Yb);R(yx);R(xx);R(Ix);R(Pc);R(Ac);R(Lx);R(Ex);R(Dx);R(Rx);R(kx);R(Tx);R(Cx);if(Zd.caseBoundary.isSupported()&&Zd.singleLetters.isSupported())R(Zd);if(dd.singleLineWordBoundary.isSupported()&&dd.multiLineWordBoundary.isSupported())R(dd);if(Xd.wordBoundary.isSupported())R(Xd);if(wp.titleBoundary.isSupported())R(wp);if(Yd.isSupported())R(Yd);class xo{constructor(m){this._editor=m,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(){if(this._findScopeDecorationIds[0])return this._editor.getModel().getDecorationRange(this._findScopeDecorationIds[0]);return null}getFindScopes(){if(this._findScopeDecorationIds.length){let m=this._findScopeDecorationIds.map((u)=>this._editor.getModel().getDecorationRange(u)).filter((u)=>!!u);if(m.length)return m}return null}getStartPosition(){return this._startPosition}setStartPosition(m){this._startPosition=m,this.setCurrentFindMatch(null)}_getDecorationIndex(m){let u=this._decorations.indexOf(m);if(u>=0)return u+1;return 1}getDecorationRangeAt(m){let u=m<this._decorations.length?this._decorations[m]:null;if(u)return this._editor.getModel().getDecorationRange(u);return null}getCurrentMatchesPosition(m){let u=this._editor.getModel().getDecorationsInRange(m);for(let p of u){let v=p.options;if(v===xo._FIND_MATCH_DECORATION||v===xo._FIND_MATCH_NO_OVERVIEW_DECORATION||v===xo._CURRENT_FIND_MATCH_DECORATION)return this._getDecorationIndex(p.id)}return 0}setCurrentFindMatch(m){let u=null,p=0;if(m)for(let v=0,C=this._decorations.length;v<C;v++){let y=this._editor.getModel().getDecorationRange(this._decorations[v]);if(m.equalsRange(y)){u=this._decorations[v],p=v+1;break}}if(this._highlightedDecorationId!==null||u!==null)this._editor.changeDecorations((v)=>{if(this._highlightedDecorationId!==null)v.changeDecorationOptions(this._highlightedDecorationId,xo._FIND_MATCH_DECORATION),this._highlightedDecorationId=null;if(u!==null)this._highlightedDecorationId=u,v.changeDecorationOptions(this._highlightedDecorationId,xo._CURRENT_FIND_MATCH_DECORATION);if(this._rangeHighlightDecorationId!==null)v.removeDecoration(this._rangeHighlightDecorationId),this._rangeHighlightDecorationId=null;if(u!==null){let C=this._editor.getModel().getDecorationRange(u);if(C.startLineNumber!==C.endLineNumber&&C.endColumn===1){let y=C.endLineNumber-1,I=this._editor.getModel().getLineMaxColumn(y);C=new t(C.startLineNumber,C.startColumn,y,I)}this._rangeHighlightDecorationId=v.addDecoration(C,xo._RANGE_HIGHLIGHT_DECORATION)}});return p}set(m,u){this._editor.changeDecorations((p)=>{let v=xo._FIND_MATCH_DECORATION,C=[];if(m.length>1000){v=xo._FIND_MATCH_NO_OVERVIEW_DECORATION;let I=this._editor.getModel().getLineCount(),T=this._editor.getLayoutInfo().height/I,K=Math.max(2,Math.ceil(3/T)),q=m[0].range.startLineNumber,Q=m[0].range.endLineNumber;for(let te=1,oe=m.length;te<oe;te++){let ne=m[te].range;if(Q+K>=ne.startLineNumber){if(ne.endLineNumber>Q)Q=ne.endLineNumber}else C.push({range:new t(q,1,Q,1),options:xo._FIND_MATCH_ONLY_OVERVIEW_DECORATION}),q=ne.startLineNumber,Q=ne.endLineNumber}C.push({range:new t(q,1,Q,1),options:xo._FIND_MATCH_ONLY_OVERVIEW_DECORATION})}let y=Array(m.length);for(let I=0,D=m.length;I<D;I++)y[I]={range:m[I].range,options:v};if(this._decorations=p.deltaDecorations(this._decorations,y),this._overviewRulerApproximateDecorations=p.deltaDecorations(this._overviewRulerApproximateDecorations,C),this._rangeHighlightDecorationId)p.removeDecoration(this._rangeHighlightDecorationId),this._rangeHighlightDecorationId=null;if(this._findScopeDecorationIds.length)this._findScopeDecorationIds.forEach((I)=>p.removeDecoration(I)),this._findScopeDecorationIds=[];if(u?.length)this._findScopeDecorationIds=u.map((I)=>p.addDecoration(I,xo._FIND_SCOPE_DECORATION))})}matchBeforePosition(m){if(this._decorations.length===0)return null;for(let u=this._decorations.length-1;u>=0;u--){let p=this._decorations[u],v=this._editor.getModel().getDecorationRange(p);if(!v||v.endLineNumber>m.lineNumber)continue;if(v.endLineNumber<m.lineNumber)return v;if(v.endColumn>m.column)continue;return v}return this._editor.getModel().getDecorationRange(this._decorations[this._decorations.length-1])}matchAfterPosition(m){if(this._decorations.length===0)return null;for(let u=0,p=this._decorations.length;u<p;u++){let v=this._decorations[u],C=this._editor.getModel().getDecorationRange(v);if(!C||C.startLineNumber<m.lineNumber)continue;if(C.startLineNumber>m.lineNumber)return C;if(C.startColumn<m.column)continue;return C}return this._editor.getModel().getDecorationRange(this._decorations[0])}_allDecorations(){let m=[];if(m=m.concat(this._decorations),m=m.concat(this._overviewRulerApproximateDecorations),this._findScopeDecorationIds.length)m.push(...this._findScopeDecorationIds);if(this._rangeHighlightDecorationId)m.push(this._rangeHighlightDecorationId);return m}static{this._CURRENT_FIND_MATCH_DECORATION=re.register({description:"current-find-match",stickiness:1,zIndex:13,className:"currentFindMatch",inlineClassName:"currentFindMatchInline",showIfCollapsed:!0,overviewRuler:{color:nn(F_),position:Er.Center},minimap:{color:nn(Ev),position:1}})}static{this._FIND_MATCH_DECORATION=re.register({description:"find-match",stickiness:1,zIndex:10,className:"findMatch",inlineClassName:"findMatchInline",showIfCollapsed:!0,overviewRuler:{color:nn(F_),position:Er.Center},minimap:{color:nn(Ev),position:1}})}static{this._FIND_MATCH_NO_OVERVIEW_DECORATION=re.register({description:"find-match-no-overview",stickiness:1,className:"findMatch",showIfCollapsed:!0})}static{this._FIND_MATCH_ONLY_OVERVIEW_DECORATION=re.register({description:"find-match-only-overview",stickiness:1,overviewRuler:{color:nn(F_),position:Er.Center}})}static{this._RANGE_HIGHLIGHT_DECORATION=re.register({description:"find-range-highlight",stickiness:1,className:"rangeHighlight",isWholeLine:!0})}static{this._FIND_SCOPE_DECORATION=re.register({description:"find-scope",className:"findScope",isWholeLine:!0})}}class Qb{constructor(m,u,p){this._editorSelection=m,this._ranges=u,this._replaceStrings=p,this._trackedEditorSelectionId=null}getEditOperations(m,u){if(this._ranges.length>0){let p=[];for(let y=0;y<this._ranges.length;y++)p.push({range:this._ranges[y],text:this._replaceStrings[y]});p.sort((y,I)=>t.compareRangesUsingStarts(y.range,I.range));let v=[],C=p[0];for(let y=1;y<p.length;y++)if(C.range.endLineNumber===p[y].range.startLineNumber&&C.range.endColumn===p[y].range.startColumn)C.range=C.range.plusRange(p[y].range),C.text=C.text+p[y].text;else v.push(C),C=p[y];v.push(C);for(let y of v)u.addEditOperation(y.range,y.text)}this._trackedEditorSelectionId=u.trackSelection(this._editorSelection)}computeCursorState(m,u){return u.getTrackedSelection(this._trackedEditorSelectionId)}}function ev(m,u){if(m&&m[0]!==""){let p=Nx(m,u,"-"),v=Nx(m,u,"_");if(p&&!v)return Ox(m,u,"-");else if(!p&&v)return Ox(m,u,"_");if(m[0].toUpperCase()===m[0])return u.toUpperCase();else if(m[0].toLowerCase()===m[0])return u.toLowerCase();else if(a$(m[0][0])&&u.length>0)return u[0].toUpperCase()+u.substr(1);else if(m[0][0].toUpperCase()!==m[0][0]&&u.length>0)return u[0].toLowerCase()+u.substr(1);else return u}else return u}function Nx(m,u,p){return m[0].indexOf(p)!==-1&&u.indexOf(p)!==-1&&m[0].split(p).length===u.split(p).length}function Ox(m,u,p){let v=u.split(p),C=m[0].split(p),y="";return v.forEach((I,D)=>{y+=ev([C[D]],I)+p}),y.slice(0,-1)}class tv{constructor(m){this.staticValue=m,this.kind=0}}class Mx{constructor(m){this.pieces=m,this.kind=1}}class hd{static fromStaticValue(m){return new hd([cd.staticValue(m)])}get hasReplacementPatterns(){return this._state.kind===1}constructor(m){if(!m||m.length===0)this._state=new tv("");else if(m.length===1&&m[0].staticValue!==null)this._state=new tv(m[0].staticValue);else this._state=new Mx(m)}buildReplaceString(m,u){if(this._state.kind===0)if(u)return ev(m,this._state.staticValue);else return this._state.staticValue;let p="";for(let v=0,C=this._state.pieces.length;v<C;v++){let y=this._state.pieces[v];if(y.staticValue!==null){p+=y.staticValue;continue}let I=hd._substitute(y.matchIndex,m);if(y.caseOps!==null&&y.caseOps.length>0){let D=[],T=y.caseOps.length,K=0;for(let q=0,Q=I.length;q<Q;q++){if(K>=T){D.push(I.slice(q));break}switch(y.caseOps[K]){case"U":D.push(I[q].toUpperCase());break;case"u":D.push(I[q].toUpperCase()),K++;break;case"L":D.push(I[q].toLowerCase());break;case"l":D.push(I[q].toLowerCase()),K++;break;default:D.push(I[q])}}I=D.join("")}p+=I}return p}static _substitute(m,u){if(u===null)return"";if(m===0)return u[0];let p="";while(m>0){if(m<u.length)return(u[m]||"")+p;p=String(m%10)+p,m=Math.floor(m/10)}return"$"+p}}class cd{static staticValue(m){return new cd(m,-1,null)}static caseOps(m,u){return new cd(null,m,u)}constructor(m,u,p){if(this.staticValue=m,this.matchIndex=u,!p||p.length===0)this.caseOps=null;else this.caseOps=p.slice(0)}}class Px{constructor(m){this._source=m,this._lastCharIndex=0,this._result=[],this._resultLen=0,this._currentStaticPiece=""}emitUnchanged(m){this._emitStatic(this._source.substring(this._lastCharIndex,m)),this._lastCharIndex=m}emitStatic(m,u){this._emitStatic(m),this._lastCharIndex=u}_emitStatic(m){if(m.length===0)return;this._currentStaticPiece+=m}emitMatchIndex(m,u,p){if(this._currentStaticPiece.length!==0)this._result[this._resultLen++]=cd.staticValue(this._currentStaticPiece),this._currentStaticPiece="";this._result[this._resultLen++]=cd.caseOps(m,p),this._lastCharIndex=u}finalize(){if(this.emitUnchanged(this._source.length),this._currentStaticPiece.length!==0)this._result[this._resultLen++]=cd.staticValue(this._currentStaticPiece),this._currentStaticPiece="";return new hd(this._result)}}function Ax(m){if(!m||m.length===0)return new hd(null);let u=[],p=new Px(m);for(let v=0,C=m.length;v<C;v++){let y=m.charCodeAt(v);if(y===92){if(v++,v>=C)break;let I=m.charCodeAt(v);switch(I){case 92:p.emitUnchanged(v-1),p.emitStatic("\\",v+1);break;case 110:p.emitUnchanged(v-1),p.emitStatic(`
|
|
18
|
-
`,v+1);break;case 116:p.emitUnchanged(v-1),p.emitStatic("\t",v+1);break;case 117:case 85:case 108:case 76:p.emitUnchanged(v-1),p.emitStatic("",v+1),u.push(String.fromCharCode(I));break}continue}if(y===36){if(v++,v>=C)break;let I=m.charCodeAt(v);if(I===36){p.emitUnchanged(v-1),p.emitStatic("$",v+1);continue}if(I===48||I===38){p.emitUnchanged(v-1),p.emitMatchIndex(0,v+1,u),u.length=0;continue}if(49<=I&&I<=57){let D=I-48;if(v+1<C){let T=m.charCodeAt(v+1);if(48<=T&&T<=57){v++,D=D*10+(T-48),p.emitUnchanged(v-2),p.emitMatchIndex(D,v+1,u),u.length=0;continue}}p.emitUnchanged(v-1),p.emitMatchIndex(D,v+1,u),u.length=0;continue}}}return p.finalize()}var Fr=new N("findWidgetVisible",!1);Fr.toNegated();var Qd=new N("findInputFocussed",!1),Fc=new N("replaceInputFocussed",!1),Fx=new N("findWidgetFocused",!1),Hc={primary:545,mac:{primary:2593}},Wc={primary:565,mac:{primary:2613}},Bc={primary:560,mac:{primary:2608}},$c={primary:554,mac:{primary:2602}},jc={primary:558,mac:{primary:2606}},Mt={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"},Ar=19999,v2=240;class Jd{constructor(m,u){this._toDispose=new c,this._editor=m,this._state=u,this._isDisposed=!1,this._startSearchingTimer=new qn,this._decorations=new xo(m),this._toDispose.add(this._decorations),this._updateDecorationsScheduler=new be(()=>{if(!this._editor.hasModel())return;return this.research(!1)},100),this._toDispose.add(this._updateDecorationsScheduler),this._toDispose.add(this._editor.onDidChangeCursorPosition((p)=>{if(p.reason===3||p.reason===5||p.reason===6)this._decorations.setStartPosition(this._editor.getPosition())})),this._ignoreModelContentChanged=!1,this._toDispose.add(this._editor.onDidChangeModelContent((p)=>{if(this._ignoreModelContentChanged)return;if(p.isFlush)this._decorations.reset();this._decorations.setStartPosition(this._editor.getPosition()),this._updateDecorationsScheduler.schedule()})),this._toDispose.add(this._state.onFindReplaceStateChange((p)=>this._onStateChanged(p))),this.research(!1,this._state.searchScope)}dispose(){this._isDisposed=!0,De(this._startSearchingTimer),this._toDispose.dispose()}_onStateChanged(m){if(this._isDisposed)return;if(!this._editor.hasModel())return;if(m.searchString||m.isReplaceRevealed||m.isRegex||m.wholeWord||m.matchCase||m.searchScope)if(this._editor.getModel().isTooLargeForSyncing())this._startSearchingTimer.cancel(),this._startSearchingTimer.setIfNotSet(()=>{if(m.searchScope)this.research(m.moveCursor,this._state.searchScope);else this.research(m.moveCursor)},v2);else if(m.searchScope)this.research(m.moveCursor,this._state.searchScope);else this.research(m.moveCursor)}static _getSearchRange(m,u){if(u)return u;return m.getFullModelRange()}research(m,u){let p=null;if(typeof u<"u"){if(u!==null)if(!Array.isArray(u))p=[u];else p=u}else p=this._decorations.getFindScopes();if(p!==null)p=p.map((I)=>{if(I.startLineNumber!==I.endLineNumber){let D=I.endLineNumber;if(I.endColumn===1)D=D-1;return new t(I.startLineNumber,1,D,this._editor.getModel().getLineMaxColumn(D))}return I});let v=this._findMatches(p,!1,Ar);this._decorations.set(v,p);let C=this._editor.getSelection(),y=this._decorations.getCurrentMatchesPosition(C);if(y===0&&v.length>0){let I=Ah(v.map((D)=>D.range),(D)=>t.compareRangesUsingStarts(D,C)>=0);y=I>0?I-1+1:y}if(this._state.changeMatchInfo(y,this._decorations.getCount(),void 0),m&&this._editor.getOption(50).cursorMoveOnType)this._moveToNextMatch(this._decorations.getStartPosition())}_hasMatches(){return this._state.matchesCount>0}_cannotFind(){if(!this._hasMatches()){let m=this._decorations.getFindScope();if(m)this._editor.revealRangeInCenterIfOutsideViewport(m,0);return!0}return!1}_setCurrentFindMatch(m){let u=this._decorations.setCurrentFindMatch(m);this._state.changeMatchInfo(u,this._decorations.getCount(),m),this._editor.setSelection(m),this._editor.revealRangeInCenterIfOutsideViewport(m,0)}_prevSearchPosition(m){let u=this._state.isRegex&&(this._state.searchString.indexOf("^")>=0||this._state.searchString.indexOf("$")>=0),{lineNumber:p,column:v}=m,C=this._editor.getModel();if(u||v===1){if(p===1)p=C.getLineCount();else p--;v=C.getLineMaxColumn(p)}else v--;return new o(p,v)}_moveToPrevMatch(m,u=!1){if(!this._state.canNavigateBack()){let K=this._decorations.matchAfterPosition(m);if(K)this._setCurrentFindMatch(K);return}if(this._decorations.getCount()<Ar){let K=this._decorations.matchBeforePosition(m);if(K&&K.isEmpty()&&K.getStartPosition().equals(m))m=this._prevSearchPosition(m),K=this._decorations.matchBeforePosition(m);if(K)this._setCurrentFindMatch(K);return}if(this._cannotFind())return;let p=this._decorations.getFindScope(),v=Jd._getSearchRange(this._editor.getModel(),p);if(v.getEndPosition().isBefore(m))m=v.getEndPosition();if(m.isBefore(v.getStartPosition()))m=v.getEndPosition();let{lineNumber:C,column:y}=m,I=this._editor.getModel(),D=new o(C,y),T=I.findPreviousMatch(this._state.searchString,D,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(148):null,!1);if(T&&T.range.isEmpty()&&T.range.getStartPosition().equals(D))D=this._prevSearchPosition(D),T=I.findPreviousMatch(this._state.searchString,D,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(148):null,!1);if(!T)return;if(!u&&!v.containsRange(T.range))return this._moveToPrevMatch(T.range.getStartPosition(),!0);this._setCurrentFindMatch(T.range)}moveToPrevMatch(){this._moveToPrevMatch(this._editor.getSelection().getStartPosition())}_nextSearchPosition(m){let u=this._state.isRegex&&(this._state.searchString.indexOf("^")>=0||this._state.searchString.indexOf("$")>=0),{lineNumber:p,column:v}=m,C=this._editor.getModel();if(u||v===C.getLineMaxColumn(p)){if(p===C.getLineCount())p=1;else p++;v=1}else v++;return new o(p,v)}_moveToNextMatch(m){if(!this._state.canNavigateForward()){let p=this._decorations.matchBeforePosition(m);if(p)this._setCurrentFindMatch(p);return}if(this._decorations.getCount()<Ar){let p=this._decorations.matchAfterPosition(m);if(p&&p.isEmpty()&&p.getStartPosition().equals(m))m=this._nextSearchPosition(m),p=this._decorations.matchAfterPosition(m);if(p)this._setCurrentFindMatch(p);return}let u=this._getNextMatch(m,!1,!0);if(u)this._setCurrentFindMatch(u.range)}_getNextMatch(m,u,p,v=!1){if(this._cannotFind())return null;let C=this._decorations.getFindScope(),y=Jd._getSearchRange(this._editor.getModel(),C);if(y.getEndPosition().isBefore(m))m=y.getStartPosition();if(m.isBefore(y.getStartPosition()))m=y.getStartPosition();let{lineNumber:I,column:D}=m,T=this._editor.getModel(),K=new o(I,D),q=T.findNextMatch(this._state.searchString,K,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(148):null,u);if(p&&q&&q.range.isEmpty()&&q.range.getStartPosition().equals(K))K=this._nextSearchPosition(K),q=T.findNextMatch(this._state.searchString,K,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(148):null,u);if(!q)return null;if(!v&&!y.containsRange(q.range))return this._getNextMatch(q.range.getEndPosition(),u,p,!0);return q}moveToNextMatch(){this._moveToNextMatch(this._editor.getSelection().getEndPosition())}_moveToMatch(m){let u=this._decorations.getDecorationRangeAt(m);if(u)this._setCurrentFindMatch(u)}moveToMatch(m){this._moveToMatch(m)}_getReplacePattern(){if(this._state.isRegex)return Ax(this._state.replaceString);return hd.fromStaticValue(this._state.replaceString)}replace(){if(!this._hasMatches())return;let m=this._getReplacePattern(),u=this._editor.getSelection(),p=this._getNextMatch(u.getStartPosition(),!0,!1);if(p)if(u.equalsRange(p.range)){let v=m.buildReplaceString(p.matches,this._state.preserveCase),C=new oi(u,v);this._executeEditorCommand("replace",C),this._decorations.setStartPosition(new o(u.startLineNumber,u.startColumn+v.length)),this.research(!0)}else this._decorations.setStartPosition(this._editor.getPosition()),this._setCurrentFindMatch(p.range)}_findMatches(m,u,p){let v=(m||[null]).map((C)=>Jd._getSearchRange(this._editor.getModel(),C));return this._editor.getModel().findMatches(this._state.searchString,v,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(148):null,u,p)}replaceAll(){if(!this._hasMatches())return;let m=this._decorations.getFindScopes();if(m===null&&this._state.matchesCount>=Ar)this._largeReplaceAll();else this._regularReplaceAll(m);this.research(!1)}_largeReplaceAll(){let u=new Zc(this._state.searchString,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(148):null).parseSearchRequest();if(!u)return;let p=u.regex;if(!p.multiline){let q="mu";if(p.ignoreCase)q+="i";if(p.global)q+="g";p=new RegExp(p.source,q)}let v=this._editor.getModel(),C=v.getValue(1),y=v.getFullModelRange(),I=this._getReplacePattern(),D,T=this._state.preserveCase;if(I.hasReplacementPatterns||T)D=C.replace(p,function(){return I.buildReplaceString(arguments,T)});else D=C.replace(p,I.buildReplaceString(null,T));let K=new kf(y,D,this._editor.getSelection());this._executeEditorCommand("replaceAll",K)}_regularReplaceAll(m){let u=this._getReplacePattern(),p=this._findMatches(m,u.hasReplacementPatterns||this._state.preserveCase,1073741824),v=[];for(let y=0,I=p.length;y<I;y++)v[y]=u.buildReplaceString(p[y].matches,this._state.preserveCase);let C=new Qb(this._editor.getSelection(),p.map((y)=>y.range),v);this._executeEditorCommand("replaceAll",C)}selectAllMatches(){if(!this._hasMatches())return;let m=this._decorations.getFindScopes(),p=this._findMatches(m,!1,1073741824).map((C)=>new A(C.range.startLineNumber,C.range.startColumn,C.range.endLineNumber,C.range.endColumn)),v=this._editor.getSelection();for(let C=0,y=p.length;C<y;C++)if(p[C].equalsRange(v)){p=[v].concat(p.slice(0,C)).concat(p.slice(C+1));break}this._editor.setSelections(p)}_executeEditorCommand(m,u){try{this._ignoreModelContentChanged=!0,this._editor.pushUndoStop(),this._editor.executeCommand(m,u),this._editor.pushUndoStop()}finally{this._ignoreModelContentChanged=!1}}}class Cp extends ri{static{this.ID="editor.contrib.findOptionsWidget"}constructor(m,u,p){super();this._hideSoon=this._register(new be(()=>this._hide(),2000)),this._isVisible=!1,this._editor=m,this._state=u,this._keybindingService=p,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 v={inputActiveOptionBorder:O(xf),inputActiveOptionForeground:O(_f),inputActiveOptionBackground:O(yu)},C={groupId:"find-options-widget"};this.caseSensitive=this._register(new qv({appendTitle:this._keybindingLabelFor(Mt.ToggleCaseSensitiveCommand),isChecked:this._state.matchCase,hoverLifecycleOptions:C,...v})),this._domNode.appendChild(this.caseSensitive.domNode),this._register(this.caseSensitive.onChange(()=>{this._state.change({matchCase:this.caseSensitive.checked},!1)})),this.wholeWords=this._register(new Gv({appendTitle:this._keybindingLabelFor(Mt.ToggleWholeWordCommand),isChecked:this._state.wholeWord,hoverLifecycleOptions:C,...v})),this._domNode.appendChild(this.wholeWords.domNode),this._register(this.wholeWords.onChange(()=>{this._state.change({wholeWord:this.wholeWords.checked},!1)})),this.regex=this._register(new Kv({appendTitle:this._keybindingLabelFor(Mt.ToggleRegexCommand),isChecked:this._state.isRegex,hoverLifecycleOptions:C,...v})),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((y)=>{let I=!1;if(y.isRegex)this.regex.checked=this._state.isRegex,I=!0;if(y.wholeWord)this.wholeWords.checked=this._state.wholeWord,I=!0;if(y.matchCase)this.caseSensitive.checked=this._state.matchCase,I=!0;if(!this._state.isRevealed&&I)this._revealTemporarily()})),this._register(l(this._domNode,x.MOUSE_LEAVE,(y)=>this._onMouseLeave())),this._register(l(this._domNode,"mouseover",(y)=>this._onMouseOver()))}_keybindingLabelFor(m){return this._keybindingService.appendKeybinding("",m)}dispose(){this._editor.removeOverlayWidget(this),super.dispose()}getId(){return Cp.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(){if(this._isVisible)return;this._isVisible=!0,this._domNode.style.display="block"}_hide(){if(!this._isVisible)return;this._isVisible=!1,this._domNode.style.display="none"}}function yp(m,u){if(m===1)return!0;if(m===2)return!1;return u}class iv extends n{get searchString(){return this._searchString}get replaceString(){return this._replaceString}get isRevealed(){return this._isRevealed}get isReplaceRevealed(){return this._isReplaceRevealed}get isRegex(){return yp(this._isRegexOverride,this._isRegex)}get wholeWord(){return yp(this._wholeWordOverride,this._wholeWord)}get matchCase(){return yp(this._matchCaseOverride,this._matchCase)}get preserveCase(){return yp(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 i),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(m,u,p){let v={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},C=!1;if(u===0)m=0;if(m>u)m=u;if(this._matchesPosition!==m)this._matchesPosition=m,v.matchesPosition=!0,C=!0;if(this._matchesCount!==u)this._matchesCount=u,v.matchesCount=!0,C=!0;if(typeof p<"u"){if(!t.equalsRange(this._currentMatch,p))this._currentMatch=p,v.currentMatch=!0,C=!0}if(C)this._onFindReplaceStateChange.fire(v)}change(m,u,p=!0){let v={moveCursor:u,updateHistory:p,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},C=!1,y=this.isRegex,I=this.wholeWord,D=this.matchCase,T=this.preserveCase;if(typeof m.searchString<"u"){if(this._searchString!==m.searchString)this._searchString=m.searchString,v.searchString=!0,C=!0}if(typeof m.replaceString<"u"){if(this._replaceString!==m.replaceString)this._replaceString=m.replaceString,v.replaceString=!0,C=!0}if(typeof m.isRevealed<"u"){if(this._isRevealed!==m.isRevealed)this._isRevealed=m.isRevealed,v.isRevealed=!0,C=!0}if(typeof m.isReplaceRevealed<"u"){if(this._isReplaceRevealed!==m.isReplaceRevealed)this._isReplaceRevealed=m.isReplaceRevealed,v.isReplaceRevealed=!0,C=!0}if(typeof m.isRegex<"u")this._isRegex=m.isRegex;if(typeof m.wholeWord<"u")this._wholeWord=m.wholeWord;if(typeof m.matchCase<"u")this._matchCase=m.matchCase;if(typeof m.preserveCase<"u")this._preserveCase=m.preserveCase;if(typeof m.searchScope<"u"){if(!m.searchScope?.every((K)=>this._searchScope?.some((q)=>!t.equalsRange(q,K))))this._searchScope=m.searchScope,v.searchScope=!0,C=!0}if(typeof m.loop<"u"){if(this._loop!==m.loop)this._loop=m.loop,v.loop=!0,C=!0}if(typeof m.isSearching<"u"){if(this._isSearching!==m.isSearching)this._isSearching=m.isSearching,v.isSearching=!0,C=!0}if(typeof m.filters<"u"){if(this._filters)this._filters.update(m.filters);else this._filters=m.filters;v.filters=!0,C=!0}if(this._isRegexOverride=typeof m.isRegexOverride<"u"?m.isRegexOverride:0,this._wholeWordOverride=typeof m.wholeWordOverride<"u"?m.wholeWordOverride:0,this._matchCaseOverride=typeof m.matchCaseOverride<"u"?m.matchCaseOverride:0,this._preserveCaseOverride=typeof m.preserveCaseOverride<"u"?m.preserveCaseOverride:0,y!==this.isRegex)C=!0,v.isRegex=!0;if(I!==this.wholeWord)C=!0,v.wholeWord=!0;if(D!==this.matchCase)C=!0,v.matchCase=!0;if(T!==this.preserveCase)C=!0,v.preserveCase=!0;if(C)this._onFindReplaceStateChange.fire(v)}canNavigateBack(){return this.canNavigateInLoop()||this.matchesPosition!==1}canNavigateForward(){return this.canNavigateInLoop()||this.matchesPosition<this.matchesCount}canNavigateInLoop(){return this._loop||this.matchesCount>=Ar}}var S2=e(5,"input"),w2=e(6,"Preserve Case");class Hx extends Nl{constructor(m){super({icon:b.preserveCase,title:w2+m.appendTitle,isChecked:m.isChecked,hoverLifecycleOptions:m.hoverLifecycleOptions,inputActiveOptionBorder:m.inputActiveOptionBorder,inputActiveOptionForeground:m.inputActiveOptionForeground,inputActiveOptionBackground:m.inputActiveOptionBackground})}}class ov extends ri{get onDidOptionChange(){return this._onDidOptionChange.event}get onKeyDown(){return this._onKeyDown.event}get onPreserveCaseKeyDown(){return this._onPreserveCaseKeyDown.event}constructor(m,u,p,v){super();this._showOptionButtons=p,this.fixFocusOnOptionClickEnabled=!0,this.cachedOptionsWidth=0,this._onDidOptionChange=this._register(new i),this._onKeyDown=this._register(new i),this._onMouseDown=this._register(new i),this._onInput=this._register(new i),this._onKeyUp=this._register(new i),this._onPreserveCaseKeyDown=this._register(new i),this.contextViewProvider=u,this.placeholder=v.placeholder||"",this.validation=v.validation,this.label=v.label||S2;let C=v.appendPreserveCaseLabel||"",y=v.history||new Set([]),I=!!v.flexibleHeight,D=!!v.flexibleWidth,T=v.flexibleMaxHeight;if(this.domNode=document.createElement("div"),this.domNode.classList.add("monaco-findInput"),this.inputBox=this._register(new Jv(this.domNode,this.contextViewProvider,{ariaLabel:this.label||"",placeholder:this.placeholder||"",validationOptions:{validation:this.validation},history:y,showHistoryHint:v.showHistoryHint,flexibleHeight:I,flexibleWidth:D,flexibleMaxHeight:T,inputBoxStyles:v.inputBoxStyles})),this.preserveCase=this._register(new Hx({appendTitle:C,isChecked:!1,hoverLifecycleOptions:v.hoverLifecycleOptions,...v.toggleStyles})),this._register(this.preserveCase.onChange((Q)=>{if(this._onDidOptionChange.fire(Q),!Q&&this.fixFocusOnOptionClickEnabled)this.inputBox.focus();this.validate()})),this._register(this.preserveCase.onKeyDown((Q)=>{this._onPreserveCaseKeyDown.fire(Q)})),this._showOptionButtons)this.cachedOptionsWidth=this.preserveCase.width();else this.cachedOptionsWidth=0;let K=[this.preserveCase.domNode];this.onkeydown(this.domNode,(Q)=>{s0(Q,this.domNode,()=>K,()=>this.inputBox.focus())});let q=document.createElement("div");q.className="controls",q.style.display=this._showOptionButtons?"block":"none",q.appendChild(this.preserveCase.domNode),this.domNode.appendChild(q),m?.appendChild(this.domNode),this.onkeydown(this.inputBox.inputElement,(Q)=>this._onKeyDown.fire(Q)),this.onkeyup(this.inputBox.inputElement,(Q)=>this._onKeyUp.fire(Q)),this.oninput(this.inputBox.inputElement,(Q)=>this._onInput.fire()),this.onmousedown(this.inputBox.inputElement,(Q)=>this._onMouseDown.fire(Q))}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(m){if(m)this.enable();else this.disable()}select(){this.inputBox.select()}focus(){this.inputBox.focus()}getPreserveCase(){return this.preserveCase.checked}setPreserveCase(m){this.preserveCase.checked=m}focusOnPreserve(){this.preserveCase.focus()}validate(){this.inputBox?.validate()}set width(m){this.inputBox.paddingRight=this.cachedOptionsWidth,this.domNode.style.width=m+"px"}}var Wx=function(m,u,p,v){var C=arguments.length,y=C<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,p):v,I;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")y=Reflect.decorate(m,u,p,v);else for(var D=m.length-1;D>=0;D--)if(I=m[D])y=(C<3?I(y):C>3?I(u,p,y):I(u,p))||y;return C>3&&y&&Object.defineProperty(u,p,y),y},Bx=function(m,u){return function(p,v){u(p,v,m)}},Ep=new N("suggestWidgetVisible",!1,e(1793,"Whether suggestion are visible")),nv="historyNavigationWidgetFocus",Vx="historyNavigationForwardsEnabled",Kx="historyNavigationBackwardsEnabled",Xc=void 0,xp=[];function zx(m,u){if(xp.includes(u))throw Error("Cannot register the same widget multiple times");xp.push(u);let p=new c,v=new N(nv,!1).bindTo(m),C=new N(Vx,!0).bindTo(m),y=new N(Kx,!0).bindTo(m),I=()=>{v.set(!0),Xc=u},D=()=>{if(v.set(!1),Xc===u)Xc=void 0};if(ds(u.element))I();return p.add(u.onDidFocus(()=>I())),p.add(u.onDidBlur(()=>D())),p.add(E(()=>{xp.splice(xp.indexOf(u),1),D()})),{historyNavigationForwardsEnablement:C,historyNavigationBackwardsEnablement:y,dispose(){p.dispose()}}}var Ip=class m extends Yv{constructor(u,p,v,C){super(u,p,v);let y=this._register(C.createScoped(this.inputBox.element));this._register(zx(y,this.inputBox))}};Ip=Wx([Bx(3,z)],Ip);var Lp=class m extends ov{constructor(u,p,v,C,y=!1){super(u,p,y,v);let I=this._register(C.createScoped(this.inputBox.element));this._register(zx(I,this.inputBox))}};Lp=Wx([Bx(3,z)],Lp);yn.registerCommandAndKeybindingRule({id:"history.showPrevious",weight:200,when:_.and(_.has(nv),_.equals(Kx,!0),Ep.isEqualTo(!1)),primary:16,secondary:[528],handler:(m)=>{Xc?.showPreviousValue()}});yn.registerCommandAndKeybindingRule({id:"history.showNext",weight:200,when:_.and(_.has(nv),_.equals(Vx,!0),Ep.isEqualTo(!1)),primary:18,secondary:[530],handler:(m)=>{Xc?.showNextValue()}});function rv(m){return m.lookupKeybinding("history.showPrevious")?.getElectronAccelerator()==="Up"&&m.lookupKeybinding("history.showNext")?.getElectronAccelerator()==="Down"}var Ux=$t("find-collapsed",b.chevronRight,e(1011,"Icon to indicate that the editor find widget is collapsed.")),$x=$t("find-expanded",b.chevronDown,e(1012,"Icon to indicate that the editor find widget is expanded.")),C2=$t("find-selection",b.selection,e(1013,"Icon for 'Find in Selection' in the editor find widget.")),y2=$t("find-replace",b.replace,e(1014,"Icon for 'Replace' in the editor find widget.")),x2=$t("find-replace-all",b.replaceAll,e(1015,"Icon for 'Replace All' in the editor find widget.")),I2=$t("find-previous-match",b.arrowUp,e(1016,"Icon for 'Find Previous' in the editor find widget.")),L2=$t("find-next-match",b.arrowDown,e(1017,"Icon for 'Find Next' in the editor find widget.")),E2=e(1018,"Find / Replace"),lv=e(1019,"Find"),D2=e(1020,"Find"),R2=e(1021,"Previous Match"),k2=e(1022,"Next Match"),T2=e(1023,"Find in Selection"),N2=e(1024,"Close"),fv=e(1025,"Replace"),O2=e(1026,"Replace"),M2=e(1027,"Replace"),P2=e(1028,"Replace All"),A2=e(1029,"Toggle Replace"),F2=e(1030,"Only the first {0} results are highlighted, but all find operations work on the entire text.",Ar),H2=e(1031,"{0} of {1}"),Rp=e(1032,"No results"),Kr=419,W2=275,B2=W2-54,eh=69,V2=33,jx=ue?256:2048;class Dp{constructor(m){this.afterLineNumber=m,this.heightInPx=V2,this.suppressMouseDown=!1,this.domNode=document.createElement("div"),this.domNode.className="dock-find-viewzone"}}function Gx(m,u,p){let v=!!u.match(/\n/);if(p&&v&&p.selectionStart>0){m.stopPropagation();return}}function qx(m,u,p){let v=!!u.match(/\n/);if(p&&v&&p.selectionEnd<p.value.length){m.stopPropagation();return}}class ic extends ri{static{this.ID="editor.contrib.findWidget"}constructor(m,u,p,v,C,y,I,D,T,K,q){super();if(this._hoverService=I,this._findWidgetSearchHistory=D,this._replaceWidgetHistory=T,this._configurationService=K,this._accessibilityService=q,this._cachedHeight=null,this._lastFocusedInputWasReplace=!1,this._lastFocusedElement=null,this._revealTimeouts=[],this._codeEditor=m,this._controller=u,this._state=p,this._contextViewProvider=v,this._keybindingService=C,this._contextKeyService=y,this._isVisible=!1,this._isReplaceVisible=!1,this._ignoreChangeEvent=!1,this._accessibilityHelpHintAnnounced=!1,this._updateHistoryDelayer=new ki(500),this._register(E(()=>this._updateHistoryDelayer.cancel())),this._register(this._state.onFindReplaceStateChange((Q)=>this._onStateChanged(Q))),this._buildDomNode(),this._updateButtons(),this._tryUpdateWidgetWidth(),this._findInput.inputBox.layout(),this._register(this._codeEditor.onDidChangeConfiguration((Q)=>{if(Q.hasChanged(104)){if(this._codeEditor.getOption(104))this._state.change({isReplaceRevealed:!1},!1);this._updateButtons()}if(Q.hasChanged(166))this._tryUpdateWidgetWidth();if(Q.hasChanged(2))this.updateAccessibilitySupport();if(Q.hasChanged(50)){let te=this._codeEditor.getOption(50).loop;this._state.change({loop:te},!1);let oe=this._codeEditor.getOption(50).addExtraSpaceOnTop;if(oe&&!this._viewZone)this._viewZone=new Dp(0),this._showViewZone();if(!oe&&this._viewZone)this._removeViewZone()}})),this.updateAccessibilitySupport(),this._register(this._codeEditor.onDidChangeCursorSelection(()=>{if(this._isVisible)this._updateToggleSelectionFindButton()})),this._register(this._codeEditor.onDidFocusEditorWidget(async()=>{if(this._isVisible){let Q=await this._controller.getGlobalBufferTerm();if(Q&&Q!==this._state.searchString)this._state.change({searchString:Q},!1),this._findInput.select()}})),this._findInputFocused=Qd.bindTo(y),this._findFocusTracker=this._register(Xn(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=Fc.bindTo(y),this._replaceFocusTracker=this._register(Xn(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=Fx.bindTo(y),this._widgetFocusTracker=this._register(Xn(this._domNode)),this._register(this._widgetFocusTracker.onDidFocus(()=>{this._findWidgetFocused.set(!0)})),this._register(this._widgetFocusTracker.onDidBlur(()=>{this._findWidgetFocused.set(!1)})),this._register(l(this._domNode,"focusin",(Q)=>{if(xe(Q.target))this._lastFocusedElement=Q.target})),this._codeEditor.addOverlayWidget(this),this._codeEditor.getOption(50).addExtraSpaceOnTop)this._viewZone=new Dp(0);this._register(this._codeEditor.onDidChangeModel(()=>{if(!this._isVisible)return;this._viewZoneId=void 0})),this._register(this._codeEditor.onDidScrollChange((Q)=>{if(Q.scrollTopChanged){this._layoutViewZone();return}setTimeout(()=>{this._layoutViewZone()},0)}))}getId(){return ic.ID}getDomNode(){return this._domNode}getPosition(){if(this._isVisible)return{preference:0};return null}_onStateChanged(m){if(m.searchString){try{this._ignoreChangeEvent=!0,this._findInput.setValue(this._state.searchString)}finally{this._ignoreChangeEvent=!1}this._updateButtons()}if(m.replaceString)this._replaceInput.inputBox.value=this._state.replaceString;if(m.isRevealed)if(this._state.isRevealed)this._reveal();else this._hide(!0);if(m.isReplaceRevealed){if(this._state.isReplaceRevealed){if(!this._codeEditor.getOption(104)&&!this._isReplaceVisible)this._isReplaceVisible=!0,this._replaceInput.width=hr(this._findInput.domNode),this._updateButtons(),this._replaceInput.inputBox.layout()}else if(this._isReplaceVisible)this._isReplaceVisible=!1,this._updateButtons()}if((m.isRevealed||m.isReplaceRevealed)&&(this._state.isRevealed||this._state.isReplaceRevealed)){if(this._tryUpdateHeight())this._showViewZone()}if(m.isRegex)this._findInput.setRegex(this._state.isRegex);if(m.wholeWord)this._findInput.setWholeWords(this._state.wholeWord);if(m.matchCase)this._findInput.setCaseSensitive(this._state.matchCase);if(m.preserveCase)this._replaceInput.setPreserveCase(this._state.preserveCase);if(m.searchScope){if(this._state.searchScope)this._toggleSelectionFind.checked=!0;else this._toggleSelectionFind.checked=!1;this._updateToggleSelectionFindButton()}if(m.searchString||m.matchesCount||m.matchesPosition){let u=this._state.searchString.length>0&&this._state.matchesCount===0;this._domNode.classList.toggle("no-results",u),this._updateMatchesCount(),this._updateButtons()}if(m.searchString||m.currentMatch)this._layoutViewZone();if(m.updateHistory)this._delayedUpdateHistory();if(m.loop)this._updateButtons()}_delayedUpdateHistory(){this._updateHistoryDelayer.trigger(this._updateHistory.bind(this)).then(void 0,J)}_updateHistory(){if(this._state.searchString)this._findInput.inputBox.addToHistory();if(this._state.replaceString)this._replaceInput.inputBox.addToHistory()}_updateMatchesCount(){if(this._matchesCount.style.minWidth=eh+"px",this._state.matchesCount>=Ar)this._matchesCount.title=F2;else this._matchesCount.title="";this._matchesCount.firstChild?.remove();let m;if(this._state.matchesCount>0){let u=String(this._state.matchesCount);if(this._state.matchesCount>=Ar)u+="+";let p=String(this._state.matchesPosition);if(p==="0")p="?";m=ia(H2,p,u)}else m=Rp;this._matchesCount.appendChild(document.createTextNode(m)),Ln(this._getAriaLabel(m,this._state.currentMatch,this._state.searchString)),eh=Math.max(eh,this._matchesCount.clientWidth)}_getAriaLabel(m,u,p){let v;if(m===Rp)v=p===""?e(1033,"{0} found",m):e(1034,"{0} found for '{1}'",m,p);else if(u){let C=e(1035,"{0} found for '{1}', at {2}",m,p,u.startLineNumber+":"+u.startColumn),y=this._codeEditor.getModel();if(y&&u.startLineNumber<=y.getLineCount()&&u.startLineNumber>=1)v=`${y.getLineContent(u.startLineNumber)}, ${C}`;else v=C}else v=e(1036,"{0} found for '{1}'",m,p);return v}_updateToggleSelectionFindButton(){let m=this._codeEditor.getSelection(),u=m?m.startLineNumber!==m.endLineNumber||m.startColumn!==m.endColumn:!1,p=this._toggleSelectionFind.checked;if(this._isVisible&&(p||u))this._toggleSelectionFind.enable();else this._toggleSelectionFind.disable()}_updateButtons(){this._findInput.setEnabled(this._isVisible),this._replaceInput.setEnabled(this._isVisible&&this._isReplaceVisible),this._updateToggleSelectionFindButton(),this._closeBtn.setEnabled(this._isVisible);let m=this._state.searchString.length>0,u=this._state.matchesCount?!0:!1;this._prevBtn.setEnabled(this._isVisible&&m&&u&&this._state.canNavigateBack()),this._nextBtn.setEnabled(this._isVisible&&m&&u&&this._state.canNavigateForward()),this._replaceBtn.setEnabled(this._isVisible&&this._isReplaceVisible&&m),this._replaceAllBtn.setEnabled(this._isVisible&&this._isReplaceVisible&&m),this._domNode.classList.toggle("replaceToggled",this._isReplaceVisible),this._toggleReplaceBtn.setExpanded(this._isReplaceVisible);let p=!this._codeEditor.getOption(104);this._toggleReplaceBtn.setEnabled(this._isVisible&&p)}_reveal(){if(this._revealTimeouts.forEach((m)=>{clearTimeout(m)}),this._revealTimeouts=[],!this._isVisible){this._isVisible=!0;let m=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 p=!!m&&m.startLineNumber!==m.endLineNumber;this._toggleSelectionFind.checked=p;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 u=!0;if(this._codeEditor.getOption(50).seedSearchStringFromSelection&&m){let p=this._codeEditor.getDomNode();if(p){let v=gt(p),C=this._codeEditor.getScrolledVisiblePosition(m.getStartPosition()),y=v.left+(C?C.left:0),I=C?C.top:0;if(this._viewZone&&I<this._viewZone.heightInPx){if(m.endLineNumber>m.startLineNumber)u=!1;let D=R_(this._domNode).left;if(y>D)u=!1;let T=this._codeEditor.getScrolledVisiblePosition(m.getEndPosition());if(v.left+(T?T.left:0)>D)u=!1}}}this._showViewZone(u)}}_hide(m){if(this._revealTimeouts.forEach((u)=>{clearTimeout(u)}),this._revealTimeouts=[],this._isVisible){if(this._isVisible=!1,this._accessibilityHelpHintAnnounced=!1,this._updateButtons(),this._domNode.classList.remove("visible"),this._domNode.setAttribute("aria-hidden","true"),this._findInput.clearMessage(),m)this._codeEditor.focus();this._codeEditor.layoutOverlayWidget(this),this._removeViewZone()}}_layoutViewZone(m){if(!this._codeEditor.getOption(50).addExtraSpaceOnTop){this._removeViewZone();return}if(!this._isVisible)return;let p=this._viewZone;if(this._viewZoneId!==void 0||!p)return;this._codeEditor.changeViewZones((v)=>{p.heightInPx=this._getHeight(),this._viewZoneId=v.addZone(p),this._codeEditor.setScrollTop(m||this._codeEditor.getScrollTop()+p.heightInPx)})}_showViewZone(m=!0){if(!this._isVisible)return;if(!this._codeEditor.getOption(50).addExtraSpaceOnTop)return;if(this._viewZone===void 0)this._viewZone=new Dp(0);let p=this._viewZone;this._codeEditor.changeViewZones((v)=>{if(this._viewZoneId!==void 0){let C=this._getHeight();if(C===p.heightInPx)return;let y=C-p.heightInPx;if(p.heightInPx=C,v.layoutZone(this._viewZoneId),m)this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()+y);return}else{let C=this._getHeight();if(C-=this._codeEditor.getOption(96).top,C<=0)return;if(p.heightInPx=C,this._viewZoneId=v.addZone(p),m)this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()+C)}})}_removeViewZone(){this._codeEditor.changeViewZones((m)=>{if(this._viewZoneId!==void 0){if(m.removeZone(this._viewZoneId),this._viewZoneId=void 0,this._viewZone)this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()-this._viewZone.heightInPx),this._viewZone=void 0}})}_tryUpdateWidgetWidth(){if(!this._isVisible)return;if(!this._domNode.isConnected)return;let m=this._codeEditor.getLayoutInfo();if(m.contentWidth<=0){this._domNode.classList.add("hiddenEditor");return}else if(this._domNode.classList.contains("hiddenEditor"))this._domNode.classList.remove("hiddenEditor");let p=m.width,v=m.minimap.minimapWidth,C=!1,y=!1,I=!1;if(this._resized){if(hr(this._domNode)>Kr){this._domNode.style.maxWidth=`${p-28-v-15}px`,this._replaceInput.width=hr(this._findInput.domNode);return}}if(Kr+28+v>=p)y=!0;if(Kr+28+v-eh>=p)I=!0;if(Kr+28+v-eh>=p+50)C=!0;if(this._domNode.classList.toggle("collapsed-find-widget",C),this._domNode.classList.toggle("narrow-find-widget",I),this._domNode.classList.toggle("reduced-find-widget",y),!I&&!C)this._domNode.style.maxWidth=`${p-28-v-15}px`;if(this._findInput.layout({collapsedFindWidget:C,narrowFindWidget:I,reducedFindWidget:y}),this._resized){let D=this._findInput.inputBox.element.clientWidth;if(D>0)this._replaceInput.width=D}else if(this._isReplaceVisible)this._replaceInput.width=hr(this._findInput.domNode)}_getHeight(){let m=0;if(m+=4,m+=this._findInput.inputBox.height+2,this._isReplaceVisible)m+=4,m+=this._replaceInput.inputBox.height+2;return m+=4,m}_tryUpdateHeight(){let m=this._getHeight();if(this._cachedHeight!==null&&this._cachedHeight===m)return!1;return this._cachedHeight=m,this._domNode.style.height=`${m}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())return;if(this._toggleSelectionFind.checked){let m=this._codeEditor.getSelections();if(m.map((u)=>{if(u.endColumn===1&&u.endLineNumber>u.startLineNumber)u=u.setEndPosition(u.endLineNumber-1,this._codeEditor.getModel().getLineMaxColumn(u.endLineNumber-1));let p=this._state.currentMatch;if(u.startLineNumber!==u.endLineNumber){if(!t.equalsRange(u,p))return u}return null}).filter((u)=>!!u),m.length)this._state.change({searchScope:m},!0)}}_onFindInputMouseDown(m){if(m.middleButton)m.stopPropagation()}_onFindInputKeyDown(m){if(m.equals(jx|3))if(this._keybindingService.dispatchEvent(m,m.target)){m.preventDefault();return}else{this._findInput.inputBox.insertAtCursor(`
|
|
19
|
-
`),m.preventDefault();return}if(m.equals(2)){if(this._isReplaceVisible)this._replaceInput.focus();else this._findInput.focusOnCaseSensitive();m.preventDefault();return}if(m.equals(2066)){this._codeEditor.focus(),m.preventDefault();return}if(m.equals(16))return Gx(m,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea"));if(m.equals(18))return qx(m,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea"))}_onReplaceInputKeyDown(m){if(m.equals(jx|3))if(this._keybindingService.dispatchEvent(m,m.target)){m.preventDefault();return}else{this._replaceInput.inputBox.insertAtCursor(`
|
|
20
|
-
`),m.preventDefault();return}if(m.equals(2)){this._findInput.focusOnCaseSensitive(),m.preventDefault();return}if(m.equals(1026)){this._findInput.focus(),m.preventDefault();return}if(m.equals(2066)){this._codeEditor.focus(),m.preventDefault();return}if(m.equals(16))return Gx(m,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector("textarea"));if(m.equals(18))return qx(m,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector("textarea"))}getVerticalSashLeft(m){return 0}_keybindingLabelFor(m){return this._keybindingService.appendKeybinding("",m)}_buildDomNode(){let p=this._codeEditor.getOption(50).history,v=this._codeEditor.getOption(50).replaceHistory;if(this._findInput=this._register(new Ip(null,this._contextViewProvider,{width:B2,label:lv,placeholder:D2,appendCaseSensitiveLabel:this._keybindingLabelFor(Mt.ToggleCaseSensitiveCommand),appendWholeWordsLabel:this._keybindingLabelFor(Mt.ToggleWholeWordCommand),appendRegexLabel:this._keybindingLabelFor(Mt.ToggleRegexCommand),validation:(q)=>{if(q.length===0||!this._findInput.getRegex())return null;try{return new RegExp(q,"gu"),null}catch(Q){return{content:Q.message}}},flexibleHeight:!0,flexibleWidth:!0,flexibleMaxHeight:118,showCommonFindToggles:!0,showHistoryHint:()=>rv(this._keybindingService),inputBoxStyles:Wg,toggleStyles:Bg,history:p==="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((q)=>{if(q.equals(3)&&!this._codeEditor.getOption(50).findOnType)this._state.change({searchString:this._findInput.getValue()},!0);this._onFindInputKeyDown(q)})),this._register(this._findInput.inputBox.onDidChange(()=>{if(this._ignoreChangeEvent||!this._codeEditor.getOption(50).findOnType)return;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((q)=>{if(q.equals(1026)){if(this._isReplaceVisible)this._replaceInput.focus(),q.preventDefault()}})),this._register(this._findInput.onRegexKeyDown((q)=>{if(q.equals(2)){if(this._isReplaceVisible)this._replaceInput.focusOnPreserve(),q.preventDefault()}})),this._register(this._findInput.inputBox.onDidHeightChange((q)=>{if(this._tryUpdateHeight())this._showViewZone()})),Vn)this._register(this._findInput.onMouseDown((q)=>this._onFindInputMouseDown(q)));this._matchesCount=document.createElement("div"),this._matchesCount.className="matchesCount",this._updateMatchesCount();let C={groupId:"find-widget"};this._prevBtn=this._register(new ms({label:R2+this._keybindingLabelFor(Mt.PreviousMatchFindAction),icon:I2,hoverLifecycleOptions:C,onTrigger:()=>{ml(this._codeEditor.getAction(Mt.PreviousMatchFindAction)).run().then(void 0,J)}},this._hoverService)),this._nextBtn=this._register(new ms({label:k2+this._keybindingLabelFor(Mt.NextMatchFindAction),icon:L2,hoverLifecycleOptions:C,onTrigger:()=>{ml(this._codeEditor.getAction(Mt.NextMatchFindAction)).run().then(void 0,J)}},this._hoverService));let y=document.createElement("div");y.className="find-part",y.appendChild(this._findInput.domNode);let I=document.createElement("div");I.className="find-actions",y.appendChild(I),I.appendChild(this._matchesCount),I.appendChild(this._prevBtn.domNode),I.appendChild(this._nextBtn.domNode),this._toggleSelectionFind=this._register(new Nl({icon:C2,title:T2+this._keybindingLabelFor(Mt.ToggleSearchScopeCommand),isChecked:!1,hoverLifecycleOptions:C,inputActiveOptionBackground:O(yu),inputActiveOptionBorder:O(xf),inputActiveOptionForeground:O(_f)})),this._register(this._toggleSelectionFind.onChange(()=>{if(this._toggleSelectionFind.checked){if(this._codeEditor.hasModel()){let q=this._codeEditor.getSelections();if(q=q.map((Q)=>{if(Q.endColumn===1&&Q.endLineNumber>Q.startLineNumber)Q=Q.setEndPosition(Q.endLineNumber-1,this._codeEditor.getModel().getLineMaxColumn(Q.endLineNumber-1));if(!Q.isEmpty())return Q;return null}).filter((Q)=>!!Q),q.length)this._state.change({searchScope:q},!0)}}else this._state.change({searchScope:null},!0)})),I.appendChild(this._toggleSelectionFind.domNode),this._closeBtn=this._register(new ms({label:N2+this._keybindingLabelFor(Mt.CloseFindWidgetCommand),icon:v0,hoverLifecycleOptions:C,onTrigger:()=>{this._state.change({isRevealed:!1,searchScope:null},!1)},onKeyDown:(q)=>{if(q.equals(2)){if(this._isReplaceVisible){if(this._replaceBtn.isEnabled())this._replaceBtn.focus();else this._codeEditor.focus();q.preventDefault()}}}},this._hoverService)),this._replaceInput=this._register(new Lp(null,void 0,{label:fv,placeholder:O2,appendPreserveCaseLabel:this._keybindingLabelFor(Mt.TogglePreserveCaseCommand),history:v==="workspace"?this._replaceWidgetHistory:new Set([]),flexibleHeight:!0,flexibleWidth:!0,flexibleMaxHeight:118,showHistoryHint:()=>rv(this._keybindingService),inputBoxStyles:Wg,toggleStyles:Bg,hoverLifecycleOptions:C},this._contextKeyService,!0)),this._replaceInput.setPreserveCase(!!this._state.preserveCase),this._register(this._replaceInput.onKeyDown((q)=>this._onReplaceInputKeyDown(q))),this._register(this._replaceInput.inputBox.onDidChange(()=>{this._state.change({replaceString:this._replaceInput.inputBox.value},!1)})),this._register(this._replaceInput.inputBox.onDidHeightChange((q)=>{if(this._isReplaceVisible&&this._tryUpdateHeight())this._showViewZone()})),this._register(this._replaceInput.onDidOptionChange(()=>{this._state.change({preserveCase:this._replaceInput.getPreserveCase()},!0)})),this._register(this._replaceInput.onPreserveCaseKeyDown((q)=>{if(q.equals(2)){if(this._prevBtn.isEnabled())this._prevBtn.focus();else if(this._nextBtn.isEnabled())this._nextBtn.focus();else if(this._toggleSelectionFind.enabled)this._toggleSelectionFind.focus();else if(this._closeBtn.isEnabled())this._closeBtn.focus();q.preventDefault()}})),this._replaceBtn=this._register(new ms({label:M2+this._keybindingLabelFor(Mt.ReplaceOneAction),icon:y2,hoverLifecycleOptions:C,onTrigger:()=>{this._controller.replace()},onKeyDown:(q)=>{if(q.equals(1026))this._closeBtn.focus(),q.preventDefault()}},this._hoverService)),this._replaceAllBtn=this._register(new ms({label:P2+this._keybindingLabelFor(Mt.ReplaceAllAction),icon:x2,hoverLifecycleOptions:C,onTrigger:()=>{this._controller.replaceAll()}},this._hoverService));let D=document.createElement("div");D.className="replace-part",D.appendChild(this._replaceInput.domNode);let T=document.createElement("div");T.className="replace-actions",D.appendChild(T),T.appendChild(this._replaceBtn.domNode),T.appendChild(this._replaceAllBtn.domNode),this._toggleReplaceBtn=this._register(new ms({label:A2,className:"codicon toggle left",onTrigger:()=>{if(this._state.change({isReplaceRevealed:!this._isReplaceVisible},!1),this._isReplaceVisible)this._replaceInput.width=hr(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=E2,this._domNode.role="dialog",this._domNode.style.width=`${Kr}px`,this._domNode.appendChild(this._toggleReplaceBtn.domNode),this._domNode.appendChild(y),this._domNode.appendChild(this._closeBtn.domNode),this._domNode.appendChild(D),this._resizeSash=this._register(new Ki(this._domNode,this,{orientation:0,size:2})),this._resized=!1;let K=Kr;this._register(this._resizeSash.onDidStart(()=>{K=hr(this._domNode)})),this._register(this._resizeSash.onDidChange((q)=>{this._resized=!0;let Q=K+q.startX-q.currentX;if(Q<Kr)return;let te=parseFloat(vv(this._domNode).maxWidth)||0;if(Q>te)return;if(this._domNode.style.width=`${Q}px`,this._isReplaceVisible)this._replaceInput.width=hr(this._findInput.domNode);this._findInput.inputBox.layout(),this._tryUpdateHeight()})),this._register(this._resizeSash.onDidReset(()=>{let q=hr(this._domNode);if(q<Kr)return;let Q=Kr;if(!this._resized||q===Kr){let te=this._codeEditor.getLayoutInfo();Q=te.width-28-te.minimap.minimapWidth-15,this._resized=!0}if(this._domNode.style.width=`${Q}px`,this._isReplaceVisible)this._replaceInput.width=hr(this._findInput.domNode);this._findInput.inputBox.layout()}))}updateAccessibilitySupport(){let m=this._codeEditor.getOption(2);this._findInput.setFocusInputOnOptionClick(m!==2),this._updateFindInputAriaLabel()}_updateFindInputAriaLabel(){let m=lv,u=fv;if(!this._accessibilityHelpHintAnnounced&&this._configurationService.getValue("accessibility.verbosity.find")&&this._accessibilityService.isScreenReaderOptimized()){let p=this._keybindingService.lookupKeybinding("editor.action.accessibilityHelp")?.getAriaLabel();if(p){let v=e(1037,"Press {0} for accessibility help",p);m=e(1038,"{0}, {1}",m,v),u=e(1039,"{0}, {1}",u,v)}this._accessibilityHelpHintAnnounced=!0,this._labelResetTimeout?.dispose(),this._labelResetTimeout=Yn(()=>{if(this._isVisible)this._findInput.inputBox.setAriaLabel(lv),this._replaceInput.inputBox.setAriaLabel(fv)},1000)}this._findInput.inputBox.setAriaLabel(m),this._replaceInput.inputBox.setAriaLabel(u)}getViewState(){let m=!1;if(this._viewZone&&this._viewZoneId)m=this._viewZone.heightInPx>this._codeEditor.getScrollTop();return{widgetViewZoneVisible:m,scrollTop:this._codeEditor.getScrollTop()}}setViewState(m){if(!m)return;if(m.widgetViewZoneVisible)this._layoutViewZone(m.scrollTop)}}class ms extends ri{constructor(m,u){super();this._opts=m;let p="button";if(this._opts.className)p=p+" "+this._opts.className;if(this._opts.icon)p=p+" "+G.asClassName(this._opts.icon);this._domNode=document.createElement("div"),this._domNode.tabIndex=0,this._domNode.className=p,this._domNode.setAttribute("role","button"),this._domNode.setAttribute("aria-label",this._opts.label),this._register(u.setupDelayedHover(this._domNode,{content:this._opts.label,style:1},m.hoverLifecycleOptions)),this.onclick(this._domNode,(v)=>{this._opts.onTrigger(),v.preventDefault()}),this.onkeydown(this._domNode,(v)=>{if(v.equals(10)||v.equals(3)){this._opts.onTrigger(),v.preventDefault();return}this._opts.onKeyDown?.(v)})}get domNode(){return this._domNode}isEnabled(){return this._domNode.tabIndex>=0}focus(){this._domNode.focus()}setEnabled(m){this._domNode.classList.toggle("disabled",!m),this._domNode.setAttribute("aria-disabled",String(!m)),this._domNode.tabIndex=m?0:-1}setExpanded(m){if(this._domNode.setAttribute("aria-expanded",String(!!m)),m)this._domNode.classList.remove(...G.asClassNameArray(Ux)),this._domNode.classList.add(...G.asClassNameArray($x));else this._domNode.classList.remove(...G.asClassNameArray($x)),this._domNode.classList.add(...G.asClassNameArray(Ux))}}si((m,u)=>{let p=m.getColor(kl);if(p)u.addRule(`.monaco-editor .findMatch { border: 1px ${Ur(m.type)?"dotted":"solid"} ${p}; box-sizing: border-box; }`);let v=m.getColor(R$);if(v)u.addRule(`.monaco-editor .findScope { border: 1px ${Ur(m.type)?"dashed":"solid"} ${v}; }`);let C=m.getColor($e);if(C)u.addRule(`.monaco-editor .find-widget { border: 1px solid ${C}; }`);let y=m.getColor(T$);if(y)u.addRule(`.monaco-editor .findMatchInline { color: ${y}; }`);let I=m.getColor(L$);if(I)u.addRule(`.monaco-editor .currentFindMatchInline { color: ${I}; }`)});var K2=function(m,u,p,v){var C=arguments.length,y=C<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,p):v,I;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")y=Reflect.decorate(m,u,p,v);else for(var D=m.length-1;D>=0;D--)if(I=m[D])y=(C<3?I(y):C>3?I(u,p,y):I(u,p))||y;return C>3&&y&&Object.defineProperty(u,p,y),y},z2=function(m,u){return function(p,v){u(p,v,m)}},Gs,kp=class m{static{Gs=this}static{this.FIND_HISTORY_KEY="workbench.find.history"}static{this._instance=null}static getOrCreate(u){if(!Gs._instance)Gs._instance=new Gs(u);return Gs._instance}constructor(u){this.storageService=u,this.inMemoryValues=new Set,this._onDidChangeEmitter=new i,this.onDidChange=this._onDidChangeEmitter.event,this.load()}delete(u){let p=this.inMemoryValues.delete(u);return this.save(),p}add(u){return this.inMemoryValues.add(u),this.save(),this}has(u){return this.inMemoryValues.has(u)}forEach(u,p){return this.load(),this.inMemoryValues.forEach(u)}replace(u){this.inMemoryValues=new Set(u),this.save()}load(){let u,p=this.storageService.get(Gs.FIND_HISTORY_KEY,1);if(p)try{u=JSON.parse(p)}catch(v){}this.inMemoryValues=new Set(u||[])}save(){let u=[];return this.inMemoryValues.forEach((p)=>u.push(p)),new Promise((p)=>{this.storageService.store(Gs.FIND_HISTORY_KEY,JSON.stringify(u),1,0),this._onDidChangeEmitter.fire(u),p()})}};kp=Gs=K2([z2(0,_n)],kp);var U2=function(m,u,p,v){var C=arguments.length,y=C<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,p):v,I;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")y=Reflect.decorate(m,u,p,v);else for(var D=m.length-1;D>=0;D--)if(I=m[D])y=(C<3?I(y):C>3?I(u,p,y):I(u,p))||y;return C>3&&y&&Object.defineProperty(u,p,y),y},$2=function(m,u){return function(p,v){u(p,v,m)}},qs,Tp=class m{static{qs=this}static{this.FIND_HISTORY_KEY="workbench.replace.history"}static{this._instance=null}static getOrCreate(u){if(!qs._instance)qs._instance=new qs(u);return qs._instance}constructor(u){this.storageService=u,this.inMemoryValues=new Set,this._onDidChangeEmitter=new i,this.onDidChange=this._onDidChangeEmitter.event,this.load()}delete(u){let p=this.inMemoryValues.delete(u);return this.save(),p}add(u){return this.inMemoryValues.add(u),this.save(),this}has(u){return this.inMemoryValues.has(u)}forEach(u,p){return this.load(),this.inMemoryValues.forEach(u)}replace(u){this.inMemoryValues=new Set(u),this.save()}load(){let u,p=this.storageService.get(qs.FIND_HISTORY_KEY,1);if(p)try{u=JSON.parse(p)}catch(v){}this.inMemoryValues=new Set(u||[])}save(){let u=[];return this.inMemoryValues.forEach((p)=>u.push(p)),new Promise((p)=>{this.storageService.store(qs.FIND_HISTORY_KEY,JSON.stringify(u),1,0),this._onDidChangeEmitter.fire(u),p()})}};Tp=qs=U2([$2(0,_n)],Tp);var Zx=function(m,u,p,v){var C=arguments.length,y=C<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,p):v,I;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")y=Reflect.decorate(m,u,p,v);else for(var D=m.length-1;D>=0;D--)if(I=m[D])y=(C<3?I(y):C>3?I(u,p,y):I(u,p))||y;return C>3&&y&&Object.defineProperty(u,p,y),y},Io=function(m,u){return function(p,v){u(p,v,m)}},Dv,j2=524288;function Qv(m,u="single",p=!1){if(!m.hasModel())return null;let v=m.getSelection();if(u==="single"&&v.startLineNumber===v.endLineNumber||u==="multiple"){if(v.isEmpty()){let C=m.getConfiguredWordAtPosition(v.getStartPosition());if(C&&p===!1)return C.word}else if(m.getModel().getValueLengthInRange(v)<j2)return m.getModel().getValueInRange(v)}return null}var Yi=class m extends n{static{Dv=this}static{this.ID="editor.contrib.findController"}get editor(){return this._editor}static get(u){return u.getContribution(Dv.ID)}constructor(u,p,v,C,y,I){super();this._editor=u,this._findWidgetVisible=Fr.bindTo(p),this._contextKeyService=p,this._storageService=v,this._clipboardService=C,this._notificationService=y,this._hoverService=I,this._updateHistoryDelayer=this._register(new ki(500)),this._state=this._register(new iv),this.loadQueryState(),this._register(this._state.onFindReplaceStateChange((D)=>this._onStateChanged(D))),this._model=null,this._register(this._editor.onDidChangeModel(()=>{let D=this._editor.getModel()&&this._state.isRevealed;if(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),D)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(){if(this._model)this._model.dispose(),this._model=null}_onStateChanged(u){if(this.saveQueryState(u),u.isRevealed)if(this._state.isRevealed)this._findWidgetVisible.set(!0);else this._findWidgetVisible.reset(),this.disposeModel();if(u.searchString)this.setGlobalBufferTerm(this._state.searchString)}saveQueryState(u){if(u.isRegex)this._storageService.store("editor.isRegex",this._state.actualIsRegex,1,1);if(u.wholeWord)this._storageService.store("editor.wholeWord",this._state.actualWholeWord,1,1);if(u.matchCase)this._storageService.store("editor.matchCase",this._state.actualMatchCase,1,1);if(u.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!!Qd.getValue(this._contextKeyService)}getState(){return this._state}closeFindWidget(){this._state.change({isRevealed:!1,searchScope:null},!1),this._editor.focus()}toggleCaseSensitive(){if(this._state.change({matchCase:!this._state.matchCase},!1),!this._state.isRevealed)this.highlightFindOptions()}toggleWholeWords(){if(this._state.change({wholeWord:!this._state.wholeWord},!1),!this._state.isRevealed)this.highlightFindOptions()}toggleRegex(){if(this._state.change({isRegex:!this._state.isRegex},!1),!this._state.isRevealed)this.highlightFindOptions()}togglePreserveCase(){if(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 u=this._editor.getSelections();if(u=u.map((p)=>{if(p.endColumn===1&&p.endLineNumber>p.startLineNumber)p=p.setEndPosition(p.endLineNumber-1,this._editor.getModel().getLineMaxColumn(p.endLineNumber-1));if(!p.isEmpty())return p;return null}).filter((p)=>!!p),u.length)this._state.change({searchScope:u},!0)}}setSearchString(u){if(this._state.isRegex)u=Ci(u);this._state.change({searchString:u},!1)}highlightFindOptions(u=!1){}async _start(u,p){if(this.disposeModel(),!this._editor.hasModel())return;let v={...p,isRevealed:!0};if(u.seedSearchStringFromSelection==="single"){let C=Qv(this._editor,u.seedSearchStringFromSelection,u.seedSearchStringFromNonEmptySelection);if(C)if(this._state.isRegex)v.searchString=Ci(C);else v.searchString=C}else if(u.seedSearchStringFromSelection==="multiple"&&!u.updateSearchScope){let C=Qv(this._editor,u.seedSearchStringFromSelection);if(C)v.searchString=C}if(!v.searchString&&u.seedSearchStringFromGlobalClipboard){let C=await this.getGlobalBufferTerm();if(!this._editor.hasModel())return;if(C)v.searchString=C}if(u.forceRevealReplace||v.isReplaceRevealed)v.isReplaceRevealed=!0;else if(!this._findWidgetVisible.get())v.isReplaceRevealed=!1;if(u.updateSearchScope){let C=this._editor.getSelections();if(C.some((y)=>!y.isEmpty()))v.searchScope=C}if(v.loop=u.loop,this._state.change(v,!1),!this._model)this._model=new Jd(this._editor,this._state)}start(u,p){return this._start(u,p)}moveToNextMatch(){if(this._model)return this._model.moveToNextMatch(),!0;return!1}moveToPrevMatch(){if(this._model)return this._model.moveToPrevMatch(),!0;return!1}goToMatch(u){if(this._model)return this._model.moveToMatch(u),!0;return!1}replace(){if(this._model)return this._model.replace(),!0;return!1}replaceAll(){if(this._model){if(this._editor.getModel()?.isTooLargeForHeapOperation())return this._notificationService.warn(e(994,"The file is too large to perform a replace all operation.")),!1;return this._model.replaceAll(),!0}return!1}selectAllMatches(){if(this._model)return this._model.selectAllMatches(),this._editor.focus(),!0;return!1}async getGlobalBufferTerm(){if(this._editor.getOption(50).globalFindClipboard&&this._editor.hasModel()&&!this._editor.getModel().isTooLargeForSyncing())return this._clipboardService.readFindText();return""}setGlobalBufferTerm(u){if(this._editor.getOption(50).globalFindClipboard&&this._editor.hasModel()&&!this._editor.getModel().isTooLargeForSyncing())this._clipboardService.writeFindText(u)}};Yi=Dv=Zx([Io(1,z),Io(2,_n),Io(3,Qn),Io(4,ut),Io(5,wn)],Yi);var eS=class m extends Yi{constructor(u,p,v,C,y,I,D,T,K,q){super(u,v,I,D,y,T);this._contextViewService=p,this._keybindingService=C,this._configurationService=K,this._accessibilityService=q,this._widget=null,this._findOptionsWidget=null,this._findWidgetSearchHistory=kp.getOrCreate(I),this._replaceWidgetHistory=Tp.getOrCreate(I)}async _start(u,p){if(!this._widget)this._createFindWidget();let v=this._editor.getSelection(),C=!1;switch(this._editor.getOption(50).autoFindInSelection){case"always":C=!0;break;case"never":C=!1;break;case"multiline":{C=!!v&&v.startLineNumber!==v.endLineNumber;break}}if(u.updateSearchScope=u.updateSearchScope||C,await super._start(u,p),this._widget){if(u.shouldFocus===2)this._widget.focusReplaceInput();else if(u.shouldFocus===1)this._widget.focusFindInput()}}highlightFindOptions(u=!1){if(!this._widget)this._createFindWidget();if(this._state.isRevealed&&!u)this._widget.highlightFindOptions();else this._findOptionsWidget.highlightFindOptions()}_createFindWidget(){this._widget=this._register(new ic(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 Cp(this._editor,this._state,this._keybindingService))}saveViewState(){return this._widget?.getViewState()}restoreViewState(u){this._widget?.setViewState(u)}};eS=Zx([Io(1,Go),Io(2,z),Io(3,ce),Io(4,ut),Io(5,_n),Io(6,Qn),Io(7,wn),Io(8,X),Io(9,qt)],eS);var G2=xv(new _g({id:Mt.StartFindAction,label:h(1002,"Find"),precondition:_.or(r.focus,_.has("editorIsOpen")),kbOpts:{kbExpr:null,primary:2084,weight:100},menuOpts:{menuId:a.MenubarEditMenu,group:"3_find",title:e(995,"&&Find"),order:1}}));G2.addImplementation(0,(m,u,p)=>{let v=Yi.get(u);if(!v)return!1;return v.start({forceRevealReplace:!1,seedSearchStringFromSelection:u.getOption(50).seedSearchStringFromSelection!=="never"?"single":"none",seedSearchStringFromNonEmptySelection:u.getOption(50).seedSearchStringFromSelection==="selection",seedSearchStringFromGlobalClipboard:u.getOption(50).globalFindClipboard,shouldFocus:1,shouldAnimate:!0,updateSearchScope:!1,loop:u.getOption(50).loop})});var q2={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"}}}}]};class Xx extends W{constructor(){super({id:Mt.StartFindWithArgs,label:h(1003,"Find with Arguments"),precondition:void 0,kbOpts:{kbExpr:null,primary:0,weight:100},metadata:q2})}async run(m,u,p){let v=Yi.get(u);if(v){let C=p?{searchString:p.searchString,replaceString:p.replaceString,isReplaceRevealed:p.replaceString!==void 0,isRegex:p.isRegex,wholeWord:p.matchWholeWord,matchCase:p.isCaseSensitive,preserveCase:p.preserveCase}:{};await v.start({forceRevealReplace:!1,seedSearchStringFromSelection:v.getState().searchString.length===0&&u.getOption(50).seedSearchStringFromSelection!=="never"?"single":"none",seedSearchStringFromNonEmptySelection:u.getOption(50).seedSearchStringFromSelection==="selection",seedSearchStringFromGlobalClipboard:!0,shouldFocus:1,shouldAnimate:!0,updateSearchScope:p?.findInSelection||!1,loop:u.getOption(50).loop},C),v.setGlobalBufferTerm(v.getState().searchString)}}}class Yx extends W{constructor(){super({id:Mt.StartFindWithSelection,label:h(1004,"Find with Selection"),precondition:void 0,kbOpts:{kbExpr:null,primary:0,mac:{primary:2083},weight:100}})}async run(m,u){let p=Yi.get(u);if(p)await p.start({forceRevealReplace:!1,seedSearchStringFromSelection:"multiple",seedSearchStringFromNonEmptySelection:!1,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:u.getOption(50).loop}),p.setGlobalBufferTerm(p.getState().searchString)}}async function Jx(m,u){let p=Yi.get(m);if(!p)return;let v=m.getOption(50).closeOnResult,C=p.getState().isRevealed,y=()=>{let I=p.editor.getSelection(),D=u?p.moveToNextMatch():p.moveToPrevMatch(),T=!1;if(D){let K=p.editor.getSelection();if(!I&&K)T=!0;else if(I&&K&&!I.equalsSelection(K))T=!0}if(T){if(p.editor.pushUndoStop(),v&&C&&p.isFindInputFocused())p.closeFindWidget();return!0}return!1};if(!y()){if(await p.start({forceRevealReplace:!1,seedSearchStringFromSelection:p.getState().searchString.length===0&&m.getOption(50).seedSearchStringFromSelection!=="never"?"single":"none",seedSearchStringFromNonEmptySelection:m.getOption(50).seedSearchStringFromSelection==="selection",seedSearchStringFromGlobalClipboard:!0,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:m.getOption(50).loop}),!y()){let I=p.getState();if(C&&I.matchesCount===0&&I.searchString)Ln(e(996,"{0} found for '{1}'",Rp,I.searchString))}}}var Z2=xv(new _g({id:Mt.NextMatchFindAction,label:h(1005,"Find Next"),precondition:void 0,kbOpts:[{kbExpr:r.focus,primary:61,mac:{primary:2085,secondary:[61]},weight:100},{kbExpr:_.and(r.focus,Qd),primary:3,weight:100}]}));Z2.addImplementation(0,async(m,u,p)=>Jx(u,!0));var X2=xv(new _g({id:Mt.PreviousMatchFindAction,label:h(1006,"Find Previous"),precondition:void 0,kbOpts:[{kbExpr:r.focus,primary:1085,mac:{primary:3109,secondary:[1085]},weight:100},{kbExpr:_.and(r.focus,Qd),primary:1027,weight:100}]}));X2.addImplementation(0,async(m,u,p)=>Jx(u,!1));class Qx extends W{constructor(){super({id:Mt.GoToMatchFindAction,label:h(1007,"Go to Match..."),precondition:Fr});this._highlightDecorations=[]}run(m,u){let p=Yi.get(u);if(!p)return;let v=p.getState().matchesCount;if(v<1){m.get(ut).notify({severity:Ll.Warning,message:e(997,"No matches. Try searching for something else.")});return}let C=m.get(un),y=new c,I=y.add(C.createInputBox());I.placeholder=e(998,"Type a number to go to a specific match (between 1 and {0})",v);let D=(K)=>{let q=parseInt(K);if(isNaN(q))return;let Q=p.getState().matchesCount;if(q>0&&q<=Q)return q-1;else if(q<0&&q>=-Q)return Q+q;return},T=(K)=>{let q=D(K);if(typeof q==="number"){I.validationMessage=void 0,p.goToMatch(q);let Q=p.getState().currentMatch;if(Q)this.addDecorations(u,Q)}else I.validationMessage=e(999,"Please type a number between 1 and {0}",p.getState().matchesCount),this.clearDecorations(u)};y.add(I.onDidChangeValue((K)=>{T(K)})),y.add(I.onDidAccept(()=>{let K=D(I.value);if(typeof K==="number")p.goToMatch(K),I.hide();else I.validationMessage=e(1000,"Please type a number between 1 and {0}",p.getState().matchesCount)})),y.add(I.onDidHide(()=>{this.clearDecorations(u),y.dispose()})),I.show()}clearDecorations(m){m.changeDecorations((u)=>{this._highlightDecorations=u.deltaDecorations(this._highlightDecorations,[])})}addDecorations(m,u){m.changeDecorations((p)=>{this._highlightDecorations=p.deltaDecorations(this._highlightDecorations,[{range:u,options:{description:"find-match-quick-access-range-highlight",className:"rangeHighlight",isWholeLine:!0}},{range:u,options:{description:"find-match-quick-access-range-highlight-overview",overviewRuler:{color:nn(z_),position:Er.Full}}}])})}}class tS extends W{async run(m,u){let p=Yi.get(u);if(!p)return;let v=Qv(u,"single",!1);if(v)p.setSearchString(v);if(!this._run(p))await p.start({forceRevealReplace:!1,seedSearchStringFromSelection:"none",seedSearchStringFromNonEmptySelection:!1,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:u.getOption(50).loop}),this._run(p)}}class eI extends tS{constructor(){super({id:Mt.NextSelectionMatchFindAction,label:h(1008,"Find Next Selection"),precondition:void 0,kbOpts:{kbExpr:r.focus,primary:2109,weight:100}})}_run(m){return m.moveToNextMatch()}}class tI extends tS{constructor(){super({id:Mt.PreviousSelectionMatchFindAction,label:h(1009,"Find Previous Selection"),precondition:void 0,kbOpts:{kbExpr:r.focus,primary:3133,weight:100}})}_run(m){return m.moveToPrevMatch()}}var Y2=xv(new _g({id:Mt.StartFindReplaceAction,label:h(1010,"Replace"),precondition:_.or(r.focus,_.has("editorIsOpen")),kbOpts:{kbExpr:null,primary:2086,mac:{primary:2596},weight:100},menuOpts:{menuId:a.MenubarEditMenu,group:"3_find",title:e(1001,"&&Replace"),order:2}}));Y2.addImplementation(0,(m,u,p)=>{if(!u.hasModel()||u.getOption(104))return!1;let v=Yi.get(u);if(!v)return!1;let C=u.getSelection(),y=v.isFindInputFocused(),I=!C.isEmpty()&&C.startLineNumber===C.endLineNumber&&u.getOption(50).seedSearchStringFromSelection!=="never"&&!y,D=y||I?2:1;return v.start({forceRevealReplace:!0,seedSearchStringFromSelection:I?"single":"none",seedSearchStringFromNonEmptySelection:u.getOption(50).seedSearchStringFromSelection==="selection",seedSearchStringFromGlobalClipboard:u.getOption(50).seedSearchStringFromSelection!=="never",shouldFocus:D,shouldAnimate:!0,updateSearchScope:!1,loop:u.getOption(50).loop})});le(Yi.ID,eS,0);R(Xx);R(Yx);R(Qx);R(eI);R(tI);var Sr=Vt.bindToContribution(Yi.get);U(new Sr({id:Mt.CloseFindWidgetCommand,precondition:Fr,handler:(m)=>m.closeFindWidget(),kbOpts:{weight:105,kbExpr:r.focus,primary:9,secondary:[1033]}}));U(new Sr({id:Mt.ToggleCaseSensitiveCommand,precondition:void 0,handler:(m)=>m.toggleCaseSensitive(),kbOpts:{weight:105,kbExpr:r.focus,primary:Hc.primary,mac:Hc.mac,win:Hc.win,linux:Hc.linux}}));U(new Sr({id:Mt.ToggleWholeWordCommand,precondition:void 0,handler:(m)=>m.toggleWholeWords(),kbOpts:{weight:105,kbExpr:r.focus,primary:Wc.primary,mac:Wc.mac,win:Wc.win,linux:Wc.linux}}));U(new Sr({id:Mt.ToggleRegexCommand,precondition:void 0,handler:(m)=>m.toggleRegex(),kbOpts:{weight:105,kbExpr:r.focus,primary:Bc.primary,mac:Bc.mac,win:Bc.win,linux:Bc.linux}}));U(new Sr({id:Mt.ToggleSearchScopeCommand,precondition:void 0,handler:(m)=>m.toggleSearchScope(),kbOpts:{weight:105,kbExpr:r.focus,primary:$c.primary,mac:$c.mac,win:$c.win,linux:$c.linux}}));U(new Sr({id:Mt.TogglePreserveCaseCommand,precondition:void 0,handler:(m)=>m.togglePreserveCase(),kbOpts:{weight:105,kbExpr:r.focus,primary:jc.primary,mac:jc.mac,win:jc.win,linux:jc.linux}}));U(new Sr({id:Mt.ReplaceOneAction,precondition:Fr,handler:(m)=>m.replace(),kbOpts:{weight:105,kbExpr:r.focus,primary:3094}}));U(new Sr({id:Mt.ReplaceOneAction,precondition:Fr,handler:(m)=>m.replace(),kbOpts:{weight:105,kbExpr:_.and(r.focus,Fc),primary:3}}));U(new Sr({id:Mt.ReplaceAllAction,precondition:Fr,handler:(m)=>m.replaceAll(),kbOpts:{weight:105,kbExpr:r.focus,primary:2563}}));U(new Sr({id:Mt.ReplaceAllAction,precondition:Fr,handler:(m)=>m.replaceAll(),kbOpts:{weight:105,kbExpr:_.and(r.focus,Fc),primary:void 0,mac:{primary:2051}}}));U(new Sr({id:Mt.SelectAllMatchesAction,precondition:Fr,handler:(m)=>m.selectAllMatches(),kbOpts:{weight:105,kbExpr:r.focus,primary:515}}));var J2=s("editor.wordHighlightBackground",{dark:"#575757B8",light:"#57575740",hcDark:null,hcLight:null},e(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);s("editor.wordHighlightStrongBackground",{dark:"#004972B8",light:"#0e639c40",hcDark:null,hcLight:null},e(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);s("editor.wordHighlightTextBackground",J2,e(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 Q2=s("editor.wordHighlightBorder",{light:null,dark:null,hcDark:Ht,hcLight:Ht},e(1640,"Border color of a symbol during read-access, like reading a variable."));s("editor.wordHighlightStrongBorder",{light:null,dark:null,hcDark:Ht,hcLight:Ht},e(1641,"Border color of a symbol during write-access, like writing to a variable."));s("editor.wordHighlightTextBorder",Q2,e(1642,"Border color of a textual occurrence for a symbol."));var eR=s("editorOverviewRuler.wordHighlightForeground","#A0A0A0CC",e(1643,"Overview ruler marker color for symbol highlights. The color must not be opaque so as not to hide underlying decorations."),!0),tR=s("editorOverviewRuler.wordHighlightStrongForeground","#C0A0C0CC",e(1644,"Overview ruler marker color for write-access symbol highlights. The color must not be opaque so as not to hide underlying decorations."),!0),iR=s("editorOverviewRuler.wordHighlightTextForeground",uk,e(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),oR=re.register({description:"word-highlight-strong",stickiness:1,className:"wordHighlightStrong",overviewRuler:{color:nn(tR),position:Er.Center},minimap:{color:nn(Tv),position:1}}),nR=re.register({description:"word-highlight-text",stickiness:1,className:"wordHighlightText",overviewRuler:{color:nn(iR),position:Er.Center},minimap:{color:nn(Tv),position:1}}),rR=re.register({description:"selection-highlight-overview",stickiness:1,className:"selectionHighlight",overviewRuler:{color:nn(uk),position:Er.Center},minimap:{color:nn(Tv),position:1}}),sR=re.register({description:"selection-highlight",stickiness:1,className:"selectionHighlight"}),aR=re.register({description:"word-highlight",stickiness:1,className:"wordHighlight",overviewRuler:{color:nn(eR),position:Er.Center},minimap:{color:nn(Tv),position:1}});function XR(m){if(m===du.Write)return oR;else if(m===du.Text)return nR;else return aR}function iI(m){return m?sR:rR}si((m,u)=>{let p=m.getColor(vf);if(p)u.addRule(`.monaco-editor .selectionHighlight { background-color: ${p.transparent(0.5)}; }`)});var dR=function(m,u,p,v){var C=arguments.length,y=C<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,p):v,I;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")y=Reflect.decorate(m,u,p,v);else for(var D=m.length-1;D>=0;D--)if(I=m[D])y=(C<3?I(y):C>3?I(u,p,y):I(u,p))||y;return C>3&&y&&Object.defineProperty(u,p,y),y},lR=function(m,u){return function(p,v){u(p,v,m)}},iS;function Zs(m,u){let p=u.filter((v)=>!m.find((C)=>C.equals(v)));if(p.length>=1){let v=p.map((y)=>`line ${y.viewState.position.lineNumber} column ${y.viewState.position.column}`).join(", "),C=p.length===1?e(1354,"Cursor added: {0}",v):e(1355,"Cursors added: {0}",v);br(C)}}class nI extends W{constructor(){super({id:"editor.action.insertCursorAbove",label:h(1364,"Add Cursor Above"),precondition:void 0,kbOpts:{kbExpr:r.editorTextFocus,primary:2576,linux:{primary:1552,secondary:[3088]},weight:100},menuOpts:{menuId:a.MenubarSelectionMenu,group:"3_multi",title:e(1356,"&&Add Cursor Above"),order:2}})}run(m,u,p){if(!u.hasModel())return;let v=!0;if(p&&p.logicalLine===!1)v=!1;let C=u._getViewModel();if(C.cursorConfig.readOnly)return;C.model.pushStackElement();let y=C.getCursorStates();C.setCursorStates(p.source,3,bi.addCursorUp(C,y,v)),C.revealTopMostCursor(p.source),Zs(y,C.getCursorStates())}}class rI extends W{constructor(){super({id:"editor.action.insertCursorBelow",label:h(1365,"Add Cursor Below"),precondition:void 0,kbOpts:{kbExpr:r.editorTextFocus,primary:2578,linux:{primary:1554,secondary:[3090]},weight:100},menuOpts:{menuId:a.MenubarSelectionMenu,group:"3_multi",title:e(1357,"A&&dd Cursor Below"),order:3}})}run(m,u,p){if(!u.hasModel())return;let v=!0;if(p&&p.logicalLine===!1)v=!1;let C=u._getViewModel();if(C.cursorConfig.readOnly)return;C.model.pushStackElement();let y=C.getCursorStates();C.setCursorStates(p.source,3,bi.addCursorDown(C,y,v)),C.revealBottomMostCursor(p.source),Zs(y,C.getCursorStates())}}class sI extends W{constructor(){super({id:"editor.action.insertCursorAtEndOfEachLineSelected",label:h(1366,"Add Cursors to Line Ends"),precondition:void 0,kbOpts:{kbExpr:r.editorTextFocus,primary:1575,weight:100},menuOpts:{menuId:a.MenubarSelectionMenu,group:"3_multi",title:e(1358,"Add C&&ursors to Line Ends"),order:4}})}getCursorsForSelection(m,u,p){if(m.isEmpty())return;for(let v=m.startLineNumber;v<m.endLineNumber;v++){let C=u.getLineMaxColumn(v);p.push(new A(v,C,v,C))}if(m.endColumn>1)p.push(new A(m.endLineNumber,m.endColumn,m.endLineNumber,m.endColumn))}run(m,u){if(!u.hasModel())return;let p=u.getModel(),v=u.getSelections(),C=u._getViewModel(),y=C.getCursorStates(),I=[];if(v.forEach((D)=>this.getCursorsForSelection(D,p,I)),I.length>0)u.setSelections(I);Zs(y,C.getCursorStates())}}class aI extends W{constructor(){super({id:"editor.action.addCursorsToBottom",label:h(1367,"Add Cursors to Bottom"),precondition:void 0})}run(m,u){if(!u.hasModel())return;let p=u.getSelections(),v=u.getModel().getLineCount(),C=[];for(let D=p[0].startLineNumber;D<=v;D++)C.push(new A(D,p[0].startColumn,D,p[0].endColumn));let y=u._getViewModel(),I=y.getCursorStates();if(C.length>0)u.setSelections(C);Zs(I,y.getCursorStates())}}class dI extends W{constructor(){super({id:"editor.action.addCursorsToTop",label:h(1368,"Add Cursors to Top"),precondition:void 0})}run(m,u){if(!u.hasModel())return;let p=u.getSelections(),v=[];for(let I=p[0].startLineNumber;I>=1;I--)v.push(new A(I,p[0].startColumn,I,p[0].endColumn));let C=u._getViewModel(),y=C.getCursorStates();if(v.length>0)u.setSelections(v);Zs(y,C.getCursorStates())}}class th{constructor(m,u,p){this.selections=m,this.revealRange=u,this.revealScrollType=p}}class ih{static create(m,u){if(!m.hasModel())return null;let p=u.getState();if(!m.hasTextFocus()&&p.isRevealed&&p.searchString.length>0)return new ih(m,u,!1,p.searchString,p.wholeWord,p.matchCase,null);let v=!1,C,y,I=m.getSelections();if(I.length===1&&I[0].isEmpty())v=!0,C=!0,y=!0;else C=p.wholeWord,y=p.matchCase;let D=m.getSelection(),T,K=null;if(D.isEmpty()){let q=m.getConfiguredWordAtPosition(D.getStartPosition());if(!q)return null;T=q.word,K=new A(D.startLineNumber,q.startColumn,D.startLineNumber,q.endColumn)}else T=m.getModel().getValueInRange(D).replace(/\r\n/g,`
|
|
21
|
-
`);return new ih(m,u,v,T,C,y,K)}constructor(m,u,p,v,C,y,I){this._editor=m,this.findController=u,this.isDisconnectedFromFindController=p,this.searchText=v,this.wholeWord=C,this.matchCase=y,this.currentMatch=I}addSelectionToNextFindMatch(){if(!this._editor.hasModel())return null;let m=this._getNextMatch();if(!m)return null;let u=this._editor.getSelections();return new th(u.concat(m),m,0)}moveSelectionToNextFindMatch(){if(!this._editor.hasModel())return null;let m=this._getNextMatch();if(!m)return null;let u=this._editor.getSelections();return new th(u.slice(0,u.length-1).concat(m),m,0)}_getNextMatch(){if(!this._editor.hasModel())return null;if(this.currentMatch){let v=this.currentMatch;return this.currentMatch=null,v}this.findController.highlightFindOptions();let m=this._editor.getSelections(),u=m[m.length-1],p=this._editor.getModel().findNextMatch(this.searchText,u.getEndPosition(),!1,this.matchCase,this.wholeWord?this._editor.getOption(148):null,!1);if(!p)return null;return new A(p.range.startLineNumber,p.range.startColumn,p.range.endLineNumber,p.range.endColumn)}addSelectionToPreviousFindMatch(){if(!this._editor.hasModel())return null;let m=this._getPreviousMatch();if(!m)return null;let u=this._editor.getSelections();return new th(u.concat(m),m,0)}moveSelectionToPreviousFindMatch(){if(!this._editor.hasModel())return null;let m=this._getPreviousMatch();if(!m)return null;let u=this._editor.getSelections();return new th(u.slice(0,u.length-1).concat(m),m,0)}_getPreviousMatch(){if(!this._editor.hasModel())return null;if(this.currentMatch){let v=this.currentMatch;return this.currentMatch=null,v}this.findController.highlightFindOptions();let m=this._editor.getSelections(),u=m[m.length-1],p=this._editor.getModel().findPreviousMatch(this.searchText,u.getStartPosition(),!1,this.matchCase,this.wholeWord?this._editor.getOption(148):null,!1);if(!p)return null;return new A(p.range.startLineNumber,p.range.startColumn,p.range.endLineNumber,p.range.endColumn)}selectAll(m){if(!this._editor.hasModel())return[];this.findController.highlightFindOptions();let u=this._editor.getModel();if(m)return u.findMatches(this.searchText,m,!1,this.matchCase,this.wholeWord?this._editor.getOption(148):null,!1,1073741824);return u.findMatches(this.searchText,!0,!1,this.matchCase,this.wholeWord?this._editor.getOption(148):null,!1,1073741824)}}class el extends n{static{this.ID="editor.contrib.multiCursorController"}static get(m){return m.getContribution(el.ID)}constructor(m){super();this._sessionDispose=this._register(new c),this._editor=m,this._ignoreSelectionChange=!1,this._session=null}dispose(){this._endSession(),super.dispose()}_beginSessionIfNeeded(m){if(!this._session){let u=ih.create(this._editor,m);if(!u)return;this._session=u;let p={searchString:this._session.searchText};if(this._session.isDisconnectedFromFindController)p.wholeWordOverride=1,p.matchCaseOverride=1,p.isRegexOverride=2;m.getState().change(p,!1),this._sessionDispose.add(this._editor.onDidChangeCursorSelection((v)=>{if(this._ignoreSelectionChange)return;this._endSession()})),this._sessionDispose.add(this._editor.onDidBlurEditorText(()=>{this._endSession()})),this._sessionDispose.add(m.getState().onFindReplaceStateChange((v)=>{if(v.matchCase||v.wholeWord)this._endSession()}))}}_endSession(){if(this._sessionDispose.clear(),this._session&&this._session.isDisconnectedFromFindController){let m={wholeWordOverride:0,matchCaseOverride:0,isRegexOverride:0};this._session.findController.getState().change(m,!1)}this._session=null}_setSelections(m){this._ignoreSelectionChange=!0,this._editor.setSelections(m),this._ignoreSelectionChange=!1}_expandEmptyToWord(m,u){if(!u.isEmpty())return u;let p=this._editor.getConfiguredWordAtPosition(u.getStartPosition());if(!p)return u;return new A(u.startLineNumber,p.startColumn,u.startLineNumber,p.endColumn)}_applySessionResult(m){if(!m)return;if(this._setSelections(m.selections),m.revealRange)this._editor.revealRangeInCenterIfOutsideViewport(m.revealRange,m.revealScrollType)}getSession(m){return this._session}addSelectionToNextFindMatch(m){if(!this._editor.hasModel())return;if(!this._session){let u=this._editor.getSelections();if(u.length>1){let v=m.getState().matchCase;if(!fI(this._editor.getModel(),u,v)){let y=this._editor.getModel(),I=[];for(let D=0,T=u.length;D<T;D++)I[D]=this._expandEmptyToWord(y,u[D]);this._editor.setSelections(I);return}}}if(this._beginSessionIfNeeded(m),this._session)this._applySessionResult(this._session.addSelectionToNextFindMatch())}addSelectionToPreviousFindMatch(m){if(this._beginSessionIfNeeded(m),this._session)this._applySessionResult(this._session.addSelectionToPreviousFindMatch())}moveSelectionToNextFindMatch(m){if(this._beginSessionIfNeeded(m),this._session)this._applySessionResult(this._session.moveSelectionToNextFindMatch())}moveSelectionToPreviousFindMatch(m){if(this._beginSessionIfNeeded(m),this._session)this._applySessionResult(this._session.moveSelectionToPreviousFindMatch())}selectAll(m){if(!this._editor.hasModel())return;let u=null,p=m.getState();if(p.isRevealed&&p.searchString.length>0&&p.isRegex){let v=this._editor.getModel();if(p.searchScope)u=v.findMatches(p.searchString,p.searchScope,p.isRegex,p.matchCase,p.wholeWord?this._editor.getOption(148):null,!1,1073741824);else u=v.findMatches(p.searchString,!0,p.isRegex,p.matchCase,p.wholeWord?this._editor.getOption(148):null,!1,1073741824)}else{if(this._beginSessionIfNeeded(m),!this._session)return;u=this._session.selectAll(p.searchScope)}if(u.length>0){let v=this._editor.getSelection();for(let C=0,y=u.length;C<y;C++){let I=u[C];if(I.range.intersectRanges(v)){u[C]=u[0],u[0]=I;break}}this._setSelections(u.map((C)=>new A(C.range.startLineNumber,C.range.startColumn,C.range.endLineNumber,C.range.endColumn)))}}}class ud extends W{run(m,u){let p=el.get(u);if(!p)return;let v=u._getViewModel();if(v){let C=v.getCursorStates(),y=Yi.get(u);if(y)this._run(p,y);else{let I=m.get(L).createInstance(Yi,u);this._run(p,I),I.dispose()}Zs(C,v.getCursorStates())}}}class lI extends ud{constructor(){super({id:"editor.action.addSelectionToNextFindMatch",label:h(1369,"Add Selection to Next Find Match"),precondition:void 0,kbOpts:{kbExpr:r.focus,primary:2082,weight:100},menuOpts:{menuId:a.MenubarSelectionMenu,group:"3_multi",title:e(1359,"Add &&Next Occurrence"),order:5}})}_run(m,u){m.addSelectionToNextFindMatch(u)}}class cI extends ud{constructor(){super({id:"editor.action.addSelectionToPreviousFindMatch",label:h(1370,"Add Selection to Previous Find Match"),precondition:void 0,menuOpts:{menuId:a.MenubarSelectionMenu,group:"3_multi",title:e(1360,"Add P&&revious Occurrence"),order:6}})}_run(m,u){m.addSelectionToPreviousFindMatch(u)}}class hI extends ud{constructor(){super({id:"editor.action.moveSelectionToNextFindMatch",label:h(1371,"Move Last Selection to Next Find Match"),precondition:void 0,kbOpts:{kbExpr:r.focus,primary:Zt(2089,2082),weight:100}})}_run(m,u){m.moveSelectionToNextFindMatch(u)}}class uI extends ud{constructor(){super({id:"editor.action.moveSelectionToPreviousFindMatch",label:h(1372,"Move Last Selection to Previous Find Match"),precondition:void 0})}_run(m,u){m.moveSelectionToPreviousFindMatch(u)}}class gI extends ud{constructor(){super({id:"editor.action.selectHighlights",label:h(1373,"Select All Occurrences of Find Match"),precondition:void 0,kbOpts:{kbExpr:r.focus,primary:3114,weight:100},menuOpts:{menuId:a.MenubarSelectionMenu,group:"3_multi",title:e(1361,"Select All &&Occurrences"),order:7}})}_run(m,u){m.selectAll(u)}}class pI extends ud{constructor(){super({id:"editor.action.changeAll",label:h(1374,"Change All Occurrences"),precondition:_.and(r.writable,r.editorTextFocus),kbOpts:{kbExpr:r.editorTextFocus,primary:2108,weight:100},contextMenuOpts:{group:"1_modification",order:1.2}})}_run(m,u){m.selectAll(u)}}class mI{constructor(m,u,p,v,C){if(this._model=m,this._searchText=u,this._matchCase=p,this._wordSeparators=v,this._cachedFindMatches=null,this._modelVersionId=this._model.getVersionId(),C&&this._model===C._model&&this._searchText===C._searchText&&this._matchCase===C._matchCase&&this._wordSeparators===C._wordSeparators&&this._modelVersionId===C._modelVersionId)this._cachedFindMatches=C._cachedFindMatches}findMatches(){if(this._cachedFindMatches===null)this._cachedFindMatches=this._model.findMatches(this._searchText,!0,!1,this._matchCase,this._wordSeparators,!1).map((m)=>m.range),this._cachedFindMatches.sort(t.compareRangesUsingStarts);return this._cachedFindMatches}}var Np=class m extends n{static{iS=this}static{this.ID="editor.contrib.selectionHighlighter"}constructor(u,p){super();this._languageFeaturesService=p,this.editor=u,this._isEnabled=u.getOption(122),this._isEnabledMultiline=u.getOption(124),this._maxLength=u.getOption(123),this._decorations=u.createDecorationsCollection(),this.updateSoon=this._register(new be(()=>this._update(),300)),this.state=null,this._register(u.onDidChangeConfiguration((C)=>{this._isEnabled=u.getOption(122),this._isEnabledMultiline=u.getOption(124),this._maxLength=u.getOption(123)})),this._register(u.onDidChangeCursorSelection((C)=>{if(!this._isEnabled)return;if(C.selection.isEmpty())if(C.reason===3){if(this.state)this._setState(null);this.updateSoon.schedule()}else this._setState(null);else this._update()})),this._register(u.onDidChangeModel((C)=>{this._setState(null)})),this._register(u.onDidChangeModelContent((C)=>{if(this._isEnabled)this.updateSoon.schedule()}));let v=Yi.get(u);if(v)this._register(v.getState().onFindReplaceStateChange((C)=>{this._update()}));this.updateSoon.schedule()}_update(){this._setState(iS._createState(this.state,this._isEnabled,this._isEnabledMultiline,this._maxLength,this.editor))}static _createState(u,p,v,C,y){if(!p)return null;if(!y.hasModel())return null;if(!v){let Q=y.getSelection();if(Q.startLineNumber!==Q.endLineNumber)return null}let I=el.get(y);if(!I)return null;let D=Yi.get(y);if(!D)return null;let T=I.getSession(D);if(!T){let Q=y.getSelections();if(Q.length>1){let oe=D.getState().matchCase;if(!fI(y.getModel(),Q,oe))return null}T=ih.create(y,D)}if(!T)return null;if(T.currentMatch)return null;if(/^[ \t]+$/.test(T.searchText))return null;if(C>0&&T.searchText.length>C)return null;let K=D.getState(),q=K.matchCase;if(K.isRevealed){let Q=K.searchString;if(!q)Q=Q.toLowerCase();let te=T.searchText;if(!q)te=te.toLowerCase();if(Q===te&&T.matchCase===K.matchCase&&T.wholeWord===K.wholeWord&&!K.isRegex)return null}return new mI(y.getModel(),T.searchText,T.matchCase,T.wholeWord?y.getOption(148):null,u)}_setState(u){if(this.state=u,!this.state){this._decorations.clear();return}if(!this.editor.hasModel())return;let p=this.editor.getModel();if(p.isTooLargeForTokenization())return;let v=this.state.findMatches(),C=this.editor.getSelections();C.sort(t.compareRangesUsingStarts);let y=[];for(let K=0,q=0,Q=v.length,te=C.length;K<Q;){let oe=v[K];if(q>=te)y.push(oe),K++;else{let ne=t.compareRangesUsingStarts(oe,C[q]);if(ne<0){if(C[q].isEmpty()||!t.areIntersecting(oe,C[q]))y.push(oe);K++}else if(ne>0)q++;else K++,q++}}let I=this.editor.getOption(90)!=="off",D=this._languageFeaturesService.documentHighlightProvider.has(p)&&I,T=y.map((K)=>({range:K,options:iI(D)}));this._decorations.set(T)}dispose(){this._setState(null),super.dispose()}};Np=iS=dR([lR(1,j)],Np);function fI(m,u,p){let v=oI(m,u[0],!p);for(let C=1,y=u.length;C<y;C++){let I=u[C];if(I.isEmpty())return!1;let D=oI(m,I,!p);if(v!==D)return!1}return!0}function oI(m,u,p){let v=m.getValueInRange(u);return p?v.toLowerCase():v}class _I extends W{constructor(){super({id:"editor.action.focusNextCursor",label:h(1375,"Focus Next Cursor"),metadata:{description:e(1362,"Focuses the next cursor"),args:[]},precondition:void 0})}run(m,u,p){if(!u.hasModel())return;let v=u._getViewModel();if(v.cursorConfig.readOnly)return;v.model.pushStackElement();let C=Array.from(v.getCursorStates()),y=C.shift();if(!y)return;C.push(y),v.setCursorStates(p.source,3,C),v.revealPrimaryCursor(p.source,!0),Zs(C,v.getCursorStates())}}class bI extends W{constructor(){super({id:"editor.action.focusPreviousCursor",label:h(1376,"Focus Previous Cursor"),metadata:{description:e(1363,"Focuses the previous cursor"),args:[]},precondition:void 0})}run(m,u,p){if(!u.hasModel())return;let v=u._getViewModel();if(v.cursorConfig.readOnly)return;v.model.pushStackElement();let C=Array.from(v.getCursorStates()),y=C.pop();if(!y)return;C.unshift(y),v.setCursorStates(p.source,3,C),v.revealPrimaryCursor(p.source,!0),Zs(C,v.getCursorStates())}}le(el.ID,el,4);le(Np.ID,Np,1);R(nI);R(rI);R(sI);R(lI);R(cI);R(hI);R(uI);R(gI);R(pI);R(aI);R(dI);R(_I);R(bI);class Do{async provideSelectionRanges(m,u){let p=[];for(let v of u){let C=[];p.push(C);let y=new Map;await new Promise((I)=>Do._bracketsRightYield(I,0,m,v,y)),await new Promise((I)=>Do._bracketsLeftYield(I,0,m,v,y,C))}return p}static{this._maxDuration=30}static{this._maxRounds=2}static _bracketsRightYield(m,u,p,v,C){let y=new Map,I=Date.now();while(!0){if(u>=Do._maxRounds){m();break}if(!v){m();break}let D=p.bracketPairs.findNextBracket(v);if(!D){m();break}if(Date.now()-I>Do._maxDuration){setTimeout(()=>Do._bracketsRightYield(m,u+1,p,v,C));break}if(D.bracketInfo.isOpeningBracket){let K=D.bracketInfo.bracketText,q=y.has(K)?y.get(K):0;y.set(K,q+1)}else{let K=D.bracketInfo.getOpeningBrackets()[0].bracketText,q=y.has(K)?y.get(K):0;if(q-=1,y.set(K,Math.max(0,q)),q<0){let Q=C.get(K);if(!Q)Q=new En,C.set(K,Q);Q.push(D.range)}}v=D.range.getEndPosition()}}static _bracketsLeftYield(m,u,p,v,C,y){let I=new Map,D=Date.now();while(!0){if(u>=Do._maxRounds&&C.size===0){m();break}if(!v){m();break}let T=p.bracketPairs.findPrevBracket(v);if(!T){m();break}if(Date.now()-D>Do._maxDuration){setTimeout(()=>Do._bracketsLeftYield(m,u+1,p,v,C,y));break}if(!T.bracketInfo.isOpeningBracket){let q=T.bracketInfo.getOpeningBrackets()[0].bracketText,Q=I.has(q)?I.get(q):0;I.set(q,Q+1)}else{let q=T.bracketInfo.bracketText,Q=I.has(q)?I.get(q):0;if(Q-=1,I.set(q,Math.max(0,Q)),Q<0){let te=C.get(q);if(te){let oe=te.shift();if(te.size===0)C.delete(q);let ne=t.fromPositions(T.range.getEndPosition(),oe.getStartPosition()),ae=t.fromPositions(T.range.getStartPosition(),oe.getEndPosition());y.push({range:ne}),y.push({range:ae}),Do._addBracketLeading(p,ae,y)}}}v=T.range.getStartPosition()}}static _addBracketLeading(m,u,p){if(u.startLineNumber===u.endLineNumber)return;let v=u.startLineNumber,C=m.getLineFirstNonWhitespaceColumn(v);if(C!==0&&C!==u.startColumn)p.push({range:t.fromPositions(new o(v,C),u.getEndPosition())}),p.push({range:t.fromPositions(new o(v,1),u.getEndPosition())});let y=v-1;if(y>0){let I=m.getLineFirstNonWhitespaceColumn(y);if(I===u.startColumn&&I!==m.getLineLastNonWhitespaceColumn(y))p.push({range:t.fromPositions(new o(y,I),u.getEndPosition())}),p.push({range:t.fromPositions(new o(y,1),u.getEndPosition())})}}}class oS{constructor(m=!0){this.selectSubwords=m}provideSelectionRanges(m,u){let p=[];for(let v of u){let C=[];if(p.push(C),this.selectSubwords)this._addInWordRanges(C,m,v);this._addWordRanges(C,m,v),this._addWhitespaceLine(C,m,v),C.push({range:m.getFullModelRange()})}return p}_addInWordRanges(m,u,p){let v=u.getWordAtPosition(p);if(!v)return;let{word:C,startColumn:y}=v,I=p.column-y,D=I,T=I,K=0;for(;D>=0;D--){let q=C.charCodeAt(D);if(D!==I&&(q===95||q===45))break;else if(zc(q)&&Na(K))break;K=q}D+=1;for(;T<C.length;T++){let q=C.charCodeAt(T);if(Na(q)&&zc(K))break;else if(q===95||q===45)break;K=q}if(D<T)m.push({range:new t(p.lineNumber,y+D,p.lineNumber,y+T)})}_addWordRanges(m,u,p){let v=u.getWordAtPosition(p);if(v)m.push({range:new t(p.lineNumber,v.startColumn,p.lineNumber,v.endColumn)})}_addWhitespaceLine(m,u,p){if(u.getLineLength(p.lineNumber)>0&&u.getLineFirstNonWhitespaceColumn(p.lineNumber)===0&&u.getLineLastNonWhitespaceColumn(p.lineNumber)===0)m.push({range:new t(p.lineNumber,1,p.lineNumber,u.getLineMaxColumn(p.lineNumber))})}}var cR=function(m,u,p,v){var C=arguments.length,y=C<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,p):v,I;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")y=Reflect.decorate(m,u,p,v);else for(var D=m.length-1;D>=0;D--)if(I=m[D])y=(C<3?I(y):C>3?I(u,p,y):I(u,p))||y;return C>3&&y&&Object.defineProperty(u,p,y),y},hR=function(m,u){return function(p,v){u(p,v,m)}},nS;class rS{constructor(m,u){this.index=m,this.ranges=u}mov(m){let u=this.index+(m?1:-1);if(u<0||u>=this.ranges.length)return this;let p=new rS(u,this.ranges);if(p.ranges[u].equalsRange(this.ranges[this.index]))return p.mov(m);return p}}var oh=class m{static{nS=this}static{this.ID="editor.contrib.smartSelectController"}static get(u){return u.getContribution(nS.ID)}constructor(u,p){this._editor=u,this._languageFeaturesService=p,this._ignoreSelection=!1}dispose(){this._selectionListener?.dispose()}async run(u){if(!this._editor.hasModel())return;let p=this._editor.getSelections(),v=this._editor.getModel();if(!this._state)await wI(this._languageFeaturesService.selectionRangeProvider,v,p.map((y)=>y.getPosition()),this._editor.getOption(129),he.None).then((y)=>{if(!$n(y)||y.length!==p.length)return;if(!this._editor.hasModel()||!Ke(this._editor.getSelections(),p,(I,D)=>I.equalsSelection(D)))return;for(let I=0;I<y.length;I++)y[I]=y[I].filter((D)=>D.containsPosition(p[I].getStartPosition())&&D.containsPosition(p[I].getEndPosition())),y[I].unshift(p[I]);this._state=y.map((I)=>new rS(0,I)),this._selectionListener?.dispose(),this._selectionListener=this._editor.onDidChangeCursorPosition(()=>{if(!this._ignoreSelection)this._selectionListener?.dispose(),this._state=void 0})});if(!this._state)return;this._state=this._state.map((y)=>y.mov(u));let C=this._state.map((y)=>A.fromPositions(y.ranges[y.index].getStartPosition(),y.ranges[y.index].getEndPosition()));this._ignoreSelection=!0;try{this._editor.setSelections(C)}finally{this._ignoreSelection=!1}}};oh=nS=cR([hR(1,j)],oh);class sS extends W{constructor(m,u){super(u);this._forward=m}async run(m,u){let p=oh.get(u);if(p)await p.run(this._forward)}}class vI extends sS{constructor(){super(!0,{id:"editor.action.smartSelect.expand",label:h(1469,"Expand Selection"),precondition:void 0,kbOpts:{kbExpr:r.editorTextFocus,primary:1553,mac:{primary:3345,secondary:[1297]},weight:100},menuOpts:{menuId:a.MenubarSelectionMenu,group:"1_basic",title:e(1467,"&&Expand Selection"),order:2}})}}we.registerCommandAlias("editor.action.smartSelect.grow","editor.action.smartSelect.expand");class SI extends sS{constructor(){super(!1,{id:"editor.action.smartSelect.shrink",label:h(1470,"Shrink Selection"),precondition:void 0,kbOpts:{kbExpr:r.editorTextFocus,primary:1551,mac:{primary:3343,secondary:[1295]},weight:100},menuOpts:{menuId:a.MenubarSelectionMenu,group:"1_basic",title:e(1468,"&&Shrink Selection"),order:3}})}}le(oh.ID,oh,4);R(vI);R(SI);async function wI(m,u,p,v,C){let y=m.all(u).concat(new oS(v.selectSubwords));if(y.length===1)y.unshift(new Do);let I=[],D=[];for(let T of y)I.push(Promise.resolve(T.provideSelectionRanges(u,p,C)).then((K)=>{if($n(K)&&K.length===p.length)for(let q=0;q<p.length;q++){if(!D[q])D[q]=[];for(let Q of K[q])if(t.isIRange(Q.range)&&t.containsPosition(Q.range,p[q]))D[q].push(t.lift(Q.range))}},dt));return await Promise.all(I),D.map((T)=>{if(T.length===0)return[];T.sort((te,oe)=>{if(o.isBefore(te.getStartPosition(),oe.getStartPosition()))return 1;else if(o.isBefore(oe.getStartPosition(),te.getStartPosition()))return-1;else if(o.isBefore(te.getEndPosition(),oe.getEndPosition()))return-1;else if(o.isBefore(oe.getEndPosition(),te.getEndPosition()))return 1;else return 0});let K=[],q;for(let te of T)if(!q||t.containsRange(te,q)&&!t.equalsRange(te,q))K.push(te),q=te;if(!v.selectLeadingAndTrailingWhitespace)return K;let Q=[K[0]];for(let te=1;te<K.length;te++){let oe=K[te-1],ne=K[te];if(ne.startLineNumber!==oe.startLineNumber||ne.endLineNumber!==oe.endLineNumber){let ae=new t(oe.startLineNumber,u.getLineFirstNonWhitespaceColumn(oe.startLineNumber),oe.endLineNumber,u.getLineLastNonWhitespaceColumn(oe.endLineNumber));if(ae.containsRange(oe)&&!ae.equalsRange(oe)&&ne.containsRange(ae)&&!ne.equalsRange(ae))Q.push(ae);let ge=new t(oe.startLineNumber,1,oe.endLineNumber,u.getLineMaxColumn(oe.endLineNumber));if(ge.containsRange(oe)&&!ge.equalsRange(ae)&&ne.containsRange(ge)&&!ne.equalsRange(ge))Q.push(ge)}Q.push(ne)}return Q})}we.registerCommand("_executeSelectionRangeProvider",async function(m,...u){let[p,v]=u;Re(V.isUri(p)),Re(t$(v,(I)=>o.isIPosition(I)));let C=m.get(j).selectionRangeProvider,y=await m.get(bn).createModelReference(p);try{return wI(C,y.object.textEditorModel,v.map(o.lift),{selectLeadingAndTrailingWhitespace:!0,selectSubwords:!0},he.None)}finally{y.dispose()}});class tl extends Vt{constructor(m){super(m);this._inSelectionMode=m.inSelectionMode,this._wordNavigationType=m.wordNavigationType}runEditorCommand(m,u,p){if(!u.hasModel())return;let v=Eo(u.getOption(148),u.getOption(147)),C=u.getModel(),y=u.getSelections(),I=y.length>1,D=y.map((T)=>{let K=new o(T.positionLineNumber,T.positionColumn),q=this._move(v,C,K,this._wordNavigationType,I);return this._moveTo(T,q,this._inSelectionMode)});if(C.pushStackElement(),u._getViewModel().setCursorStates("moveWordCommand",3,D.map((T)=>ze.fromModelSelection(T))),D.length===1){let T=new o(D[0].positionLineNumber,D[0].positionColumn);u.revealPosition(T,0)}}_moveTo(m,u,p){if(p)return new A(m.selectionStartLineNumber,m.selectionStartColumn,u.lineNumber,u.column);else return new A(u.lineNumber,u.column,u.lineNumber,u.column)}}class fs extends tl{_move(m,u,p,v,C){return Tt.moveWordLeft(m,u,p,v,C)}}class _s extends tl{_move(m,u,p,v,C){return Tt.moveWordRight(m,u,p,v)}}class CI extends fs{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartLeft",precondition:void 0})}}class yI extends fs{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndLeft",precondition:void 0})}}class xI extends fs{constructor(){super({inSelectionMode:!1,wordNavigationType:1,id:"cursorWordLeft",precondition:void 0,kbOpts:{kbExpr:_.and(r.textInputFocus,_.and(gu,Wv)?.negate()),primary:2063,mac:{primary:527},weight:100}})}}class II extends fs{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartLeftSelect",precondition:void 0})}}class LI extends fs{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndLeftSelect",precondition:void 0})}}class EI extends fs{constructor(){super({inSelectionMode:!0,wordNavigationType:1,id:"cursorWordLeftSelect",precondition:void 0,kbOpts:{kbExpr:_.and(r.textInputFocus,_.and(gu,Wv)?.negate()),primary:3087,mac:{primary:1551},weight:100}})}}class DI extends fs{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:"cursorWordAccessibilityLeft",precondition:void 0})}_move(m,u,p,v,C){return super._move(Eo(Ui.wordSeparators.defaultValue,m.intlSegmenterLocales),u,p,v,C)}}class RI extends fs{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityLeftSelect",precondition:void 0})}_move(m,u,p,v,C){return super._move(Eo(Ui.wordSeparators.defaultValue,m.intlSegmenterLocales),u,p,v,C)}}class kI extends _s{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartRight",precondition:void 0})}}class TI extends _s{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndRight",precondition:void 0,kbOpts:{kbExpr:_.and(r.textInputFocus,_.and(gu,Wv)?.negate()),primary:2065,mac:{primary:529},weight:100}})}}class NI extends _s{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordRight",precondition:void 0})}}class OI extends _s{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartRightSelect",precondition:void 0})}}class MI extends _s{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndRightSelect",precondition:void 0,kbOpts:{kbExpr:_.and(r.textInputFocus,_.and(gu,Wv)?.negate()),primary:3089,mac:{primary:1553},weight:100}})}}class PI extends _s{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordRightSelect",precondition:void 0})}}class AI extends _s{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:"cursorWordAccessibilityRight",precondition:void 0})}_move(m,u,p,v,C){return super._move(Eo(Ui.wordSeparators.defaultValue,m.intlSegmenterLocales),u,p,v,C)}}class FI extends _s{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityRightSelect",precondition:void 0})}_move(m,u,p,v,C){return super._move(Eo(Ui.wordSeparators.defaultValue,m.intlSegmenterLocales),u,p,v,C)}}class il extends Vt{constructor(m){super({canTriggerInlineEdits:!0,...m});this._whitespaceHeuristics=m.whitespaceHeuristics,this._wordNavigationType=m.wordNavigationType}runEditorCommand(m,u,p){let v=m?.get(et);if(!u.hasModel()||!v)return;let C=Eo(u.getOption(148),u.getOption(147)),y=u.getModel(),I=u.getSelections(),D=u.getOption(10),T=u.getOption(15),K=v.getLanguageConfiguration(y.getLanguageId()).getAutoClosingPairs(),q=u._getViewModel(),Q=I.map((te)=>{let oe=this._delete({wordSeparators:C,model:y,selection:te,whitespaceHeuristics:this._whitespaceHeuristics,autoClosingDelete:u.getOption(13),autoClosingBrackets:D,autoClosingQuotes:T,autoClosingPairs:K,autoClosedCharacters:q.getCursorAutoClosedCharacters()},this._wordNavigationType);return new oi(oe,"")});u.pushUndoStop(),u.executeCommands(this.id,Q),u.pushUndoStop()}}class Op extends il{_delete(m,u){let p=Tt.deleteWordLeft(m,u);if(p)return p;return new t(1,1,1,1)}}class Mp extends il{_delete(m,u){let p=Tt.deleteWordRight(m,u);if(p)return p;let v=m.model.getLineCount(),C=m.model.getLineMaxColumn(v);return new t(v,C,v,C)}}class HI extends Op{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartLeft",precondition:r.writable})}}class WI extends Op{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndLeft",precondition:r.writable})}}class BI extends Op{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordLeft",precondition:r.writable,kbOpts:{kbExpr:r.textInputFocus,primary:2049,mac:{primary:513},weight:100}})}}class VI extends Mp{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartRight",precondition:r.writable})}}class KI extends Mp{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndRight",precondition:r.writable})}}class zI extends Mp{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:"deleteWordRight",precondition:r.writable,kbOpts:{kbExpr:r.textInputFocus,primary:2068,mac:{primary:532},weight:100}})}}class UI extends W{constructor(){super({id:"deleteInsideWord",precondition:r.writable,label:h(1650,"Delete Word"),metadata:{description:h(1651,"Delete the word at the cursor"),args:[{name:"args",schema:{type:"object",properties:{onlyWord:{type:"boolean",default:!1,description:e(1649,"Delete only the word and leave surrounding whitespace")}}}}]}})}run(m,u,p){if(!u.hasModel())return;let v=!!(p&&typeof p==="object"&&p.onlyWord),C=Eo(u.getOption(148),u.getOption(147)),y=u.getModel(),D=u.getSelections().map((T)=>{let K=Tt.deleteInsideWord(C,y,T,v);return new oi(K,"")});u.pushUndoStop(),u.executeCommands(this.id,D),u.pushUndoStop()}}U(new CI);U(new yI);U(new xI);U(new II);U(new LI);U(new EI);U(new kI);U(new TI);U(new NI);U(new OI);U(new MI);U(new PI);U(new DI);U(new RI);U(new AI);U(new FI);U(new HI);U(new WI);U(new BI);U(new VI);U(new KI);U(new zI);R(UI);class $I extends il{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordPartLeft",precondition:r.writable,kbOpts:{kbExpr:r.textInputFocus,primary:0,mac:{primary:769},weight:100}})}_delete(m,u){let p=Og.deleteWordPartLeft(m);if(p)return p;return new t(1,1,1,1)}}class jI extends il{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:"deleteWordPartRight",precondition:r.writable,kbOpts:{kbExpr:r.textInputFocus,primary:0,mac:{primary:788},weight:100}})}_delete(m,u){let p=Og.deleteWordPartRight(m);if(p)return p;let v=m.model.getLineCount(),C=m.model.getLineMaxColumn(v);return new t(v,C,v,C)}}class aS extends tl{_move(m,u,p,v,C){return Og.moveWordPartLeft(m,u,p,C)}}class GI extends aS{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordPartLeft",precondition:void 0,kbOpts:{kbExpr:r.textInputFocus,primary:0,mac:{primary:783},weight:100}})}}we.registerCommandAlias("cursorWordPartStartLeft","cursorWordPartLeft");class qI extends aS{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordPartLeftSelect",precondition:void 0,kbOpts:{kbExpr:r.textInputFocus,primary:0,mac:{primary:1807},weight:100}})}}we.registerCommandAlias("cursorWordPartStartLeftSelect","cursorWordPartLeftSelect");class dS extends tl{_move(m,u,p,v,C){return Og.moveWordPartRight(m,u,p)}}class ZI extends dS{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordPartRight",precondition:void 0,kbOpts:{kbExpr:r.textInputFocus,primary:0,mac:{primary:785},weight:100}})}}class XI extends dS{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordPartRightSelect",precondition:void 0,kbOpts:{kbExpr:r.textInputFocus,primary:0,mac:{primary:1809},weight:100}})}}U(new $I);U(new jI);U(new GI);U(new qI);U(new ZI);U(new XI);var uR={[0]:" ",[1]:"u",[2]:"r"};var ol=16777215;class Pp{constructor(m){let u=Math.ceil(m/32);this._states=new Uint32Array(u)}get(m){let u=m/32|0,p=m%32;return(this._states[u]&1<<p)!==0}set(m,u){let p=m/32|0,v=m%32,C=this._states[p];if(u)this._states[p]=C|1<<v;else this._states[p]=C&~(1<<v)}}class $i{constructor(m,u,p){if(m.length!==u.length||m.length>65535)throw Error("invalid startIndexes or endIndexes size");this._startIndexes=m,this._endIndexes=u,this._collapseStates=new Pp(m.length),this._userDefinedStates=new Pp(m.length),this._recoveredStates=new Pp(m.length),this._types=p,this._parentsComputed=!1}ensureParentIndices(){if(!this._parentsComputed){this._parentsComputed=!0;let m=[],u=(p,v)=>{let C=m[m.length-1];return this.getStartLineNumber(C)<=p&&this.getEndLineNumber(C)>=v};for(let p=0,v=this._startIndexes.length;p<v;p++){let C=this._startIndexes[p],y=this._endIndexes[p];if(C>16777215||y>16777215)throw Error("startLineNumber or endLineNumber must not exceed 16777215");while(m.length>0&&!u(C,y))m.pop();let I=m.length>0?m[m.length-1]:-1;m.push(p),this._startIndexes[p]=C+((I&255)<<24),this._endIndexes[p]=y+((I&65280)<<16)}}}get length(){return this._startIndexes.length}getStartLineNumber(m){return this._startIndexes[m]&16777215}getEndLineNumber(m){return this._endIndexes[m]&16777215}getType(m){return this._types?this._types[m]:void 0}hasTypes(){return!!this._types}isCollapsed(m){return this._collapseStates.get(m)}setCollapsed(m,u){this._collapseStates.set(m,u)}isUserDefined(m){return this._userDefinedStates.get(m)}setUserDefined(m,u){return this._userDefinedStates.set(m,u)}isRecovered(m){return this._recoveredStates.get(m)}setRecovered(m,u){return this._recoveredStates.set(m,u)}getSource(m){if(this.isUserDefined(m))return 1;else if(this.isRecovered(m))return 2;return 0}setSource(m,u){if(u===1)this.setUserDefined(m,!0),this.setRecovered(m,!1);else if(u===2)this.setUserDefined(m,!1),this.setRecovered(m,!0);else this.setUserDefined(m,!1),this.setRecovered(m,!1)}setCollapsedAllOfType(m,u){let p=!1;if(this._types){for(let v=0;v<this._types.length;v++)if(this._types[v]===m)this.setCollapsed(v,u),p=!0}return p}toRegion(m){return new YI(this,m)}getParentIndex(m){this.ensureParentIndices();let u=((this._startIndexes[m]&4278190080)>>>24)+((this._endIndexes[m]&4278190080)>>>16);if(u===65535)return-1;return u}contains(m,u){return this.getStartLineNumber(m)<=u&&this.getEndLineNumber(m)>=u}findIndex(m){let u=0,p=this._startIndexes.length;if(p===0)return-1;while(u<p){let v=Math.floor((u+p)/2);if(m<this.getStartLineNumber(v))p=v;else u=v+1}return u-1}findRange(m){let u=this.findIndex(m);if(u>=0){if(this.getEndLineNumber(u)>=m)return u;u=this.getParentIndex(u);while(u!==-1){if(this.contains(u,m))return u;u=this.getParentIndex(u)}}return-1}toString(){let m=[];for(let u=0;u<this.length;u++)m[u]=`[${uR[this.getSource(u)]}${this.isCollapsed(u)?"+":"-"}] ${this.getStartLineNumber(u)}/${this.getEndLineNumber(u)}`;return m.join(", ")}toFoldRange(m){return{startLineNumber:this._startIndexes[m]&16777215,endLineNumber:this._endIndexes[m]&16777215,type:this._types?this._types[m]:void 0,isCollapsed:this.isCollapsed(m),source:this.getSource(m)}}static fromFoldRanges(m){let u=m.length,p=new Uint32Array(u),v=new Uint32Array(u),C=[],y=!1;for(let D=0;D<u;D++){let T=m[D];if(p[D]=T.startLineNumber,v[D]=T.endLineNumber,C.push(T.type),T.type)y=!0}if(!y)C=void 0;let I=new $i(p,v,C);for(let D=0;D<u;D++){if(m[D].isCollapsed)I.setCollapsed(D,!0);I.setSource(D,m[D].source)}return I}static sanitizeAndMerge(m,u,p,v){p=p??Number.MAX_VALUE;let C=(ae,ge)=>Array.isArray(ae)?(Ie)=>Ie<ge?ae[Ie]:void 0:(Ie)=>Ie<ge?ae.toFoldRange(Ie):void 0,y=C(m,m.length),I=C(u,u.length),D=0,T=0,K=y(0),q=I(0),Q=[],te,oe=0,ne=[];while(K||q){let ae=void 0;if(q&&(!K||K.startLineNumber>=q.startLineNumber)){if(K&&K.startLineNumber===q.startLineNumber){if(q.source===1)ae=q;else ae=K,ae.isCollapsed=q.isCollapsed&&(K.endLineNumber===q.endLineNumber||!v?.startsInside(K.startLineNumber+1,K.endLineNumber+1)),ae.source=0;K=y(++D)}else if(ae=q,q.isCollapsed&&q.source===0)ae.source=2;q=I(++T)}else{let ge=T,Ie=q;while(!0){if(!Ie||Ie.startLineNumber>K.endLineNumber){ae=K;break}if(Ie.source===1&&Ie.endLineNumber>K.endLineNumber)break;Ie=I(++ge)}K=y(++D)}if(ae){while(te&&te.endLineNumber<ae.startLineNumber)te=Q.pop();if(ae.endLineNumber>ae.startLineNumber&&ae.startLineNumber>oe&&ae.endLineNumber<=p&&(!te||te.endLineNumber>=ae.endLineNumber)){if(ne.push(ae),oe=ae.startLineNumber,te)Q.push(te);te=ae}}}return ne}}class YI{constructor(m,u){this.ranges=m,this.index=u}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(m){return m.startLineNumber<=this.startLineNumber&&m.endLineNumber>=this.endLineNumber}containsLine(m){return this.startLineNumber<=m&&m<=this.endLineNumber}}class lS{get regions(){return this._regions}get textModel(){return this._textModel}constructor(m,u){this._updateEventEmitter=new i,this.onDidChange=this._updateEventEmitter.event,this._textModel=m,this._decorationProvider=u,this._regions=new $i(new Uint32Array(0),new Uint32Array(0)),this._editorDecorationIds=[]}toggleCollapseState(m){if(!m.length)return;m=m.sort((p,v)=>p.regionIndex-v.regionIndex);let u={};this._decorationProvider.changeDecorations((p)=>{let v=0,C=-1,y=-1,I=(D)=>{while(v<D){let T=this._regions.getEndLineNumber(v),K=this._regions.isCollapsed(v);if(T<=C){let q=this.regions.getSource(v)!==0;p.changeDecorationOptions(this._editorDecorationIds[v],this._decorationProvider.getDecorationOption(K,T<=y,q))}if(K&&T>y)y=T;v++}};for(let D of m){let T=D.regionIndex,K=this._editorDecorationIds[T];if(K&&!u[K]){u[K]=!0,I(T);let q=!this._regions.isCollapsed(T);this._regions.setCollapsed(T,q),C=Math.max(C,this._regions.getEndLineNumber(T))}}I(this._regions.length)}),this._updateEventEmitter.fire({model:this,collapseStateChanged:m})}removeManualRanges(m){let u=new Set,p=!1;for(let y of m)if(t.isEmpty(y)){let I=this._regions.findRange(y.startLineNumber);while(I!==-1&&this._regions.getSource(I)===0)I=this._regions.getParentIndex(I);if(I===-1)p=!0;else u.add(I)}let v=[],C=(y)=>{for(let I of m)if(!t.isEmpty(I)&&!(I.startLineNumber>y.endLineNumber||y.startLineNumber>I.endLineNumber))return!0;return!1};for(let y=0;y<this._regions.length;y++){let I=this._regions.toFoldRange(y);if(I.source===0||!p&&!u.has(y)&&!C(I))v.push(I)}this.updatePost($i.fromFoldRanges(v))}update(m,u){let p=this._currentFoldedOrManualRanges(u),v=$i.sanitizeAndMerge(m,p,this._textModel.getLineCount(),u);this.updatePost($i.fromFoldRanges(v))}updatePost(m){let u=[],p=-1;for(let v=0,C=m.length;v<C;v++){let y=m.getStartLineNumber(v),I=m.getEndLineNumber(v),D=m.isCollapsed(v),T=m.getSource(v)!==0,K={startLineNumber:y,startColumn:this._textModel.getLineMaxColumn(y),endLineNumber:I,endColumn:this._textModel.getLineMaxColumn(I)+1};if(u.push({range:K,options:this._decorationProvider.getDecorationOption(D,I<=p,T)}),D&&I>p)p=I}this._decorationProvider.changeDecorations((v)=>this._editorDecorationIds=v.deltaDecorations(this._editorDecorationIds,u)),this._regions=m,this._updateEventEmitter.fire({model:this})}_currentFoldedOrManualRanges(m){let u=[];for(let p=0,v=this._regions.length;p<v;p++){let C=this.regions.isCollapsed(p),y=this.regions.getSource(p);if(C||y!==0){let I=this._regions.toFoldRange(p),D=this._textModel.getDecorationRange(this._editorDecorationIds[p]);if(D){if(C&&m?.startsInside(D.startLineNumber+1,D.endLineNumber))C=!1;u.push({startLineNumber:D.startLineNumber,endLineNumber:D.endLineNumber,type:I.type,isCollapsed:C,source:y})}}}return u}getMemento(){let m=this._currentFoldedOrManualRanges(),u=[],p=this._textModel.getLineCount();for(let v=0,C=m.length;v<C;v++){let y=m[v];if(y.startLineNumber>=y.endLineNumber||y.startLineNumber<1||y.endLineNumber>p)continue;let I=this._getLinesChecksum(y.startLineNumber+1,y.endLineNumber);u.push({startLineNumber:y.startLineNumber,endLineNumber:y.endLineNumber,isCollapsed:y.isCollapsed,source:y.source,checksum:I})}return u.length>0?u:void 0}applyMemento(m){if(!Array.isArray(m))return;let u=[],p=this._textModel.getLineCount();for(let C of m){if(C.startLineNumber>=C.endLineNumber||C.startLineNumber<1||C.endLineNumber>p)continue;let y=this._getLinesChecksum(C.startLineNumber+1,C.endLineNumber);if(!C.checksum||y===C.checksum)u.push({startLineNumber:C.startLineNumber,endLineNumber:C.endLineNumber,type:void 0,isCollapsed:C.isCollapsed??!0,source:C.source??0})}let v=$i.sanitizeAndMerge(this._regions,u,p);this.updatePost($i.fromFoldRanges(v))}_getLinesChecksum(m,u){return qc(this._textModel.getLineContent(m)+this._textModel.getLineContent(u))%1e6}dispose(){this._decorationProvider.removeDecorations(this._editorDecorationIds),this._updateEventEmitter.dispose()}getAllRegionsAtLine(m,u){let p=[];if(this._regions){let v=this._regions.findRange(m),C=1;while(v>=0){let y=this._regions.toRegion(v);if(!u||u(y,C))p.push(y);C++,v=y.parentIndex}}return p}getRegionAtLine(m){if(this._regions){let u=this._regions.findRange(m);if(u>=0)return this._regions.toRegion(u)}return null}getRegionsInside(m,u){let p=[],v=m?m.regionIndex+1:0,C=m?m.endLineNumber:Number.MAX_VALUE;if(u&&u.length===2){let y=[];for(let I=v,D=this._regions.length;I<D;I++){let T=this._regions.toRegion(I);if(this._regions.getStartLineNumber(I)<C){while(y.length>0&&!T.containedBy(y[y.length-1]))y.pop();if(y.push(T),u(T,y.length))p.push(T)}else break}}else for(let y=v,I=this._regions.length;y<I;y++){let D=this._regions.toRegion(y);if(this._regions.getStartLineNumber(y)<C){if(!u||u(D))p.push(D)}else break}return p}}function nh(m,u,p){let v=[];for(let C of p){let y=m.getRegionAtLine(C);if(y){let I=!y.isCollapsed;if(v.push(y),u>1){let D=m.getRegionsInside(y,(T,K)=>T.isCollapsed!==I&&K<u);v.push(...D)}}}m.toggleCollapseState(v)}function gd(m,u,p=Number.MAX_VALUE,v){let C=[];if(v&&v.length>0)for(let y of v){let I=m.getRegionAtLine(y);if(I){if(I.isCollapsed!==u)C.push(I);if(p>1){let D=m.getRegionsInside(I,(T,K)=>T.isCollapsed!==u&&K<p);C.push(...D)}}}else{let y=m.getRegionsInside(null,(I,D)=>I.isCollapsed!==u&&D<p);C.push(...y)}m.toggleCollapseState(C)}function cS(m,u,p,v){let C=[];for(let y of v){let I=m.getAllRegionsAtLine(y,(D,T)=>D.isCollapsed!==u&&T<=p);C.push(...I)}m.toggleCollapseState(C)}function JI(m,u,p){let v=[];for(let C of p){let y=m.getAllRegionsAtLine(C,(I)=>I.isCollapsed!==u);if(y.length>0)v.push(y[0])}m.toggleCollapseState(v)}function QI(m,u,p,v){let C=(I,D)=>D===u&&I.isCollapsed!==p&&!v.some((T)=>I.containsLine(T)),y=m.getRegionsInside(null,C);m.toggleCollapseState(y)}function hS(m,u,p){let v=[];for(let I of p){let D=m.getAllRegionsAtLine(I,void 0);if(D.length>0)v.push(D[0])}let C=(I)=>v.every((D)=>!D.containedBy(I)&&!I.containedBy(D))&&I.isCollapsed!==u,y=m.getRegionsInside(null,C);m.toggleCollapseState(y)}function Ap(m,u,p){let{textModel:v,regions:C}=m,y=[];for(let I=C.length-1;I>=0;I--)if(p!==C.isCollapsed(I)){let D=C.getStartLineNumber(I);if(u.test(v.getLineContent(D)))y.push(C.toRegion(I))}m.toggleCollapseState(y)}function Fp(m,u,p){let v=m.regions,C=[];for(let y=v.length-1;y>=0;y--)if(p!==v.isCollapsed(y)&&u===v.getType(y))C.push(v.toRegion(y));m.toggleCollapseState(C)}function eL(m,u){let p=null,v=u.getRegionAtLine(m);if(v!==null){if(p=v.startLineNumber,m===p){let C=v.parentIndex;if(C!==-1)p=u.regions.getStartLineNumber(C);else p=null}}return p}function tL(m,u){let p=u.getRegionAtLine(m);if(p!==null&&p.startLineNumber===m)if(m!==p.startLineNumber)return p.startLineNumber;else{let v=p.parentIndex,C=0;if(v!==-1)C=u.regions.getStartLineNumber(p.parentIndex);while(p!==null)if(p.regionIndex>0){if(p=u.regions.toRegion(p.regionIndex-1),p.startLineNumber<=C)return null;else if(p.parentIndex===v)return p.startLineNumber}else return null}else if(u.regions.length>0){p=u.regions.toRegion(u.regions.length-1);while(p!==null){if(p.startLineNumber<m)return p.startLineNumber;if(p.regionIndex>0)p=u.regions.toRegion(p.regionIndex-1);else p=null}}return null}function iL(m,u){let p=u.getRegionAtLine(m);if(p!==null&&p.startLineNumber===m){let v=p.parentIndex,C=0;if(v!==-1)C=u.regions.getEndLineNumber(p.parentIndex);else if(u.regions.length===0)return null;else C=u.regions.getEndLineNumber(u.regions.length-1);while(p!==null)if(p.regionIndex<u.regions.length){if(p=u.regions.toRegion(p.regionIndex+1),p.startLineNumber>=C)return null;else if(p.parentIndex===v)return p.startLineNumber}else return null}else if(u.regions.length>0){p=u.regions.toRegion(0);while(p!==null){if(p.startLineNumber>m)return p.startLineNumber;if(p.regionIndex<u.regions.length)p=u.regions.toRegion(p.regionIndex+1);else p=null}}return null}class uS{get onDidChange(){return this._updateEventEmitter.event}get hiddenRanges(){return this._hiddenRanges}constructor(m){if(this._updateEventEmitter=new i,this._hasLineChanges=!1,this._foldingModel=m,this._foldingModelListener=m.onDidChange((u)=>this.updateHiddenRanges()),this._hiddenRanges=[],m.regions.length)this.updateHiddenRanges()}notifyChangeModelContent(m){if(this._hiddenRanges.length&&!this._hasLineChanges)this._hasLineChanges=m.changes.some((u)=>u.range.endLineNumber!==u.range.startLineNumber||As(u.text)[0]!==0)}updateHiddenRanges(){let m=!1,u=[],p=0,v=0,C=Number.MAX_VALUE,y=-1,I=this._foldingModel.regions;for(;p<I.length;p++){if(!I.isCollapsed(p))continue;let D=I.getStartLineNumber(p)+1,T=I.getEndLineNumber(p);if(C<=D&&T<=y)continue;if(!m&&v<this._hiddenRanges.length&&this._hiddenRanges[v].startLineNumber===D&&this._hiddenRanges[v].endLineNumber===T)u.push(this._hiddenRanges[v]),v++;else m=!0,u.push(new t(D,1,T,1));C=D,y=T}if(this._hasLineChanges||m||v<this._hiddenRanges.length)this.applyHiddenRanges(u)}applyHiddenRanges(m){this._hiddenRanges=m,this._hasLineChanges=!1,this._updateEventEmitter.fire(m)}hasRanges(){return this._hiddenRanges.length>0}isHidden(m){return oL(this._hiddenRanges,m)!==null}adjustSelections(m){let u=!1,p=this._foldingModel.textModel,v=null,C=(y)=>{if(!v||!gR(y,v))v=oL(this._hiddenRanges,y);if(v)return v.startLineNumber-1;return null};for(let y=0,I=m.length;y<I;y++){let D=m[y],T=C(D.startLineNumber);if(T)D=D.setStartPosition(T,p.getLineMaxColumn(T)),u=!0;let K=C(D.endLineNumber);if(K)D=D.setEndPosition(K,p.getLineMaxColumn(K)),u=!0;m[y]=D}return u}dispose(){if(this.hiddenRanges.length>0)this._hiddenRanges=[],this._updateEventEmitter.fire(this._hiddenRanges);if(this._foldingModelListener)this._foldingModelListener.dispose(),this._foldingModelListener=null;this._updateEventEmitter.dispose()}}function gR(m,u){return m>=u.startLineNumber&&m<=u.endLineNumber}function oL(m,u){let p=Ah(m,(v)=>u<v.startLineNumber)-1;if(p>=0&&m[p].endLineNumber>=u)return m[p];return null}var pR=5000,mR="indent";class nl{constructor(m,u,p){this.editorModel=m,this.languageConfigurationService=u,this.foldingRangesLimit=p,this.id=mR}dispose(){}compute(m){let u=this.languageConfigurationService.getLanguageConfiguration(this.editorModel.getLanguageId()).foldingRules,p=u&&!!u.offSide,v=u&&u.markers;return Promise.resolve(_R(this.editorModel,p,v,this.foldingRangesLimit))}}class nL{constructor(m){this._startIndexes=[],this._endIndexes=[],this._indentOccurrences=[],this._length=0,this._foldingRangesLimit=m}insertFirst(m,u,p){if(m>ol||u>ol)return;let v=this._length;if(this._startIndexes[v]=m,this._endIndexes[v]=u,this._length++,p<1000)this._indentOccurrences[p]=(this._indentOccurrences[p]||0)+1}toIndentRanges(m){let u=this._foldingRangesLimit.limit;if(this._length<=u){this._foldingRangesLimit.update(this._length,!1);let p=new Uint32Array(this._length),v=new Uint32Array(this._length);for(let C=this._length-1,y=0;C>=0;C--,y++)p[y]=this._startIndexes[C],v[y]=this._endIndexes[C];return new $i(p,v)}else{this._foldingRangesLimit.update(this._length,u);let p=0,v=this._indentOccurrences.length;for(let D=0;D<this._indentOccurrences.length;D++){let T=this._indentOccurrences[D];if(T){if(T+p>u){v=D;break}p+=T}}let C=m.getOptions().tabSize,y=new Uint32Array(u),I=new Uint32Array(u);for(let D=this._length-1,T=0;D>=0;D--){let K=this._startIndexes[D],q=m.getLineContent(K),Q=Tf(q,C);if(Q<v||Q===v&&p++<u)y[T]=K,I[T]=this._endIndexes[D],T++}return new $i(y,I)}}}var fR={limit:pR,update:()=>{}};function _R(m,u,p,v=fR){let C=m.getOptions().tabSize,y=new nL(v),I=void 0,D=void 0,T=void 0;if(p)if(p.start.flags===p.end.flags)I=new RegExp(`(${p.start.source})|(?:${p.end.source})`,p.start.flags);else D=p.start,T=p.end;let K=[],q=m.getLineCount()+1;K.push({indent:-1,endAbove:q,line:q});for(let Q=m.getLineCount();Q>0;Q--){let te=m.getLineContent(Q),oe=Tf(te,C),ne=K[K.length-1];if(oe===-1){if(u)ne.endAbove=Q;continue}let ae=!1,ge=!1,Ie;if(I){if(I.lastIndex=0,Ie=I.exec(te))ae=!!Ie[1],ge=!ae}else{if(D)D.lastIndex=0,ae=D.test(te);if(!ae&&T)T.lastIndex=0,ge=T.test(te)}if(ae||ge)if(ae){let ke=K.length-1;while(ke>0&&K[ke].indent!==-2)ke--;if(ke>0){K.length=ke+1,ne=K[ke],y.insertFirst(Q,ne.line,oe),ne.line=Q,ne.indent=oe,ne.endAbove=Q;continue}}else{K.push({indent:-2,endAbove:Q,line:Q});continue}if(ne.indent>oe){do K.pop(),ne=K[K.length-1];while(ne.indent>oe);let ke=ne.endAbove-1;if(ke-Q>=1)y.insertFirst(Q,ke,oe)}if(ne.indent===oe)ne.endAbove=Q;else K.push({indent:oe,endAbove:Q,line:Q})}return y.toIndentRanges(m)}var bR=s("editor.foldBackground",{light:de(cc,0.3),dark:de(cc,0.3),hcDark:null,hcLight:null},e(1060,"Background color behind folded ranges. The color must not be opaque so as not to hide underlying decorations."),!0);s("editor.foldPlaceholderForeground",{light:"#808080",dark:"#808080",hcDark:null,hcLight:null},e(1061,"Color of the collapsed text after the first line of a folded range."));s("editorGutter.foldingControlForeground",gf,e(1062,"Color of the folding control in the editor gutter."));var rh=$t("folding-expanded",b.chevronDown,e(1063,"Icon for expanded ranges in the editor glyph margin.")),sh=$t("folding-collapsed",b.chevronRight,e(1064,"Icon for collapsed ranges in the editor glyph margin.")),rL=$t("folding-manual-collapsed",sh,e(1065,"Icon for manually collapsed ranges in the editor glyph margin.")),sL=$t("folding-manual-expanded",rh,e(1066,"Icon for manually expanded ranges in the editor glyph margin.")),gS={color:nn(bR),position:1},rl=e(1067,"Click to expand the range."),Hp=e(1068,"Click to collapse the range.");class mo{static{this.COLLAPSED_VISUAL_DECORATION=re.register({description:"folding-collapsed-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:rl,firstLineDecorationClassName:G.asClassName(sh)})}static{this.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=re.register({description:"folding-collapsed-highlighted-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:gS,isWholeLine:!0,linesDecorationsTooltip:rl,firstLineDecorationClassName:G.asClassName(sh)})}static{this.MANUALLY_COLLAPSED_VISUAL_DECORATION=re.register({description:"folding-manually-collapsed-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:rl,firstLineDecorationClassName:G.asClassName(rL)})}static{this.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=re.register({description:"folding-manually-collapsed-highlighted-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:gS,isWholeLine:!0,linesDecorationsTooltip:rl,firstLineDecorationClassName:G.asClassName(rL)})}static{this.NO_CONTROLS_COLLAPSED_RANGE_DECORATION=re.register({description:"folding-no-controls-range-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:rl})}static{this.NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION=re.register({description:"folding-no-controls-range-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:gS,isWholeLine:!0,linesDecorationsTooltip:rl})}static{this.EXPANDED_VISUAL_DECORATION=re.register({description:"folding-expanded-visual-decoration",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:"alwaysShowFoldIcons "+G.asClassName(rh),linesDecorationsTooltip:Hp})}static{this.EXPANDED_AUTO_HIDE_VISUAL_DECORATION=re.register({description:"folding-expanded-auto-hide-visual-decoration",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:G.asClassName(rh),linesDecorationsTooltip:Hp})}static{this.MANUALLY_EXPANDED_VISUAL_DECORATION=re.register({description:"folding-manually-expanded-visual-decoration",stickiness:0,isWholeLine:!0,firstLineDecorationClassName:"alwaysShowFoldIcons "+G.asClassName(sL),linesDecorationsTooltip:Hp})}static{this.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION=re.register({description:"folding-manually-expanded-auto-hide-visual-decoration",stickiness:0,isWholeLine:!0,firstLineDecorationClassName:G.asClassName(sL),linesDecorationsTooltip:Hp})}static{this.NO_CONTROLS_EXPANDED_RANGE_DECORATION=re.register({description:"folding-no-controls-range-decoration",stickiness:0,isWholeLine:!0})}static{this.HIDDEN_RANGE_DECORATION=re.register({description:"folding-hidden-range-decoration",stickiness:1})}constructor(m){this.editor=m,this.showFoldingControls="mouseover",this.showFoldingHighlights=!0}getDecorationOption(m,u,p){if(u)return mo.HIDDEN_RANGE_DECORATION;if(this.showFoldingControls==="never"){if(m)return this.showFoldingHighlights?mo.NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION:mo.NO_CONTROLS_COLLAPSED_RANGE_DECORATION;return mo.NO_CONTROLS_EXPANDED_RANGE_DECORATION}if(m)return p?this.showFoldingHighlights?mo.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:mo.MANUALLY_COLLAPSED_VISUAL_DECORATION:this.showFoldingHighlights?mo.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:mo.COLLAPSED_VISUAL_DECORATION;else if(this.showFoldingControls==="mouseover")return p?mo.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION:mo.EXPANDED_AUTO_HIDE_VISUAL_DECORATION;else return p?mo.MANUALLY_EXPANDED_VISUAL_DECORATION:mo.EXPANDED_VISUAL_DECORATION}changeDecorations(m){return this.editor.changeDecorations(m)}removeDecorations(m){this.editor.removeDecorations(m)}}var vR={},SR="syntax";class sl{constructor(m,u,p,v,C){if(this.editorModel=m,this.providers=u,this.handleFoldingRangesChange=p,this.foldingRangesLimit=v,this.fallbackRangeProvider=C,this.id=SR,this.disposables=new c,C)this.disposables.add(C);for(let y of u)if(typeof y.onDidChange==="function")this.disposables.add(y.onDidChange(p))}compute(m){return wR(this.providers,this.editorModel,m).then((u)=>{if(this.editorModel.isDisposed())return null;if(u)return CR(u,this.foldingRangesLimit);return this.fallbackRangeProvider?.compute(m)??null})}dispose(){this.disposables.dispose()}}function wR(m,u,p){let v=null,C=m.map((y,I)=>Promise.resolve(y.provideFoldingRanges(u,vR,p)).then((D)=>{if(p.isCancellationRequested)return;if(Array.isArray(D)){if(!Array.isArray(v))v=[];let T=u.getLineCount();for(let K of D)if(K.start>0&&K.end>K.start&&K.end<=T)v.push({start:K.start,end:K.end,rank:I,kind:K.kind})}},dt));return Promise.all(C).then((y)=>v)}class aL{constructor(m){this._startIndexes=[],this._endIndexes=[],this._nestingLevels=[],this._nestingLevelCounts=[],this._types=[],this._length=0,this._foldingRangesLimit=m}add(m,u,p,v){if(m>ol||u>ol)return;let C=this._length;if(this._startIndexes[C]=m,this._endIndexes[C]=u,this._nestingLevels[C]=v,this._types[C]=p,this._length++,v<30)this._nestingLevelCounts[v]=(this._nestingLevelCounts[v]||0)+1}toIndentRanges(){let m=this._foldingRangesLimit.limit;if(this._length<=m){this._foldingRangesLimit.update(this._length,!1);let u=new Uint32Array(this._length),p=new Uint32Array(this._length);for(let v=0;v<this._length;v++)u[v]=this._startIndexes[v],p[v]=this._endIndexes[v];return new $i(u,p,this._types)}else{this._foldingRangesLimit.update(this._length,m);let u=0,p=this._nestingLevelCounts.length;for(let I=0;I<this._nestingLevelCounts.length;I++){let D=this._nestingLevelCounts[I];if(D){if(D+u>m){p=I;break}u+=D}}let v=new Uint32Array(m),C=new Uint32Array(m),y=[];for(let I=0,D=0;I<this._length;I++){let T=this._nestingLevels[I];if(T<p||T===p&&u++<m)v[D]=this._startIndexes[I],C[D]=this._endIndexes[I],y[D]=this._types[I],D++}return new $i(v,C,y)}}}function CR(m,u){let p=m.sort((I,D)=>{let T=I.start-D.start;if(T===0)T=I.rank-D.rank;return T}),v=new aL(u),C=void 0,y=[];for(let I of p)if(!C)C=I,v.add(I.start,I.end,I.kind&&I.kind.value,y.length);else if(I.start>C.start)if(I.end<=C.end)y.push(C),C=I,v.add(I.start,I.end,I.kind&&I.kind.value,y.length);else{if(I.start>C.end){do C=y.pop();while(C&&I.start>C.end);if(C)y.push(C);C=I}v.add(I.start,I.end,I.kind&&I.kind.value,y.length)}return v.toIndentRanges()}var yR=function(m,u,p,v){var C=arguments.length,y=C<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,p):v,I;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")y=Reflect.decorate(m,u,p,v);else for(var D=m.length-1;D>=0;D--)if(I=m[D])y=(C<3?I(y):C>3?I(u,p,y):I(u,p))||y;return C>3&&y&&Object.defineProperty(u,p,y),y},ah=function(m,u){return function(p,v){u(p,v,m)}},dh,xi=new N("foldingEnabled",!1),$r=class m extends n{static{dh=this}static{this.ID="editor.contrib.folding"}static get(u){return u.getContribution(dh.ID)}static getFoldingRangeProviders(u,p){let v=u.foldingRangeProvider.ordered(p);return dh._foldingRangeSelector?.(v,p)??v}constructor(u,p,v,C,y,I){super();this.contextKeyService=p,this.languageConfigurationService=v,this.languageFeaturesService=I,this.localToDispose=this._register(new c),this.editor=u,this._foldingLimitReporter=this._register(new Wp(u));let D=this.editor.getOptions();this._isEnabled=D.get(52),this._useFoldingProviders=D.get(53)!=="indentation",this._unfoldOnClickAfterEndOfLine=D.get(57),this._restoringViewState=!1,this._currentModelHasFoldedImports=!1,this._foldingImportsByDefault=D.get(55),this.updateDebounceInfo=y.for(I.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 mo(u),this.foldingDecorationProvider.showFoldingControls=D.get(126),this.foldingDecorationProvider.showFoldingHighlights=D.get(54),this.foldingEnabled=xi.bindTo(this.contextKeyService),this.foldingEnabled.set(this._isEnabled),this._register(this.editor.onDidChangeModel(()=>this.onModelChanged())),this._register(this.editor.onDidChangeConfiguration((T)=>{if(T.hasChanged(52))this._isEnabled=this.editor.getOptions().get(52),this.foldingEnabled.set(this._isEnabled),this.onModelChanged();if(T.hasChanged(56))this.onModelChanged();if(T.hasChanged(126)||T.hasChanged(54)){let K=this.editor.getOptions();this.foldingDecorationProvider.showFoldingControls=K.get(126),this.foldingDecorationProvider.showFoldingHighlights=K.get(54),this.triggerFoldingModelChanged()}if(T.hasChanged(53))this._useFoldingProviders=this.editor.getOptions().get(53)!=="indentation",this.onFoldingStrategyChanged();if(T.hasChanged(57))this._unfoldOnClickAfterEndOfLine=this.editor.getOptions().get(57);if(T.hasChanged(55))this._foldingImportsByDefault=this.editor.getOptions().get(55)})),this.onModelChanged()}saveViewState(){let u=this.editor.getModel();if(!u||!this._isEnabled||u.isTooLargeForTokenization())return{};if(this.foldingModel){let p=this.foldingModel.getMemento(),v=this.rangeProvider?this.rangeProvider.id:void 0;return{collapsedRegions:p,lineCount:u.getLineCount(),provider:v,foldedImports:this._currentModelHasFoldedImports}}return}restoreViewState(u){let p=this.editor.getModel();if(!p||!this._isEnabled||p.isTooLargeForTokenization()||!this.hiddenRangeModel)return;if(!u)return;if(this._currentModelHasFoldedImports=!!u.foldedImports,u.collapsedRegions&&u.collapsedRegions.length>0&&this.foldingModel){this._restoringViewState=!0;try{this.foldingModel.applyMemento(u.collapsedRegions)}finally{this._restoringViewState=!1}}}onModelChanged(){this.localToDispose.clear();let u=this.editor.getModel();if(!this._isEnabled||!u||u.isTooLargeForTokenization())return;this._currentModelHasFoldedImports=!1,this.foldingModel=new lS(u,this.foldingDecorationProvider),this.localToDispose.add(this.foldingModel),this.hiddenRangeModel=new uS(this.foldingModel),this.localToDispose.add(this.hiddenRangeModel),this.localToDispose.add(this.hiddenRangeModel.onDidChange((p)=>this.onHiddenRangesChanges(p))),this.updateScheduler=new ki(this.updateDebounceInfo.get(u)),this.localToDispose.add(this.updateScheduler),this.cursorChangedScheduler=new be(()=>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((p)=>this.onDidChangeModelContent(p))),this.localToDispose.add(this.editor.onDidChangeCursorPosition(()=>this.onCursorPositionChanged())),this.localToDispose.add(this.editor.onMouseDown((p)=>this.onEditorMouseDown(p))),this.localToDispose.add(this.editor.onMouseUp((p)=>this.onEditorMouseUp(p))),this.localToDispose.add({dispose:()=>{if(this.foldingRegionPromise)this.foldingRegionPromise.cancel(),this.foldingRegionPromise=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(u){if(this.rangeProvider)return this.rangeProvider;let p=new nl(u,this.languageConfigurationService,this._foldingLimitReporter);if(this.rangeProvider=p,this._useFoldingProviders&&this.foldingModel){let v=dh.getFoldingRangeProviders(this.languageFeaturesService,u);if(v.length>0)this.rangeProvider=new sl(u,v,()=>this.triggerFoldingModelChanged(),this._foldingLimitReporter,p)}return this.rangeProvider}getFoldingModel(){return this.foldingModelPromise}onDidChangeModelContent(u){this.hiddenRangeModel?.notifyChangeModelContent(u),this.triggerFoldingModelChanged()}triggerFoldingModelChanged(){if(this.updateScheduler){if(this.foldingRegionPromise)this.foldingRegionPromise.cancel(),this.foldingRegionPromise=null;this.foldingModelPromise=this.updateScheduler.trigger(()=>{let u=this.foldingModel;if(!u)return null;let p=new Yt,v=this.getRangeProvider(u.textModel),C=this.foldingRegionPromise=jt((y)=>v.compute(y));return C.then((y)=>{if(y&&C===this.foldingRegionPromise){let I;if(this._foldingImportsByDefault&&!this._currentModelHasFoldedImports){let K=y.setCollapsedAllOfType(Bo.Imports.value,!0);if(K)I=$o.capture(this.editor),this._currentModelHasFoldedImports=K}let D=this.editor.getSelections();u.update(y,xR(D)),I?.restore(this.editor);let T=this.updateDebounceInfo.update(u.textModel,p.elapsed());if(this.updateScheduler)this.updateScheduler.defaultDelay=T}return u})}).then(void 0,(u)=>(J(u),null))}}onHiddenRangesChanges(u){if(this.hiddenRangeModel&&u.length&&!this._restoringViewState){let p=this.editor.getSelections();if(p){if(this.hiddenRangeModel.adjustSelections(p))this.editor.setSelections(p)}}this.editor.setHiddenAreas(u,this)}onCursorPositionChanged(){if(this.hiddenRangeModel&&this.hiddenRangeModel.hasRanges())this.cursorChangedScheduler.schedule()}revealCursor(){let u=this.getFoldingModel();if(!u)return;u.then((p)=>{if(p){let v=this.editor.getSelections();if(v&&v.length>0){let C=[];for(let y of v){let I=y.selectionStartLineNumber;if(this.hiddenRangeModel&&this.hiddenRangeModel.isHidden(I))C.push(...p.getAllRegionsAtLine(I,(D)=>D.isCollapsed&&I>D.startLineNumber))}if(C.length)p.toggleCollapseState(C),this.reveal(v[0].getPosition())}}}).then(void 0,J)}onEditorMouseDown(u){if(this.mouseDownInfo=null,!this.hiddenRangeModel||!u.target||!u.target.range)return;if(!u.event.leftButton&&!u.event.middleButton)return;let p=u.target.range,v=!1;switch(u.target.type){case 4:{let C=u.target.detail,y=u.target.element.offsetLeft;if(C.offsetX-y<4)return;v=!0;break}case 7:{if(this._unfoldOnClickAfterEndOfLine&&this.hiddenRangeModel.hasRanges()){if(!u.target.detail.isAfterLines)break}return}case 6:{if(this.hiddenRangeModel.hasRanges()){let C=this.editor.getModel();if(C&&p.startColumn===C.getLineMaxColumn(p.startLineNumber))break}return}default:return}this.mouseDownInfo={lineNumber:p.startLineNumber,iconClicked:v}}onEditorMouseUp(u){let p=this.foldingModel;if(!p||!this.mouseDownInfo||!u.target)return;let v=this.mouseDownInfo.lineNumber,C=this.mouseDownInfo.iconClicked,y=u.target.range;if(!y||y.startLineNumber!==v)return;if(C){if(u.target.type!==4)return}else{let D=this.editor.getModel();if(!D||y.startColumn!==D.getLineMaxColumn(v))return}let I=p.getRegionAtLine(v);if(I&&I.startLineNumber===v){let D=I.isCollapsed;if(C||D){let T=u.event.altKey,K=[];if(T){let q=(te)=>!te.containedBy(I)&&!I.containedBy(te),Q=p.getRegionsInside(null,q);for(let te of Q)if(te.isCollapsed)K.push(te);if(K.length===0)K=Q}else{let q=u.event.middleButton||u.event.shiftKey;if(q){for(let Q of p.getRegionsInside(I))if(Q.isCollapsed===D)K.push(Q)}if(D||!q||K.length===0)K.push(I)}p.toggleCollapseState(K),this.reveal({lineNumber:v,column:1})}}}reveal(u){this.editor.revealPositionInCenterIfOutsideViewport(u,0)}};$r=dh=yR([ah(1,z),ah(2,et),ah(3,ut),ah(4,Wi),ah(5,j)],$r);class Wp extends n{constructor(m){super();this.editor=m,this._onDidChange=this._register(new i),this._computed=0,this._limited=!1}get limit(){return this.editor.getOptions().get(56)}update(m,u){if(m!==this._computed||u!==this._limited)this._computed=m,this._limited=u,this._onDidChange.fire()}}class Ni extends W{runEditorCommand(m,u,p){let v=m.get(et),C=$r.get(u);if(!C)return;let y=C.getFoldingModel();if(y)return this.reportTelemetry(m,u),y.then((I)=>{if(I){this.invoke(C,I,u,p,v);let D=u.getSelection();if(D)C.reveal(D.getStartPosition())}})}getSelectedLines(m){let u=m.getSelections();return u?u.map((p)=>p.startLineNumber):[]}getLineNumbers(m,u){if(m&&m.selectionLines)return m.selectionLines.map((p)=>p+1);return this.getSelectedLines(u)}run(m,u){}}function xR(m){if(!m||m.length===0)return{startsInside:()=>!1};return{startsInside(u,p){for(let v of m){let C=v.startLineNumber;if(C>=u&&C<=p)return!0}return!1}}}function dL(m){if(!Mi(m)){if(!Jt(m))return!1;let u=m;if(!Mi(u.levels)&&!rs(u.levels))return!1;if(!Mi(u.direction)&&!fn(u.direction))return!1;if(!Mi(u.selectionLines)&&(!Array.isArray(u.selectionLines)||!u.selectionLines.every(rs)))return!1}return!0}class lL extends Ni{constructor(){super({id:"editor.unfold",label:h(1040,"Unfold"),precondition:xi,kbOpts:{kbExpr:r.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:
|
|
22
|
-
* 'levels': Number of levels to unfold. If not set, defaults to 1.
|
|
23
|
-
* 'direction': If 'up', unfold given number of levels up otherwise unfolds down.
|
|
24
|
-
* '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.
|
|
25
|
-
`,constraint:dL,schema:{type:"object",properties:{levels:{type:"number",default:1},direction:{type:"string",enum:["up","down"],default:"down"},selectionLines:{type:"array",items:{type:"number"}}}}}]}})}invoke(m,u,p,v){let C=v&&v.levels||1,y=this.getLineNumbers(v,p);if(v&&v.direction==="up")cS(u,!1,C,y);else gd(u,!1,C,y)}}class cL extends Ni{constructor(){super({id:"editor.unfoldRecursively",label:h(1041,"Unfold Recursively"),precondition:xi,kbOpts:{kbExpr:r.editorTextFocus,primary:Zt(2089,2142),weight:100}})}invoke(m,u,p,v){gd(u,!1,Number.MAX_VALUE,this.getSelectedLines(p))}}class hL extends Ni{constructor(){super({id:"editor.fold",label:h(1042,"Fold"),precondition:xi,kbOpts:{kbExpr:r.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:
|
|
26
|
-
* 'levels': Number of levels to fold.
|
|
27
|
-
* 'direction': If 'up', folds given number of levels up otherwise folds down.
|
|
28
|
-
* '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.
|
|
29
|
-
If no levels or direction is set, folds the region at the locations or if already collapsed, the first uncollapsed parent instead.
|
|
30
|
-
`,constraint:dL,schema:{type:"object",properties:{levels:{type:"number"},direction:{type:"string",enum:["up","down"]},selectionLines:{type:"array",items:{type:"number"}}}}}]}})}invoke(m,u,p,v){let C=this.getLineNumbers(v,p),y=v&&v.levels,I=v&&v.direction;if(typeof y!=="number"&&typeof I!=="string")JI(u,!0,C);else if(I==="up")cS(u,!0,y||1,C);else gd(u,!0,y||1,C)}}class uL extends Ni{constructor(){super({id:"editor.toggleFold",label:h(1043,"Toggle Fold"),precondition:xi,kbOpts:{kbExpr:r.editorTextFocus,primary:Zt(2089,2090),weight:100}})}invoke(m,u,p){let v=this.getSelectedLines(p);nh(u,1,v)}}class gL extends Ni{constructor(){super({id:"editor.foldRecursively",label:h(1044,"Fold Recursively"),precondition:xi,kbOpts:{kbExpr:r.editorTextFocus,primary:Zt(2089,2140),weight:100}})}invoke(m,u,p){let v=this.getSelectedLines(p);gd(u,!0,Number.MAX_VALUE,v)}}class pL extends Ni{constructor(){super({id:"editor.toggleFoldRecursively",label:h(1045,"Toggle Fold Recursively"),precondition:xi,kbOpts:{kbExpr:r.editorTextFocus,primary:Zt(2089,3114),weight:100}})}invoke(m,u,p){let v=this.getSelectedLines(p);nh(u,Number.MAX_VALUE,v)}}class mL extends Ni{constructor(){super({id:"editor.foldAllBlockComments",label:h(1046,"Fold All Block Comments"),precondition:xi,kbOpts:{kbExpr:r.editorTextFocus,primary:Zt(2089,2138),weight:100}})}invoke(m,u,p,v,C){if(u.regions.hasTypes())Fp(u,Bo.Comment.value,!0);else{let y=p.getModel();if(!y)return;let I=C.getLanguageConfiguration(y.getLanguageId()).comments;if(I&&I.blockCommentStartToken){let D=new RegExp("^\\s*"+Ci(I.blockCommentStartToken));Ap(u,D,!0)}}}}class fL extends Ni{constructor(){super({id:"editor.foldAllMarkerRegions",label:h(1047,"Fold All Regions"),precondition:xi,kbOpts:{kbExpr:r.editorTextFocus,primary:Zt(2089,2077),weight:100}})}invoke(m,u,p,v,C){if(u.regions.hasTypes())Fp(u,Bo.Region.value,!0);else{let y=p.getModel();if(!y)return;let I=C.getLanguageConfiguration(y.getLanguageId()).foldingRules;if(I&&I.markers&&I.markers.start){let D=new RegExp(I.markers.start);Ap(u,D,!0)}}}}class _L extends Ni{constructor(){super({id:"editor.unfoldAllMarkerRegions",label:h(1048,"Unfold All Regions"),precondition:xi,kbOpts:{kbExpr:r.editorTextFocus,primary:Zt(2089,2078),weight:100}})}invoke(m,u,p,v,C){if(u.regions.hasTypes())Fp(u,Bo.Region.value,!1);else{let y=p.getModel();if(!y)return;let I=C.getLanguageConfiguration(y.getLanguageId()).foldingRules;if(I&&I.markers&&I.markers.start){let D=new RegExp(I.markers.start);Ap(u,D,!1)}}}}class bL extends Ni{constructor(){super({id:"editor.foldAllExcept",label:h(1049,"Fold All Except Selected"),precondition:xi,kbOpts:{kbExpr:r.editorTextFocus,primary:Zt(2089,2136),weight:100}})}invoke(m,u,p){let v=this.getSelectedLines(p);hS(u,!0,v)}}class vL extends Ni{constructor(){super({id:"editor.unfoldAllExcept",label:h(1050,"Unfold All Except Selected"),precondition:xi,kbOpts:{kbExpr:r.editorTextFocus,primary:Zt(2089,2134),weight:100}})}invoke(m,u,p){let v=this.getSelectedLines(p);hS(u,!1,v)}}class SL extends Ni{constructor(){super({id:"editor.foldAll",label:h(1051,"Fold All"),precondition:xi,kbOpts:{kbExpr:r.editorTextFocus,primary:Zt(2089,2069),weight:100}})}invoke(m,u,p){gd(u,!0)}}class wL extends Ni{constructor(){super({id:"editor.unfoldAll",label:h(1052,"Unfold All"),precondition:xi,kbOpts:{kbExpr:r.editorTextFocus,primary:Zt(2089,2088),weight:100}})}invoke(m,u,p){gd(u,!1)}}class lh extends Ni{static{this.ID_PREFIX="editor.foldLevel"}static{this.ID=(m)=>lh.ID_PREFIX+m}getFoldingLevel(){return parseInt(this.id.substr(lh.ID_PREFIX.length))}invoke(m,u,p){QI(u,this.getFoldingLevel(),!0,this.getSelectedLines(p))}}class CL extends Ni{constructor(){super({id:"editor.gotoParentFold",label:h(1053,"Go to Parent Fold"),precondition:xi,kbOpts:{kbExpr:r.editorTextFocus,weight:100}})}invoke(m,u,p){let v=this.getSelectedLines(p);if(v.length>0){let C=eL(v[0],u);if(C!==null)p.setSelection({startLineNumber:C,startColumn:1,endLineNumber:C,endColumn:1})}}}class yL extends Ni{constructor(){super({id:"editor.gotoPreviousFold",label:h(1054,"Go to Previous Folding Range"),precondition:xi,kbOpts:{kbExpr:r.editorTextFocus,weight:100}})}invoke(m,u,p){let v=this.getSelectedLines(p);if(v.length>0){let C=tL(v[0],u);if(C!==null)p.setSelection({startLineNumber:C,startColumn:1,endLineNumber:C,endColumn:1})}}}class xL extends Ni{constructor(){super({id:"editor.gotoNextFold",label:h(1055,"Go to Next Folding Range"),precondition:xi,kbOpts:{kbExpr:r.editorTextFocus,weight:100}})}invoke(m,u,p){let v=this.getSelectedLines(p);if(v.length>0){let C=iL(v[0],u);if(C!==null)p.setSelection({startLineNumber:C,startColumn:1,endLineNumber:C,endColumn:1})}}}class IL extends Ni{constructor(){super({id:"editor.createFoldingRangeFromSelection",label:h(1056,"Create Folding Range from Selection"),precondition:xi,kbOpts:{kbExpr:r.editorTextFocus,primary:Zt(2089,2135),weight:100}})}invoke(m,u,p){let v=[],C=p.getSelections();if(C){for(let y of C){let I=y.endLineNumber;if(y.endColumn===1)--I;if(I>y.startLineNumber)v.push({startLineNumber:y.startLineNumber,endLineNumber:I,type:void 0,isCollapsed:!0,source:1}),p.setSelection({startLineNumber:y.startLineNumber,startColumn:1,endLineNumber:y.startLineNumber,endColumn:1})}if(v.length>0){v.sort((I,D)=>I.startLineNumber-D.startLineNumber);let y=$i.sanitizeAndMerge(u.regions,v,p.getModel()?.getLineCount());u.updatePost($i.fromFoldRanges(y))}}}}class LL extends Ni{constructor(){super({id:"editor.removeManualFoldingRanges",label:h(1057,"Remove Manual Folding Ranges"),precondition:xi,kbOpts:{kbExpr:r.editorTextFocus,primary:Zt(2089,2137),weight:100}})}invoke(m,u,p){let v=p.getSelections();if(v)u.removeManualRanges(v),m.triggerFoldingModelChanged()}}class EL extends Ni{constructor(){super({id:"editor.toggleImportFold",label:h(1058,"Toggle Import Fold"),precondition:xi,kbOpts:{kbExpr:r.editorTextFocus,weight:100}})}async invoke(m,u){let p=[],v=u.regions;for(let C=v.length-1;C>=0;C--)if(v.getType(C)===Bo.Imports.value)p.push(v.toRegion(C));u.toggleCollapseState(p),m.triggerFoldingModelChanged()}}le($r.ID,$r,0);R(lL);R(cL);R(hL);R(gL);R(pL);R(SL);R(wL);R(mL);R(fL);R(_L);R(bL);R(vL);R(uL);R(CL);R(yL);R(xL);R(IL);R(LL);R(EL);for(let m=1;m<=7;m++)x$(new lh({id:lh.ID(m),label:h(1059,"Fold Level {0}",m),precondition:xi,kbOpts:{kbExpr:r.editorTextFocus,primary:Zt(2089,2048|21+m),weight:100}}));we.registerCommand("_executeFoldingRangeProvider",async function(m,...u){let[p]=u;if(!(p instanceof V))throw tr();let v=m.get(j),C=m.get(bt).getModel(p);if(!C)throw tr();let y=m.get(X);if(!y.getValue("editor.folding",{resource:p}))return[];let I=m.get(et),D=y.getValue("editor.foldingStrategy",{resource:p}),T={get limit(){return y.getValue("editor.foldingMaximumRegions",{resource:p})},update:(oe,ne)=>{}},K=new nl(C,I,T),q=K;if(D!=="indentation"){let oe=$r.getFoldingRangeProviders(v,C);if(oe.length)q=new sl(C,oe,()=>{},T,K)}let Q=await q.compute(he.None),te=[];try{if(Q)for(let oe=0;oe<Q.length;oe++){let ne=Q.getType(oe);te.push({start:Q.getStartLineNumber(oe),end:Q.getEndLineNumber(oe),kind:ne?Bo.fromValue(ne):void 0})}return te}finally{q.dispose()}});var DL=function(m,u,p,v){var C=arguments.length,y=C<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,p):v,I;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")y=Reflect.decorate(m,u,p,v);else for(var D=m.length-1;D>=0;D--)if(I=m[D])y=(C<3?I(y):C>3?I(u,p,y):I(u,p))||y;return C>3&&y&&Object.defineProperty(u,p,y),y},Bp=function(m,u){return function(p,v){u(p,v,m)}};class pS{constructor(m,u,p){this.marker=m,this.index=u,this.total=p}}var mS=class m{constructor(u,p,v){if(this._markerService=p,this._configService=v,this._onDidChange=new i,this.onDidChange=this._onDidChange.event,this._dispoables=new c,this._markers=[],this._nextIdx=-1,V.isUri(u))this._resourceFilter=(D)=>D.toString()===u.toString();else if(u)this._resourceFilter=u;let C=this._configService.getValue("problems.sortOrder"),y=(D,T)=>{let K=Ch(D.resource.toString(),T.resource.toString());if(K===0)if(C==="position")K=t.compareRangesUsingStarts(D,T)||Gt.compare(D.severity,T.severity);else K=Gt.compare(D.severity,T.severity)||t.compareRangesUsingStarts(D,T);return K},I=()=>{let D=this._markerService.read({resource:V.isUri(u)?u:void 0,severities:Gt.Error|Gt.Warning|Gt.Info});if(typeof u==="function")D=D.filter((T)=>this._resourceFilter(T.resource));if(D.sort(y),Ke(D,this._markers,(T,K)=>T.resource.toString()===K.resource.toString()&&T.startLineNumber===K.startLineNumber&&T.startColumn===K.startColumn&&T.endLineNumber===K.endLineNumber&&T.endColumn===K.endColumn&&T.severity===K.severity&&T.message===K.message))return!1;return this._markers=D,!0};I(),this._dispoables.add(p.onMarkerChanged((D)=>{if(!this._resourceFilter||D.some((T)=>this._resourceFilter(T))){if(I())this._nextIdx=-1,this._onDidChange.fire()}}))}dispose(){this._dispoables.dispose(),this._onDidChange.dispose()}matches(u){if(!this._resourceFilter&&!u)return!0;if(!this._resourceFilter||!u)return!1;return this._resourceFilter(u)}get selected(){let u=this._markers[this._nextIdx];return u&&new pS(u,this._nextIdx+1,this._markers.length)}_initIdx(u,p,v){let C=this._markers.findIndex((y)=>Vo(y.resource,u.uri));if(C<0){if(C=Sh(this._markers.length,(y)=>Ch(this._markers[y].resource.toString(),u.uri.toString())),C<0)C=~C;if(v)this._nextIdx=C;else this._nextIdx=(this._markers.length+C-1)%this._markers.length}else{let y=!1,I=!1;for(let D=C;D<this._markers.length;D++){let T=t.lift(this._markers[D]);if(T.isEmpty()){let K=u.getWordAtPosition(T.getStartPosition());if(K)T=new t(T.startLineNumber,K.startColumn,T.startLineNumber,K.endColumn)}if(p&&(T.containsPosition(p)||p.isBeforeOrEqual(T.getStartPosition()))){this._nextIdx=D,y=!0,I=!T.containsPosition(p);break}if(this._markers[D].resource.toString()!==u.uri.toString())break}if(!y)this._nextIdx=v?0:this._markers.length-1;else if(I&&!v)this._nextIdx-=1}if(this._nextIdx<0)this._nextIdx=this._markers.length-1}resetIndex(){this._nextIdx=-1}move(u,p,v){if(this._markers.length===0)return!1;let C=this._nextIdx;if(this._nextIdx===-1)this._initIdx(p,v,u);else if(u)this._nextIdx=(this._nextIdx+1)%this._markers.length;else if(!u)this._nextIdx=(this._nextIdx-1+this._markers.length)%this._markers.length;if(C!==this._nextIdx)return!0;return!1}find(u,p){let v=this._markers.findIndex((C)=>C.resource.toString()===u.toString());if(v<0)return;for(;v<this._markers.length;v++)if(t.containsPosition(this._markers[v],p))return new pS(this._markers[v],v+1,this._markers.length);return}};mS=DL([Bp(1,fo),Bp(2,X)],mS);var _S=Z("IMarkerNavigationService"),fS=class m{constructor(u,p){this._markerService=u,this._configService=p,this._provider=new En}getMarkerList(u){for(let p of this._provider){let v=p.getMarkerList(u);if(v)return v}return new mS(u,this._markerService,this._configService)}};fS=DL([Bp(0,fo),Bp(1,X)],fS);fe(_S,fS,1);var IR=function(m,u,p,v){var C=arguments.length,y=C<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,p):v,I;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")y=Reflect.decorate(m,u,p,v);else for(var D=m.length-1;D>=0;D--)if(I=m[D])y=(C<3?I(y):C>3?I(u,p,y):I(u,p))||y;return C>3&&y&&Object.defineProperty(u,p,y),y},jr=function(m,u){return function(p,v){u(p,v,m)}},Ji=class m extends Rl{constructor(u,p,v,C,y,I,D,T,K,q,Q,te,oe,ne){super(u,{...C.getRawOptions(),overflowWidgetsDomNode:C.getOverflowWidgetsDomNode()},v,y,I,D,T,K,q,Q,te,oe,ne);this._parentEditor=C,this._overwriteOptions=p,super.updateOptions(this._overwriteOptions),this._register(C.onDidChangeConfiguration((ae)=>this._onParentConfigurationChanged(ae)))}getParentEditor(){return this._parentEditor}_onParentConfigurationChanged(u){super.updateOptions(this._parentEditor.getRawOptions()),super.updateOptions(this._overwriteOptions)}updateOptions(u){of(this._overwriteOptions,u,!0),super.updateOptions(this._overwriteOptions)}};Ji=IR([jr(4,L),jr(5,ve),jr(6,Ae),jr(7,z),jr(8,Ne),jr(9,ut),jr(10,qt),jr(11,et),jr(12,j),jr(13,uo)],Ji);function Vp(m){let u=m.get(ve).getFocusedCodeEditor();if(u instanceof Ji)return u.getParentEditor();return u}var RL=new f(new k(0,122,204)),LR={showArrow:!0,showFrame:!0,className:"",frameColor:RL,arrowColor:RL,keepEditorSelection:!1},ER="vs.editor.contrib.zoneWidget";class kL{constructor(m,u,p,v,C,y,I,D){this.id="",this.domNode=m,this.afterLineNumber=u,this.afterColumn=p,this.heightInLines=v,this.showInHiddenAreas=I,this.ordinal=D,this._onDomNodeTop=C,this._onComputedHeight=y}onDomNodeTop(m){this._onDomNodeTop(m)}onComputedHeight(m){this._onComputedHeight(m)}}class TL{constructor(m,u){this._id=m,this._domNode=u}getId(){return this._id}getDomNode(){return this._domNode}getPosition(){return null}}class bS{static{this._IdGenerator=new Fg(".arrow-decoration-")}constructor(m){this._editor=m,this._ruleName=bS._IdGenerator.nextId(),this._color=null,this._height=-1,this._decorations=this._editor.createDecorationsCollection()}dispose(){this.hide(),A_(this._ruleName)}set color(m){if(this._color!==m)this._color=m,this._updateStyle()}set height(m){if(this._height!==m)this._height=m,this._updateStyle()}_updateStyle(){A_(this._ruleName),Lg(`.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(m){if(m.column===1)m={lineNumber:m.lineNumber,column:2};this._decorations.set([{range:t.fromPositions(m),options:{description:"zone-widget-arrow",className:this._ruleName,stickiness:1}}])}hide(){this._decorations.clear()}}class vS{constructor(m,u={}){if(this._arrow=null,this._overlayWidget=null,this._resizeSash=null,this._isSashResizeHeight=!1,this._viewZone=null,this._disposables=new c,this.container=null,this._isShowing=!1,this.editor=m,this._positionMarkerId=this.editor.createDecorationsCollection(),this.options=ta(u),of(this.options,LR,!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((p)=>{let v=this._getWidth(p);this.domNode.style.width=v+"px",this.domNode.style.left=this._getLeft(p)+"px",this._onWidth(v)}))}dispose(){if(this._overlayWidget)this.editor.removeOverlayWidget(this._overlayWidget),this._overlayWidget=null;if(this._viewZone)this.editor.changeViewZones((m)=>{if(this._viewZone)m.removeZone(this._viewZone.id);this._viewZone=null});this._positionMarkerId.clear(),this._disposables.dispose()}create(){if(this.domNode.classList.add("zone-widget"),this.options.className)this.domNode.classList.add(this.options.className);if(this.container=document.createElement("div"),this.container.classList.add("zone-widget-container"),this.domNode.appendChild(this.container),this.options.showArrow)this._arrow=new bS(this.editor),this._disposables.add(this._arrow);this._fillContainer(this.container),this._initSash(),this._applyStyles()}style(m){if(m.frameColor)this.options.frameColor=m.frameColor;if(m.arrowColor)this.options.arrowColor=m.arrowColor;this._applyStyles()}_applyStyles(){if(this.container&&this.options.frameColor){let m=this.options.frameColor.toString();this.container.style.borderTopColor=m,this.container.style.borderBottomColor=m}if(this._arrow&&this.options.arrowColor){let m=this.options.arrowColor.toString();this._arrow.color=m}}_getWidth(m){return m.width-m.minimap.minimapWidth-m.verticalScrollbarWidth}_getLeft(m){if(m.minimap.minimapWidth>0&&m.minimap.minimapLeft===0)return m.minimap.minimapWidth;return 0}_onViewZoneTop(m){this.domNode.style.top=m+"px"}_onViewZoneHeight(m){if(this.domNode.style.height=`${m}px`,this.container){let u=m-this._decoratingElementsHeight();this.container.style.height=`${u}px`;let p=this.editor.getLayoutInfo();this._doLayout(u,this._getWidth(p))}this._resizeSash?.layout()}get position(){let m=this._positionMarkerId.getRange(0);if(!m)return;return m.getStartPosition()}show(m,u){let p=t.isIRange(m)?t.lift(m):t.fromPositions(m);this._isShowing=!0,this._showImpl(p,u),this._isShowing=!1,this._positionMarkerId.set([{range:p,options:re.EMPTY}])}hide(){if(this._viewZone)this.editor.changeViewZones((m)=>{if(this._viewZone)m.removeZone(this._viewZone.id)}),this._viewZone=null;if(this._overlayWidget)this.editor.removeOverlayWidget(this._overlayWidget),this._overlayWidget=null;this._arrow?.hide(),this._positionMarkerId.clear(),this._isSashResizeHeight=!1}_decoratingElementsHeight(){let m=this.editor.getOption(75),u=0;if(this.options.showArrow){let p=Math.round(m/3);u+=2*p}if(this.options.showFrame){let p=this.options.frameWidth??Math.round(m/9);u+=2*p}return u}_getMaximumHeightInLines(){return Math.max(12,this.editor.getLayoutInfo().height/this.editor.getOption(75)*0.8)}_showImpl(m,u){let p=m.getStartPosition(),v=this.editor.getLayoutInfo(),C=this._getWidth(v);this.domNode.style.width=`${C}px`,this.domNode.style.left=this._getLeft(v)+"px";let y=document.createElement("div");y.style.overflow="hidden";let I=this.editor.getOption(75),D=this._getMaximumHeightInLines();if(D!==void 0)u=Math.min(u,D);let T=0,K=0;if(this._arrow&&this.options.showArrow)T=Math.round(I/3),this._arrow.height=T,this._arrow.show(p);if(this.options.showFrame)K=Math.round(I/9);if(this.editor.changeViewZones((te)=>{if(this._viewZone)te.removeZone(this._viewZone.id);if(this._overlayWidget)this.editor.removeOverlayWidget(this._overlayWidget),this._overlayWidget=null;this.domNode.style.top="-1000px",this._viewZone=new kL(y,p.lineNumber,p.column,u,(oe)=>this._onViewZoneTop(oe),(oe)=>this._onViewZoneHeight(oe),this.options.showInHiddenAreas,this.options.ordinal),this._viewZone.id=te.addZone(this._viewZone),this._overlayWidget=new TL(ER+this._viewZone.id,this.domNode),this.editor.addOverlayWidget(this._overlayWidget)}),this._updateSashEnablement(),this.container&&this.options.showFrame){let te=this.options.frameWidth?this.options.frameWidth:K;this.container.style.borderTopWidth=te+"px",this.container.style.borderBottomWidth=te+"px"}let q=u*I-this._decoratingElementsHeight();if(this.container)this.container.style.top=T+"px",this.container.style.height=q+"px",this.container.style.overflow="hidden";if(this._doLayout(q,C),!this.options.keepEditorSelection)this.editor.setSelection(m);let Q=this.editor.getModel();if(Q){let te=Q.validateRange(new t(m.startLineNumber,1,m.endLineNumber+1,1));this.revealRange(te,te.startLineNumber===Q.getLineCount())}}revealRange(m,u){if(u)this.editor.revealLineNearTop(m.endLineNumber,0);else this.editor.revealRange(m,0)}setCssClass(m,u){if(!this.container)return;if(u)this.container.classList.remove(u);this.container.classList.add(m)}_onWidth(m){}_doLayout(m,u){}_relayout(m,u){let p=this._getMaximumHeightInLines(),v=u&&p!==void 0?Math.min(p,m):m;if(this._viewZone&&this._viewZone.heightInLines!==v)this.editor.changeViewZones((C)=>{if(this._viewZone)this._viewZone.heightInLines=v,C.layoutZone(this._viewZone.id)}),this._updateSashEnablement()}_initSash(){if(this._resizeSash)return;if(this._resizeSash=this._disposables.add(new Ki(this.domNode,this,{orientation:1})),!this.options.isResizeable)this._resizeSash.state=0;let m;this._disposables.add(this._resizeSash.onDidStart((u)=>{if(this._viewZone)m={startY:u.startY,heightInLines:this._viewZone.heightInLines,...this._getResizeBounds()}})),this._disposables.add(this._resizeSash.onDidEnd(()=>{m=void 0})),this._disposables.add(this._resizeSash.onDidChange((u)=>{if(m){let p=(u.currentY-m.startY)/this.editor.getOption(75),v=p<0?Math.ceil(p):Math.floor(p),C=m.heightInLines+v;if(C>m.minLines&&C<m.maxLines)this._isSashResizeHeight=!0,this._relayout(C)}}))}_updateSashEnablement(){if(this._resizeSash){let{minLines:m,maxLines:u}=this._getResizeBounds();this._resizeSash.state=m===u?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 m=this.editor.getLayoutInfo();return m.width-m.minimap.minimapWidth}}var NL=function(m,u,p,v){var C=arguments.length,y=C<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,p):v,I;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")y=Reflect.decorate(m,u,p,v);else for(var D=m.length-1;D>=0;D--)if(I=m[D])y=(C<3?I(y):C>3?I(u,p,y):I(u,p))||y;return C>3&&y&&Object.defineProperty(u,p,y),y},OL=function(m,u){return function(p,v){u(p,v,m)}},SS=Z("IPeekViewService");fe(SS,class{constructor(){this._widgets=new Map}addExclusiveWidget(m,u){let p=this._widgets.get(m);if(p)p.listener.dispose(),p.widget.dispose();let v=()=>{let C=this._widgets.get(m);if(C&&C.widget===u)C.listener.dispose(),this._widgets.delete(m)};this._widgets.set(m,{widget:u,listener:u.onDidClose(v)})}},1);var Ai;(function(m){m.inPeekEditor=new N("inReferenceSearchEditor",!0,e(1382,"Whether the current code editor is embedded inside peek")),m.notInPeekEditor=m.inPeekEditor.toNegated()})(Ai||(Ai={}));var Kp=class m{static{this.ID="editor.contrib.referenceController"}constructor(u,p){if(u instanceof Ji)Ai.inPeekEditor.bindTo(p)}dispose(){}};Kp=NL([OL(1,z)],Kp);le(Kp.ID,Kp,0);var DR={headerBackgroundColor:f.white,primaryHeadingColor:f.fromHex("#333333"),secondaryHeadingColor:f.fromHex("#6c6c6cb3")},al=class m extends vS{constructor(u,p,v){super(u,p);this.instantiationService=v,this._onDidClose=new i,this.onDidClose=this._onDidClose.event,of(this.options,DR,!1);let C=Xe(this.editor);C.openedPeekWidgets.set(C.openedPeekWidgets.get()+1,void 0)}dispose(){if(!this.disposed){this.disposed=!0,super.dispose(),this._onDidClose.fire(this),this._onDidClose.dispose();let u=Xe(this.editor);u.openedPeekWidgets.set(u.openedPeekWidgets.get()-1,void 0)}}style(u){let p=this.options;if(u.headerBackgroundColor)p.headerBackgroundColor=u.headerBackgroundColor;if(u.primaryHeadingColor)p.primaryHeadingColor=u.primaryHeadingColor;if(u.secondaryHeadingColor)p.secondaryHeadingColor=u.secondaryHeadingColor;super.style(u)}_applyStyles(){super._applyStyles();let u=this.options;if(this._headElement&&u.headerBackgroundColor)this._headElement.style.backgroundColor=u.headerBackgroundColor.toString();if(this._primaryHeading&&u.primaryHeadingColor)this._primaryHeading.style.color=u.primaryHeadingColor.toString();if(this._secondaryHeading&&u.secondaryHeadingColor)this._secondaryHeading.style.color=u.secondaryHeadingColor.toString();if(this._bodyElement&&u.frameColor)this._bodyElement.style.borderColor=u.frameColor.toString()}_fillContainer(u){this.setCssClass("peekview-widget"),this._headElement=g(".head"),this._bodyElement=g(".body"),this._fillHead(this._headElement),this._fillBody(this._bodyElement),u.appendChild(this._headElement),u.appendChild(this._bodyElement)}_fillHead(u,p){if(this._titleElement=g(".peekview-title"),this.options.supportOnTitleClick)this._titleElement.classList.add("clickable"),mt(this._titleElement,"click",(y)=>this._onTitleClick(y));w(this._headElement,this._titleElement),this._fillTitleIcon(this._titleElement),this._primaryHeading=g("span.filename"),this._secondaryHeading=g("span.dirname"),this._metaHeading=g("span.meta"),w(this._titleElement,this._primaryHeading,this._secondaryHeading,this._metaHeading);let v=g(".peekview-actions");w(this._headElement,v);let C=this._getActionBarOptions();if(this._actionbarWidget=new Di(v,C),this._disposables.add(this._actionbarWidget),!p)this._actionbarWidget.push(this._disposables.add(new nr("peekview.close",e(1383,"Close"),G.asClassName(b.close),!0,()=>(this.dispose(),Promise.resolve()))),{label:!1,icon:!0})}_fillTitleIcon(u){}_getActionBarOptions(){return{actionViewItemProvider:Vg.bind(void 0,this.instantiationService),orientation:0}}_onTitleClick(u){}setTitle(u,p){if(this._primaryHeading&&this._secondaryHeading)if(this._primaryHeading.innerText=u,this._primaryHeading.setAttribute("title",u),p)this._secondaryHeading.innerText=p;else en(this._secondaryHeading)}setMetaTitle(u){if(this._metaHeading)if(u)this._metaHeading.innerText=u,pr(this._metaHeading);else qi(this._metaHeading)}_doLayout(u,p){if(!this._isShowing&&u<0){this.dispose();return}let v=Math.ceil(this.editor.getOption(75)*1.2),C=Math.round(u-(v+1));this._doLayoutHead(v,p),this._doLayoutBody(C,p)}_doLayoutHead(u,p){if(this._headElement)this._headElement.style.height=`${u}px`,this._headElement.style.lineHeight=this._headElement.style.height}_doLayoutBody(u,p){if(this._bodyElement)this._bodyElement.style.height=`${u}px`}};al=NL([OL(2,L)],al);var ML=s("peekViewTitle.background",{dark:"#252526",light:"#F3F3F3",hcDark:f.black,hcLight:f.white},e(1384,"Background color of the peek view title area.")),zp=s("peekViewTitleLabel.foreground",{dark:f.white,light:f.black,hcDark:f.white,hcLight:oa},e(1385,"Color of the peek view title.")),Up=s("peekViewTitleDescription.foreground",{dark:"#ccccccb3",light:"#616161",hcDark:"#FFFFFF99",hcLight:"#292929"},e(1386,"Color of the peek view title info.")),PL=s("peekView.border",{dark:us,light:us,hcDark:$e,hcLight:$e},e(1387,"Color of the peek view borders and arrow.")),AL=s("peekViewResult.background",{dark:"#252526",light:"#F3F3F3",hcDark:f.black,hcLight:f.white},e(1388,"Background color of the peek view result list."));s("peekViewResult.lineForeground",{dark:"#bbbbbb",light:"#646465",hcDark:f.white,hcLight:oa},e(1389,"Foreground color for line nodes in the peek view result list."));s("peekViewResult.fileForeground",{dark:f.white,light:"#1E1E1E",hcDark:f.white,hcLight:oa},e(1390,"Foreground color for file nodes in the peek view result list."));s("peekViewResult.selectionBackground",{dark:"#3399ff33",light:"#3399ff33",hcDark:null,hcLight:null},e(1391,"Background color of the selected entry in the peek view result list."));s("peekViewResult.selectionForeground",{dark:f.white,light:"#6C6C6C",hcDark:f.white,hcLight:oa},e(1392,"Foreground color of the selected entry in the peek view result list."));var wS=s("peekViewEditor.background",{dark:"#001F33",light:"#F2F8FC",hcDark:f.black,hcLight:f.white},e(1393,"Background color of the peek view editor."));s("peekViewEditorGutter.background",wS,e(1394,"Background color of the gutter in the peek view editor."));s("peekViewEditorStickyScroll.background",wS,e(1395,"Background color of sticky scroll in the peek view editor."));s("peekViewEditorStickyScrollGutter.background",wS,e(1396,"Background color of the gutter part of sticky scroll in the peek view editor."));s("peekViewResult.matchHighlightBackground",{dark:"#ea5c004d",light:"#ea5c004d",hcDark:null,hcLight:null},e(1397,"Match highlight color in the peek view result list."));s("peekViewEditor.matchHighlightBackground",{dark:"#ff8f0099",light:"#f5d802de",hcDark:null,hcLight:null},e(1398,"Match highlight color in the peek view editor."));s("peekViewEditor.matchHighlightBorder",{dark:null,light:null,hcDark:Ht,hcLight:Ht},e(1399,"Match highlight border in the peek view editor."));var $p;(function(m){function u(p){switch(p){case Xt.Ignore:return"severity-ignore "+G.asClassName(b.info);case Xt.Info:return G.asClassName(b.info);case Xt.Warning:return G.asClassName(b.warning);case Xt.Error:return G.asClassName(b.error);default:return""}}m.className=u})($p||($p={}));var RR=function(m,u,p,v){var C=arguments.length,y=C<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,p):v,I;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")y=Reflect.decorate(m,u,p,v);else for(var D=m.length-1;D>=0;D--)if(I=m[D])y=(C<3?I(y):C>3?I(u,p,y):I(u,p))||y;return C>3&&y&&Object.defineProperty(u,p,y),y},dl=function(m,u){return function(p,v){u(p,v,m)}},CS;class BL{constructor(m,u,p,v,C){this._openerService=v,this._labelService=C,this._lines=0,this._longestLineLength=0,this._relatedDiagnostics=new WeakMap,this._disposables=new c,this._editor=u;let y=document.createElement("div");y.className="descriptioncontainer",this._messageBlock=document.createElement("div"),this._messageBlock.classList.add("message"),this._messageBlock.setAttribute("aria-live","assertive"),this._messageBlock.setAttribute("role","alert"),y.appendChild(this._messageBlock),this._relatedBlock=document.createElement("div"),y.appendChild(this._relatedBlock),this._disposables.add(mt(this._relatedBlock,"click",(I)=>{I.preventDefault();let D=this._relatedDiagnostics.get(I.target);if(D)p(D)})),this._scrollable=new $v(y,{horizontal:1,vertical:1,useShadows:!1,horizontalScrollbarSize:6,verticalScrollbarSize:6}),m.appendChild(this._scrollable.getDomNode()),this._disposables.add(this._scrollable.onScroll((I)=>{y.style.left=`-${I.scrollLeft}px`,y.style.top=`-${I.scrollTop}px`})),this._disposables.add(this._scrollable)}dispose(){De(this._disposables)}update(m){let{source:u,message:p,relatedInformation:v,code:C}=m,y=(u?.length||0)+2;if(C)if(typeof C==="string")y+=C.length;else y+=C.value.length;let I=ni(p);this._lines=I.length,this._longestLineLength=0;for(let Q of I)this._longestLineLength=Math.max(Q.length+y,this._longestLineLength);en(this._messageBlock),this._messageBlock.setAttribute("aria-label",this.getAriaLabel(m)),br(this.getAriaLabel(m)),this._editor.applyFontInfo(this._messageBlock);let D=this._messageBlock;for(let Q of I){if(D=document.createElement("div"),D.innerText=Q,Q==="")D.style.height=this._messageBlock.style.lineHeight;this._messageBlock.appendChild(D)}if(u||C){let Q=document.createElement("span");if(Q.classList.add("details"),D.appendChild(Q),u){let te=document.createElement("span");te.innerText=u,te.classList.add("source"),Q.appendChild(te)}if(C)if(typeof C==="string"){let te=document.createElement("span");te.innerText=`(${C})`,te.classList.add("code"),Q.appendChild(te)}else{this._codeLink=g("a.code-link"),this._codeLink.setAttribute("href",`${C.target.toString()}`),this._codeLink.onclick=(oe)=>{this._openerService.open(C.target),oe.preventDefault(),oe.stopPropagation()};let te=w(this._codeLink,g("span"));te.innerText=C.value,Q.appendChild(this._codeLink)}}if(en(this._relatedBlock),this._editor.applyFontInfo(this._relatedBlock),$n(v)){let Q=this._relatedBlock.appendChild(document.createElement("div"));Q.style.paddingTop=`${Math.floor(this._editor.getOption(75)*0.66)}px`,this._lines+=1;for(let te of v){let oe=document.createElement("div"),ne=document.createElement("a");ne.classList.add("filename"),ne.innerText=`${this._labelService.getUriBasenameLabel(te.resource)}(${te.startLineNumber}, ${te.startColumn}): `,ne.title=this._labelService.getUriLabel(te.resource),this._relatedDiagnostics.set(ne,te);let ae=document.createElement("span");ae.innerText=te.message,oe.appendChild(ne),oe.appendChild(ae),this._lines+=1,Q.appendChild(oe)}}let T=this._editor.getOption(59),K=Math.ceil(T.typicalFullwidthCharacterWidth*this._longestLineLength*0.75),q=T.lineHeight*this._lines;this._scrollable.setScrollDimensions({scrollWidth:K,scrollHeight:q})}layout(m,u){this._scrollable.getDomNode().style.height=`${m}px`,this._scrollable.getDomNode().style.width=`${u}px`,this._scrollable.setScrollDimensions({width:u,height:m})}getHeightInLines(){return Math.min(17,this._lines)}getAriaLabel(m){let u="";switch(m.severity){case Gt.Error:u=e(1082,"Error");break;case Gt.Warning:u=e(1083,"Warning");break;case Gt.Info:u=e(1084,"Info");break;case Gt.Hint:u=e(1085,"Hint");break}let p=e(1086,"{0}: {1} at {2}. ",u,m.message,m.startLineNumber+":"+m.startColumn),v=this._editor.getModel();if(v&&m.startLineNumber<=v.getLineCount()&&m.startLineNumber>=1)p=`${v.getLineContent(m.startLineNumber)}, ${p}`;return p}}var ll=class m extends al{static{CS=this}static{this.TitleMenu=new a("gotoErrorTitleMenu")}constructor(u,p,v,C,y,I,D){super(u,{showArrow:!0,showFrame:!0,isAccessible:!0,frameWidth:1},y);this._themeService=p,this._openerService=v,this._menuService=C,this._contextKeyService=I,this._labelService=D,this._callOnDispose=new c,this._onDidSelectRelatedInformation=new i,this.onDidSelectRelatedInformation=this._onDidSelectRelatedInformation.event,this._severity=Gt.Warning,this._backgroundColor=f.white,this._applyTheme(p.getColorTheme()),this._callOnDispose.add(p.onDidColorThemeChange(this._applyTheme.bind(this))),this.create()}_applyTheme(u){this._backgroundColor=u.getColor(OR);let p=yS,v=kR;if(this._severity===Gt.Warning)p=jp,v=TR;else if(this._severity===Gt.Info)p=xS,v=NR;let C=u.getColor(p),y=u.getColor(v);this.style({arrowColor:C,frameColor:C,headerBackgroundColor:y,primaryHeadingColor:u.getColor(zp),secondaryHeadingColor:u.getColor(Up)})}_applyStyles(){if(this._parentContainer)this._parentContainer.style.backgroundColor=this._backgroundColor?this._backgroundColor.toString():"";super._applyStyles()}dispose(){this._callOnDispose.dispose(),this._onDidSelectRelatedInformation.dispose(),super.dispose()}_fillHead(u){super._fillHead(u),this._disposables.add(this._actionbarWidget.actionRunner.onWillRun((C)=>this.editor.focus()));let p=this._menuService.getMenuActions(CS.TitleMenu,this._contextKeyService),v=J$(p);this._actionbarWidget.push(v,{label:!1,icon:!0,index:0})}_fillTitleIcon(u){this._icon=w(u,g(""))}_fillBody(u){this._parentContainer=u,u.classList.add("marker-widget"),this._parentContainer.tabIndex=0,this._parentContainer.setAttribute("role","tooltip"),this._container=document.createElement("div"),u.appendChild(this._container),this._message=new BL(this._container,this.editor,(p)=>this._onDidSelectRelatedInformation.fire(p),this._openerService,this._labelService),this._disposables.add(this._message)}show(){throw Error("call showAtMarker")}showAtMarker(u,p,v){this._container.classList.remove("stale"),this._message.update(u),this._severity=u.severity,this._applyTheme(this._themeService.getColorTheme());let C=t.lift(u),y=this.editor.getPosition(),I=y&&C.containsPosition(y)?y:C.getStartPosition();super.show(I,this.computeRequiredHeight());let D=this.editor.getModel();if(D){let T=v>1?e(1087,"{0} of {1} problems",p,v):e(1088,"{0} of {1} problem",p,v);this.setTitle(mi(D.uri),T)}this._icon.className=`codicon ${$p.className(Gt.toSeverity(this._severity))}`,this.editor.revealPositionInCenterIfOutsideViewport(I,0),this.editor.focus()}updateMarker(u){this._container.classList.remove("stale"),this._message.update(u)}showStale(){this._container.classList.add("stale"),this._relayout()}_doLayoutBody(u,p){super._doLayoutBody(u,p),this._heightInPixel=u,this._message.layout(u,p),this._container.style.height=`${u}px`}_onWidth(u){this._message.layout(this._heightInPixel,u)}_relayout(){super._relayout(this.computeRequiredHeight())}computeRequiredHeight(){return 3+this._message.getHeightInLines()}};ll=CS=RR([dl(1,Ne),dl(2,Lr),dl(3,fi),dl(4,L),dl(5,z),dl(6,Dl)],ll);var FL=mf(yf,k$),HL=mf(sa,jh),WL=mf(us,Hh),yS=s("editorMarkerNavigationError.background",{dark:FL,light:FL,hcDark:$e,hcLight:$e},e(1089,"Editor marker navigation widget error color.")),kR=s("editorMarkerNavigationError.headerBackground",{dark:de(yS,0.1),light:de(yS,0.1),hcDark:null,hcLight:null},e(1090,"Editor marker navigation widget error heading background.")),jp=s("editorMarkerNavigationWarning.background",{dark:HL,light:HL,hcDark:$e,hcLight:$e},e(1091,"Editor marker navigation widget warning color.")),TR=s("editorMarkerNavigationWarning.headerBackground",{dark:de(jp,0.1),light:de(jp,0.1),hcDark:"#0C141F",hcLight:de(jp,0.2)},e(1092,"Editor marker navigation widget warning heading background.")),xS=s("editorMarkerNavigationInfo.background",{dark:WL,light:WL,hcDark:$e,hcLight:$e},e(1093,"Editor marker navigation widget info color.")),NR=s("editorMarkerNavigationInfo.headerBackground",{dark:de(xS,0.1),light:de(xS,0.1),hcDark:null,hcLight:null},e(1094,"Editor marker navigation widget info heading background.")),OR=s("editorMarkerNavigation.background",Tr,e(1095,"Editor marker navigation widget background."));var MR=function(m,u,p,v){var C=arguments.length,y=C<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,p):v,I;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")y=Reflect.decorate(m,u,p,v);else for(var D=m.length-1;D>=0;D--)if(I=m[D])y=(C<3?I(y):C>3?I(u,p,y):I(u,p))||y;return C>3&&y&&Object.defineProperty(u,p,y),y},Gp=function(m,u){return function(p,v){u(p,v,m)}},ch,Xs=class m{static{ch=this}static{this.ID="editor.contrib.markerController"}static get(u){return u.getContribution(ch.ID)}constructor(u,p,v,C,y){this._markerNavigationService=p,this._contextKeyService=v,this._editorService=C,this._instantiationService=y,this._sessionDispoables=new c,this._editor=u,this._widgetVisible=VL.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(u){if(this._model&&this._model.matches(u))return this._model;let p=!1;if(this._model)p=!0,this._cleanUp();if(this._model=this._markerNavigationService.getMarkerList(u),p)this._model.move(!0,this._editor.getModel(),this._editor.getPosition());return this._widget=this._instantiationService.createInstance(ll,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((v)=>{if(!this._model?.selected||!t.containsPosition(this._model?.selected.marker,v.position))this._model?.resetIndex()})),this._sessionDispoables.add(this._model.onDidChange(()=>{if(!this._widget||!this._widget.position||!this._model)return;let v=this._model.find(this._editor.getModel().uri,this._widget.position);if(v)this._widget.updateMarker(v.marker);else this._widget.showStale()})),this._sessionDispoables.add(this._widget.onDidSelectRelatedInformation((v)=>{this._editorService.openCodeEditor({resource:v.resource,options:{pinned:!0,revealIfOpened:!0,selection:t.lift(v).collapseToStart()}},this._editor),this.close(!1)})),this._sessionDispoables.add(this._editor.onDidChangeModel(()=>this._cleanUp())),this._model}close(u=!0){if(this._cleanUp(),u)this._editor.focus()}showAtMarker(u){if(!this._editor.hasModel())return;let p=this._editor.getModel(),v=this._getOrCreateModel(p.uri);if(v.resetIndex(),v.move(!0,p,new o(u.startLineNumber,u.startColumn)),v.selected)this._widget.showAtMarker(v.selected.marker,v.selected.index,v.selected.total)}async navigate(u,p){if(!this._editor.hasModel())return;let v=this._editor.getModel(),C=this._getOrCreateModel(p?void 0:v.uri);if(C.move(u,v,this._editor.getPosition()),!C.selected)return;if(C.selected.marker.resource.toString()!==v.uri.toString()){this._cleanUp();let y=await this._editorService.openCodeEditor({resource:C.selected.marker.resource,options:{pinned:!1,revealIfOpened:!0,selectionRevealType:2,selection:C.selected.marker}},this._editor);if(y)ch.get(y)?.close(),ch.get(y)?.navigate(u,p)}else this._widget.showAtMarker(C.selected.marker,C.selected.index,C.selected.total)}};Xs=ch=MR([Gp(1,_S),Gp(2,z),Gp(3,ve),Gp(4,L)],Xs);class hh extends W{constructor(m,u,p){super(p);this._next=m,this._multiFile=u}async run(m,u){if(u.hasModel())await Xs.get(u)?.navigate(this._next,this._multiFile)}}class bs extends hh{static{this.ID="editor.action.marker.next"}static{this.LABEL=h(1078,"Go to Next Problem (Error, Warning, Info)")}constructor(){super(!0,!1,{id:bs.ID,label:bs.LABEL,precondition:void 0,kbOpts:{kbExpr:r.focus,primary:578,weight:100},menuOpts:{menuId:ll.TitleMenu,title:bs.LABEL.value,icon:$t("marker-navigation-next",b.arrowDown,e(1074,"Icon for goto next marker.")),group:"navigation",order:1}})}}class pd extends hh{static{this.ID="editor.action.marker.prev"}static{this.LABEL=h(1079,"Go to Previous Problem (Error, Warning, Info)")}constructor(){super(!1,!1,{id:pd.ID,label:pd.LABEL,precondition:void 0,kbOpts:{kbExpr:r.focus,primary:1602,weight:100},menuOpts:{menuId:ll.TitleMenu,title:pd.LABEL.value,icon:$t("marker-navigation-previous",b.arrowUp,e(1075,"Icon for goto previous marker.")),group:"navigation",order:2}})}}class uh extends hh{static{this.ID="editor.action.marker.nextInFiles"}constructor(){super(!0,!0,{id:uh.ID,label:h(1080,"Go to Next Problem in Files (Error, Warning, Info)"),precondition:void 0,kbOpts:{kbExpr:r.focus,primary:66,weight:100},menuOpts:{menuId:a.MenubarGoMenu,title:e(1076,"Next &&Problem"),group:"6_problem_nav",order:1}})}}class gh extends hh{static{this.ID="editor.action.marker.prevInFiles"}constructor(){super(!1,!0,{id:gh.ID,label:h(1081,"Go to Previous Problem in Files (Error, Warning, Info)"),precondition:void 0,kbOpts:{kbExpr:r.focus,primary:1090,weight:100},menuOpts:{menuId:a.MenubarGoMenu,title:e(1077,"Previous &&Problem"),group:"6_problem_nav",order:2}})}}le(Xs.ID,Xs,4);R(bs);R(pd);R(uh);R(gh);var VL=new N("markersNavigationVisible",!1),PR=Vt.bindToContribution(Xs.get);U(new PR({id:"closeMarkersNavigation",precondition:VL,handler:(m)=>m.close(),kbOpts:{weight:150,kbExpr:r.focus,primary:9,secondary:[1033]}}));class sv{constructor(m){this.options=m,this.rangeHighlightDecorationId=void 0}provide(m,u,p){let v=new c;m.canAcceptInBackground=!!this.options?.canAcceptInBackground,m.matchOnLabel=m.matchOnDescription=m.matchOnDetail=m.sortByLabel=!1;let C=v.add(new ie);return C.value=this.doProvide(m,u,p),v.add(this.onDidActiveTextEditorControlChange(()=>{C.value=void 0,C.value=this.doProvide(m,u)})),v}doProvide(m,u,p){let v=new c,C=this.activeTextEditorControl;if(C&&this.canProvideWithTextEditor(C)){let y={editor:C},I=x0(C);if(I){let D=C.saveViewState()??void 0;v.add(I.onDidChangeCursorPosition(()=>{D=C.saveViewState()??void 0})),y.restoreViewState=()=>{if(D&&C===this.activeTextEditorControl)C.restoreViewState(D)},v.add(ss(u.onCancellationRequested)(()=>y.restoreViewState?.()))}v.add(E(()=>this.clearDecorations(C))),v.add(this.provideWithTextEditor(y,m,u,p))}else v.add(this.provideWithoutTextEditor(m,u));return v}canProvideWithTextEditor(m){return!0}gotoLocation({editor:m},u){if(m.setSelection(u.range,"code.jump"),m.revealRangeInCenter(u.range,0),!u.preserveFocus)m.focus();let p=this.getModel(m);if(p){let v=p.getLineContent(u.range.startLineNumber);br(e(1401,"Line {0}, column {1}: {2}",u.range.startLineNumber,u.range.startColumn,v))}}getModel(m){return Kg(m)?m.getModel()?.modified:m.getModel()}addDecorations(m,u){m.changeDecorations((p)=>{let v=[];if(this.rangeHighlightDecorationId)v.push(this.rangeHighlightDecorationId.overviewRulerDecorationId),v.push(this.rangeHighlightDecorationId.rangeHighlightId),this.rangeHighlightDecorationId=void 0;let C=[{range:u,options:{description:"quick-access-range-highlight",className:"rangeHighlight",isWholeLine:!0}},{range:u,options:{description:"quick-access-range-highlight-overview",overviewRuler:{color:nn(z_),position:Er.Full}}}],[y,I]=p.deltaDecorations(v,C);this.rangeHighlightDecorationId={rangeHighlightId:y,overviewRulerDecorationId:I}})}clearDecorations(m){let u=this.rangeHighlightDecorationId;if(u)m.changeDecorations((p)=>{p.deltaDecorations([u.overviewRulerDecorationId,u.rangeHighlightId],[])}),this.rangeHighlightDecorationId=void 0}}class cl extends sv{static{this.GO_TO_LINE_PREFIX=":"}static{this.GO_TO_OFFSET_PREFIX="::"}static{this.ZERO_BASED_OFFSET_STORAGE_KEY="gotoLine.useZeroBasedOffset"}constructor(){super({canAcceptInBackground:!0})}get useZeroBasedOffset(){return this.storageService.getBoolean(cl.ZERO_BASED_OFFSET_STORAGE_KEY,-1,!1)}set useZeroBasedOffset(m){this.storageService.store(cl.ZERO_BASED_OFFSET_STORAGE_KEY,m,-1,0)}provideWithoutTextEditor(m){let u=e(1402,"Open a text editor first to go to a line or an offset.");return m.items=[{label:u}],m.ariaLabel=u,n.None}provideWithTextEditor(m,u,p){let v=m.editor,C=new c;u.ariaLabel=e(1403,"Go to line. Type a line number, optionally followed by colon and column number."),C.add(u.onDidAccept((T)=>{let[K]=u.selectedItems;if(K){if(!K.lineNumber)return;if(this.gotoLocation(m,{range:this.toRange(K.lineNumber,K.column),keyMods:u.keyMods,preserveFocus:T.inBackground}),!T.inBackground)u.hide()}}));let y={iconClass:G.asClassName(b.indexZero),tooltip:e(1404,"Toggle Zero-Based Offset"),location:$f.Input,toggle:{checked:this.useZeroBasedOffset}},I=()=>{let T=u.value.trim().substring(cl.GO_TO_LINE_PREFIX.length),{inOffsetMode:K,lineNumber:q,column:Q,label:te}=this.parsePosition(v,T);if(u.buttons=K?[y]:[],u.items=[{lineNumber:q,column:Q,label:te,ariaLabel:q?e(1405,"Go to line {0}, column {1}. Press Enter to navigate.",q,Q||1):te}],!q){this.clearDecorations(v);return}let oe=this.toRange(q,Q);v.revealRangeInCenter(oe,0),this.addDecorations(v,oe)};C.add(u.onDidTriggerButton((T)=>{if(T===y)this.useZeroBasedOffset=T.toggle?.checked??!this.useZeroBasedOffset,I()})),I(),C.add(u.onDidChangeValue(()=>I()));let D=x0(v);if(D){if(D.getOptions().get(76).renderType===2)D.updateOptions({lineNumbers:"on"}),C.add(E(()=>D.updateOptions({lineNumbers:"relative"})))}return C}toRange(m=1,u=1){return{startLineNumber:m,startColumn:u,endLineNumber:m,endColumn:u}}parsePosition(m,u){let p=this.getModel(m);if(!p)return{label:e(1406,"Open a text editor first to go to a line or an offset.")};if(u.startsWith(":")){let v=parseInt(u.substring(1),10),C=p.getValueLength();if(isNaN(v))return{inOffsetMode:!0,label:this.useZeroBasedOffset?e(1407,"Type a character position to go to (from 0 to {0}).",C-1):e(1408,"Type a character position to go to (from 1 to {0}).",C)};else{let y=v<0;if(!this.useZeroBasedOffset)v-=Math.sign(v);if(y)v+=C;let I=p.getPositionAt(v),D=wt.visibleColumnFromColumn(p.getLineContent(I.lineNumber),I.column,p.getOptions().tabSize)+1;return{...I,inOffsetMode:!0,label:e(1409,"Press 'Enter' to go to line {0} at column {1}.",I.lineNumber,D)}}}else{let v=u.split(/,|:|#/),C=p.getLineCount(),y=parseInt(v[0]?.trim(),10);if(v.length<1||isNaN(y))return{label:e(1410,"Type a line number to go to (from 1 to {0}).",C)};y=y>=0?y:C+1+y,y=Math.min(Math.max(1,y),C);let I=p.getOptions().tabSize,D=p.getLineContent(y),T=wt.visibleColumnFromColumn(D,p.getLineMaxColumn(y),I)+1,K=parseInt(v[1]?.trim(),10);if(v.length<2||isNaN(K))return{lineNumber:y,column:1,label:v.length<2?e(1411,"Press 'Enter' to go to line {0} or enter colon : to add a column number.",y):e(1412,"Press 'Enter' to go to line {0} or enter a column number (from 1 to {1}).",y,T)};K=K>=0?K:T+K,K=Math.min(Math.max(1,K),T);let q=wt.columnFromVisibleColumn(D,K-1,I);return{lineNumber:y,column:q,label:e(1413,"Press 'Enter' to go to line {0} at column {1}.",y,K)}}}}var AR=function(m,u,p,v){var C=arguments.length,y=C<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,p):v,I;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")y=Reflect.decorate(m,u,p,v);else for(var D=m.length-1;D>=0;D--)if(I=m[D])y=(C<3?I(y):C>3?I(u,p,y):I(u,p))||y;return C>3&&y&&Object.defineProperty(u,p,y),y},KL=function(m,u){return function(p,v){u(p,v,m)}},Ys=class m extends cl{constructor(u,p){super();this.editorService=u,this.storageService=p,this.onDidActiveTextEditorControlChange=S.None}get activeTextEditorControl(){return this.editorService.getFocusedCodeEditor()??void 0}};Ys=AR([KL(0,ve),KL(1,_n)],Ys);class qp extends W{static{this.ID="editor.action.gotoLine"}constructor(){super({id:qp.ID,label:Af.gotoLineActionLabel,alias:"Go to Line/Column...",precondition:void 0,kbOpts:{kbExpr:r.focus,primary:2085,mac:{primary:293},weight:100}})}run(m){m.get(un).quickAccess.show(Ys.GO_TO_LINE_PREFIX)}}R(qp);it.as(js.Quickaccess).registerQuickAccessProvider({ctor:Ys,prefix:Ys.GO_TO_LINE_PREFIX,helpEntries:[{description:Af.gotoLineActionLabel,commandId:qp.ID}]});class Zp extends W{static{this.ID="editor.action.gotoOffset"}constructor(){super({id:Zp.ID,label:Af.gotoOffsetActionLabel,alias:"Go to Offset...",precondition:void 0})}run(m){m.get(un).quickAccess.show(Ys.GO_TO_OFFSET_PREFIX)}}R(Zp);it.as(js.Quickaccess).registerQuickAccessProvider({ctor:Ys,prefix:Ys.GO_TO_OFFSET_PREFIX,helpEntries:[{description:Af.gotoOffsetActionLabel,commandId:Zp.ID}]});var FR=s("editorOverviewRuler.bracketMatchForeground","#A0A0A0",e(855,"Overview ruler marker color for matching brackets."));class zL extends W{constructor(){super({id:"editor.action.jumpToBracket",label:h(857,"Go to Bracket"),precondition:void 0,kbOpts:{kbExpr:r.editorTextFocus,primary:3165,weight:100}})}run(m,u){vs.get(u)?.jumpToBracket()}}class UL extends W{constructor(){super({id:"editor.action.selectToBracket",label:h(858,"Select to Bracket"),precondition:void 0,metadata:{description:h(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(m,u,p){let v=!0;if(p&&p.selectBrackets===!1)v=!1;vs.get(u)?.selectToBracket(v)}}class $L extends W{constructor(){super({id:"editor.action.removeBrackets",label:h(860,"Remove Brackets"),precondition:void 0,kbOpts:{kbExpr:r.editorTextFocus,primary:2561,weight:100},canTriggerInlineEdits:!0})}run(m,u){vs.get(u)?.removeBrackets(this.id)}}class jL{constructor(m,u,p){this.position=m,this.brackets=u,this.options=p}}class vs extends n{static{this.ID="editor.contrib.bracketMatchingController"}static get(m){return m.getContribution(vs.ID)}constructor(m){super();this._editor=m,this._lastBracketsData=[],this._lastVersionId=0,this._decorations=this._editor.createDecorationsCollection(),this._updateBracketsSoon=this._register(new be(()=>this._updateBrackets(),50)),this._matchBrackets=this._editor.getOption(80),this._updateBracketsSoon.schedule(),this._register(m.onDidChangeCursorPosition((u)=>{if(this._matchBrackets==="never")return;this._updateBracketsSoon.schedule()})),this._register(m.onDidChangeModelContent((u)=>{this._updateBracketsSoon.schedule()})),this._register(m.onDidChangeModel((u)=>{this._lastBracketsData=[],this._updateBracketsSoon.schedule()})),this._register(m.onDidChangeModelLanguageConfiguration((u)=>{this._lastBracketsData=[],this._updateBracketsSoon.schedule()})),this._register(m.onDidChangeConfiguration((u)=>{if(u.hasChanged(80))this._matchBrackets=this._editor.getOption(80),this._decorations.clear(),this._lastBracketsData=[],this._lastVersionId=0,this._updateBracketsSoon.schedule()})),this._register(m.onDidBlurEditorWidget(()=>{this._updateBracketsSoon.schedule()})),this._register(m.onDidFocusEditorWidget(()=>{this._updateBracketsSoon.schedule()}))}jumpToBracket(){if(!this._editor.hasModel())return;let m=this._editor.getModel(),u=this._editor.getSelections().map((p)=>{let v=p.getStartPosition(),C=m.bracketPairs.matchBracket(v),y=null;if(C){if(C[0].containsPosition(v)&&!C[1].containsPosition(v))y=C[1].getStartPosition();else if(C[1].containsPosition(v))y=C[0].getStartPosition()}else{let I=m.bracketPairs.findEnclosingBrackets(v);if(I)y=I[1].getStartPosition();else{let D=m.bracketPairs.findNextBracket(v);if(D&&D.range)y=D.range.getStartPosition()}}if(y)return new A(y.lineNumber,y.column,y.lineNumber,y.column);return new A(v.lineNumber,v.column,v.lineNumber,v.column)});this._editor.setSelections(u),this._editor.revealRange(u[0])}selectToBracket(m){if(!this._editor.hasModel())return;let u=this._editor.getModel(),p=[];if(this._editor.getSelections().forEach((v)=>{let C=v.getStartPosition(),y=u.bracketPairs.matchBracket(C);if(!y){if(y=u.bracketPairs.findEnclosingBrackets(C),!y){let T=u.bracketPairs.findNextBracket(C);if(T&&T.range)y=u.bracketPairs.matchBracket(T.range.getStartPosition())}}let I=null,D=null;if(y){y.sort(t.compareRangesUsingStarts);let[T,K]=y;if(I=m?T.getStartPosition():T.getEndPosition(),D=m?K.getEndPosition():K.getStartPosition(),K.containsPosition(C)){let q=I;I=D,D=q}}if(I&&D)p.push(new A(I.lineNumber,I.column,D.lineNumber,D.column))}),p.length>0)this._editor.setSelections(p),this._editor.revealRange(p[0])}removeBrackets(m){if(!this._editor.hasModel())return;let u=this._editor.getModel();this._editor.getSelections().forEach((p)=>{let v=p.getPosition(),C=u.bracketPairs.matchBracket(v);if(!C)C=u.bracketPairs.findEnclosingBrackets(v);if(C)this._editor.pushUndoStop(),this._editor.executeEdits(m,[{range:C[0],text:""},{range:C[1],text:""}]),this._editor.pushUndoStop()})}static{this._DECORATION_OPTIONS_WITH_OVERVIEW_RULER=re.register({description:"bracket-match-overview",stickiness:1,className:"bracket-match",inlineClassName:"bracket-match-inline",overviewRuler:{color:nn(FR),position:Er.Center}})}static{this._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER=re.register({description:"bracket-match-no-overview",stickiness:1,className:"bracket-match",inlineClassName:"bracket-match-inline"})}_updateBrackets(){if(this._matchBrackets==="never")return;this._recomputeBrackets();let m=[],u=0;for(let p of this._lastBracketsData){let v=p.brackets;if(v)m[u++]={range:v[0],options:p.options},m[u++]={range:v[1],options:p.options}}this._decorations.set(m)}_recomputeBrackets(){if(!this._editor.hasModel()||!this._editor.hasWidgetFocus()){this._lastBracketsData=[],this._lastVersionId=0;return}let m=this._editor.getSelections();if(m.length>100){this._lastBracketsData=[],this._lastVersionId=0;return}let u=this._editor.getModel(),p=u.getVersionId(),v=[];if(this._lastVersionId===p)v=this._lastBracketsData;let C=[],y=0;for(let q=0,Q=m.length;q<Q;q++){let te=m[q];if(te.isEmpty())C[y++]=te.getStartPosition()}if(C.length>1)C.sort(o.compare);let I=[],D=0,T=0,K=v.length;for(let q=0,Q=C.length;q<Q;q++){let te=C[q];while(T<K&&v[T].position.isBefore(te))T++;if(T<K&&v[T].position.equals(te))I[D++]=v[T];else{let oe=u.bracketPairs.matchBracket(te,20),ne=vs._DECORATION_OPTIONS_WITH_OVERVIEW_RULER;if(!oe&&this._matchBrackets==="always")oe=u.bracketPairs.findEnclosingBrackets(te,20),ne=vs._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER;I[D++]=new jL(te,oe,ne)}}this._lastBracketsData=I,this._lastVersionId=p}}le(vs.ID,vs,1);R(UL);R(zL);R($L);Dn.appendMenuItem(a.MenubarGoMenu,{group:"5_infile_nav",command:{id:"editor.action.jumpToBracket",title:e(856,"Go to &&Bracket")},order:2});si((m,u)=>{let p=m.getColor(P$);if(p)u.addRule(`.monaco-editor .bracket-match-inline { color: ${p} !important; }`)});var Dt=new class{constructor(){this.QuickFix=new It("quickfix"),this.Refactor=new It("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 It("notebook"),this.Source=new It("source"),this.SourceOrganizeImports=this.Source.append("organizeImports"),this.SourceFixAll=this.Source.append("fixAll"),this.SurroundWith=this.Refactor.append("surround")}},Bi;(function(m){m.Refactor="refactor",m.RefactorPreview="refactor preview",m.Lightbulb="lightbulb",m.Default="other (default)",m.SourceAction="source action",m.QuickFix="quick fix action",m.FixAll="fix all",m.OrganizeImports="organize imports",m.AutoFix="auto fix",m.QuickFixHover="quick fix hover window",m.OnSave="save participants",m.ProblemsView="problems view"})(Bi||(Bi={}));function GL(m,u){if(m.include&&!m.include.intersects(u))return!1;if(m.excludes){if(m.excludes.some((p)=>ZL(u,p,m.include)))return!1}if(!m.includeSourceActions&&Dt.Source.contains(u))return!1;return!0}function qL(m,u){let p=u.kind?new It(u.kind):void 0;if(m.include){if(!p||!m.include.contains(p))return!1}if(m.excludes){if(p&&m.excludes.some((v)=>ZL(p,v,m.include)))return!1}if(!m.includeSourceActions){if(p&&Dt.Source.contains(p))return!1}if(m.onlyIncludePreferredActions){if(!u.isPreferred)return!1}return!0}function ZL(m,u,p){if(!u.contains(m))return!1;if(p&&u.contains(p))return!1;return!0}class pn{static fromUser(m,u){if(!m||typeof m!=="object")return new pn(u.kind,u.apply,!1);return new pn(pn.getKindFromUser(m,u.kind),pn.getApplyFromUser(m,u.apply),pn.getPreferredUser(m))}static getApplyFromUser(m,u){switch(typeof m.apply==="string"?m.apply.toLowerCase():""){case"first":return"first";case"never":return"never";case"ifsingle":return"ifSingle";default:return u}}static getKindFromUser(m,u){return typeof m.kind==="string"?new It(m.kind):u}static getPreferredUser(m){return typeof m.preferred==="boolean"?m.preferred:!1}constructor(m,u,p){this.kind=m,this.apply=u,this.preferred=p}}class IS{constructor(m,u,p){this.action=m,this.provider=u,this.highlightRange=p}async resolve(m){if(this.provider?.resolveCodeAction&&!this.action.edit){let u;try{u=await this.provider.resolveCodeAction(this.action,m)}catch(p){dt(p)}if(u)this.action.edit=u.edit}return this}}var Xp="editor.action.codeAction",Js="editor.action.quickFix",hl="editor.action.autoFix",Yp="editor.action.refactor",Jp="editor.action.sourceAction",mh="editor.action.organizeImports",fh="editor.action.fixAll",HR=1000;class ph extends n{static codeActionsPreferredComparator(m,u){if(m.isPreferred&&!u.isPreferred)return-1;else if(!m.isPreferred&&u.isPreferred)return 1;else return 0}static codeActionsComparator({action:m},{action:u}){if(m.isAI&&!u.isAI)return 1;else if(!m.isAI&&u.isAI)return-1;if($n(m.diagnostics))return $n(u.diagnostics)?ph.codeActionsPreferredComparator(m,u):-1;else if($n(u.diagnostics))return 1;else return ph.codeActionsPreferredComparator(m,u)}constructor(m,u,p){super();this.documentation=u,this._register(p),this.allActions=[...m].sort(ph.codeActionsComparator),this.validActions=this.allActions.filter(({action:v})=>!v.disabled)}get hasAutoFix(){return this.validActions.some(({action:m})=>!!m.kind&&Dt.QuickFix.contains(new It(m.kind))&&!!m.isPreferred)}get hasAIFix(){return this.validActions.some(({action:m})=>!!m.isAI)}get allAIFixes(){return this.validActions.every(({action:m})=>!!m.isAI)}}var XL={actions:[],documentation:void 0};async function Qs(m,u,p,v,C,y){let I=v.filter||{},D={...I,excludes:[...I.excludes||[],Dt.Notebook]},T={only:I.include?.value,trigger:v.type},K=new Jg(u,y),q=v.type===2,Q=WR(m,u,q?D:I),te=new c,oe=Q.map(async(ae)=>{let ge=setTimeout(()=>C.report(ae),1250);try{let Ie=await ae.provideCodeActions(u,p,T,K.token);if(K.token.isCancellationRequested)return Ie?.dispose(),XL;if(Ie)te.add(Ie);let ke=(Ie?.actions||[]).filter((Ve)=>Ve&&qL(I,Ve)),Oe=VR(ae,ke,I.include);return{actions:ke.map((Ve)=>new IS(Ve,ae)),documentation:Oe}}catch(Ie){if(Jn(Ie))throw Ie;return dt(Ie),XL}finally{clearTimeout(ge)}}),ne=m.onDidChange(()=>{let ae=m.all(u);if(!Ke(ae,Q))K.cancel()});try{let ae=await Promise.all(oe),ge=ae.map((Oe)=>Oe.actions).flat(),Ie=[...er(ae.map((Oe)=>Oe.documentation)),...BR(m,u,v,ge)],ke=new ph(ge,Ie,te);return te.add(ke),ke}catch(ae){throw te.dispose(),ae}finally{ne.dispose(),K.dispose()}}function WR(m,u,p){return m.all(u).filter((v)=>{if(!v.providedCodeActionKinds)return!0;return v.providedCodeActionKinds.some((C)=>GL(p,new It(C)))})}function*BR(m,u,p,v){if(u&&v.length){for(let C of m.all(u))if(C._getAdditionalMenuItems)yield*C._getAdditionalMenuItems?.({trigger:p.type,only:p.filter?.include?.value},v.map((y)=>y.action))}}function VR(m,u,p){if(!m.documentation)return;let v=m.documentation.map((C)=>({kind:new It(C.kind),command:C.command}));if(p){let C;for(let y of v)if(y.kind.contains(p)){if(!C)C=y;else if(C.kind.contains(y.kind))C=y}if(C)return C?.command}for(let C of u){if(!C.kind)continue;for(let y of v)if(y.kind.contains(new It(C.kind)))return y.command}return}var Gr;(function(m){m.OnSave="onSave",m.FromProblemsView="fromProblemsView",m.FromCodeActions="fromCodeActions",m.FromAILightbulb="fromAILightbulb",m.FromProblemsHover="fromProblemsHover"})(Gr||(Gr={}));async function YL(m,u,p,v,C=he.None){let y=m.get(Ol),I=m.get(Ae),D=m.get(Tn),T=m.get(ut),K=m.get(Ko);if(D.publicLog2("codeAction.applyCodeAction",{codeActionTitle:u.action.title,codeActionKind:u.action.kind,codeActionIsPreferred:!!u.action.isPreferred,reason:p}),K.playSignal(Ge.codeActionTriggered),await u.resolve(C),C.isCancellationRequested)return;if(u.action.edit?.edits.length){if(!(await y.apply(u.action.edit,{editor:v?.editor,label:u.action.title,quotableLabel:u.action.title,code:"undoredo.codeAction",respectAutoSaveConfig:p!==Gr.OnSave,showPreview:v?.preview,reason:Nn.codeAction({kind:u.action.kind,providerId:gg.fromExtensionId(u.provider?.extensionId)})})).isApplied)return}if(u.action.command)try{await I.executeCommand(u.action.command.id,...u.action.command.arguments||[])}catch(q){let Q=KR(q);T.error(typeof Q==="string"?Q:e(881,"An unknown error occurred while applying the code action"))}setTimeout(()=>K.playSignal(Ge.codeActionApplied),HR)}function KR(m){if(typeof m==="string")return m;else if(m instanceof Error&&typeof m.message==="string")return m.message;else return}we.registerCommand("_executeCodeActionProvider",async function(m,u,p,v,C){if(!(u instanceof V))throw tr();let{codeActionProvider:y}=m.get(j),I=m.get(bt).getModel(u);if(!I)throw tr();let D=A.isISelection(p)?A.liftSelection(p):t.isIRange(p)?I.validateRange(p):void 0;if(!D)throw tr();let T=typeof v==="string"?new It(v):void 0,K=await Qs(y,I,D,{type:1,triggerAction:Bi.Default,filter:{includeSourceActions:!0,include:T}},la.None,he.None),q=[],Q=Math.min(K.validActions.length,typeof C==="number"?C:0);for(let te=0;te<Q;te++)q.push(K.validActions[te].resolve(he.None));try{return await Promise.all(q),K.validActions.map((te)=>te.action)}finally{setTimeout(()=>K.dispose(),100)}});var zR=function(m,u,p,v){var C=arguments.length,y=C<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,p):v,I;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")y=Reflect.decorate(m,u,p,v);else for(var D=m.length-1;D>=0;D--)if(I=m[D])y=(C<3?I(y):C>3?I(u,p,y):I(u,p))||y;return C>3&&y&&Object.defineProperty(u,p,y),y},UR=function(m,u){return function(p,v){u(p,v,m)}},LS,Qp=class m{static{LS=this}static{this.codeActionCommands=[Yp,Xp,Jp,mh,fh]}constructor(u){this.keybindingService=u}getResolver(){let u=new Fn(()=>this.keybindingService.getKeybindings().filter((p)=>LS.codeActionCommands.indexOf(p.command)>=0).filter((p)=>p.resolvedKeybinding).map((p)=>{let v=p.commandArgs;if(p.command===mh)v={kind:Dt.SourceOrganizeImports.value};else if(p.command===fh)v={kind:Dt.SourceFixAll.value};return{resolvedKeybinding:p.resolvedKeybinding,...pn.fromUser(v,{kind:It.None,apply:"never"})}}));return(p)=>{if(p.kind)return this.bestKeybindingForCodeAction(p,u.value)?.resolvedKeybinding;return}}bestKeybindingForCodeAction(u,p){if(!u.kind)return;let v=new It(u.kind);return p.filter((C)=>C.kind.contains(v)).filter((C)=>{if(C.preferred)return u.isPreferred;return!0}).reduceRight((C,y)=>{if(!C)return y;return C.kind.contains(y.kind)?y:C},void 0)}};Qp=LS=zR([UR(0,ce)],Qp);s("symbolIcon.arrayForeground",Ee,e(1569,"The foreground color for array symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));s("symbolIcon.booleanForeground",Ee,e(1570,"The foreground color for boolean symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));s("symbolIcon.classForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},e(1571,"The foreground color for class symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));s("symbolIcon.colorForeground",Ee,e(1572,"The foreground color for color symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));s("symbolIcon.constantForeground",Ee,e(1573,"The foreground color for constant symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));s("symbolIcon.constructorForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},e(1574,"The foreground color for constructor symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));s("symbolIcon.enumeratorForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},e(1575,"The foreground color for enumerator symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));s("symbolIcon.enumeratorMemberForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},e(1576,"The foreground color for enumerator member symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));s("symbolIcon.eventForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},e(1577,"The foreground color for event symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));s("symbolIcon.fieldForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},e(1578,"The foreground color for field symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));s("symbolIcon.fileForeground",Ee,e(1579,"The foreground color for file symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));s("symbolIcon.folderForeground",Ee,e(1580,"The foreground color for folder symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));s("symbolIcon.functionForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},e(1581,"The foreground color for function symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));s("symbolIcon.interfaceForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},e(1582,"The foreground color for interface symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));s("symbolIcon.keyForeground",Ee,e(1583,"The foreground color for key symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));s("symbolIcon.keywordForeground",Ee,e(1584,"The foreground color for keyword symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));s("symbolIcon.methodForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},e(1585,"The foreground color for method symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));s("symbolIcon.moduleForeground",Ee,e(1586,"The foreground color for module symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));s("symbolIcon.namespaceForeground",Ee,e(1587,"The foreground color for namespace symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));s("symbolIcon.nullForeground",Ee,e(1588,"The foreground color for null symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));s("symbolIcon.numberForeground",Ee,e(1589,"The foreground color for number symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));s("symbolIcon.objectForeground",Ee,e(1590,"The foreground color for object symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));s("symbolIcon.operatorForeground",Ee,e(1591,"The foreground color for operator symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));s("symbolIcon.packageForeground",Ee,e(1592,"The foreground color for package symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));s("symbolIcon.propertyForeground",Ee,e(1593,"The foreground color for property symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));s("symbolIcon.referenceForeground",Ee,e(1594,"The foreground color for reference symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));s("symbolIcon.snippetForeground",Ee,e(1595,"The foreground color for snippet symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));s("symbolIcon.stringForeground",Ee,e(1596,"The foreground color for string symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));s("symbolIcon.structForeground",Ee,e(1597,"The foreground color for struct symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));s("symbolIcon.textForeground",Ee,e(1598,"The foreground color for text symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));s("symbolIcon.typeParameterForeground",Ee,e(1599,"The foreground color for type parameter symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));s("symbolIcon.unitForeground",Ee,e(1600,"The foreground color for unit symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));s("symbolIcon.variableForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},e(1601,"The foreground color for variable symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));var JL=Object.freeze({kind:It.Empty,title:e(917,"More Actions...")}),$R=Object.freeze([{kind:Dt.QuickFix,title:e(918,"Quick Fix")},{kind:Dt.RefactorExtract,title:e(919,"Extract"),icon:b.wrench},{kind:Dt.RefactorInline,title:e(920,"Inline"),icon:b.wrench},{kind:Dt.RefactorRewrite,title:e(921,"Rewrite"),icon:b.wrench},{kind:Dt.RefactorMove,title:e(922,"Move"),icon:b.wrench},{kind:Dt.SurroundWith,title:e(923,"Surround With"),icon:b.surroundWith},{kind:Dt.Source,title:e(924,"Source Action"),icon:b.symbolFile},JL]);function QL(m,u,p){if(!u)return m.map((y)=>({kind:"action",item:y,group:JL,disabled:!!y.action.disabled,label:y.action.disabled||y.action.title,canPreview:!!y.action.edit?.edits.length}));let v=$R.map((y)=>({group:y,actions:[]}));for(let y of m){let I=y.action.kind?new It(y.action.kind):It.None;for(let D of v)if(D.group.kind.contains(I)){D.actions.push(y);break}}let C=[];for(let y of v)if(y.actions.length){C.push({kind:"header",group:y.group});for(let I of y.actions){let D=y.group;C.push({kind:"action",item:I,group:I.action.isAI?{title:D.title,kind:D.kind,icon:b.sparkle}:D,label:I.action.title,disabled:!!I.action.disabled,keybinding:p(I.action)})}}return C}var ES=new N("supportedCodeAction",""),eE="_typescript.applyFixAllCodeAction";class tE extends n{constructor(m,u,p,v=250){super();this._editor=m,this._markerService=u,this._signalChange=p,this._delay=v,this._autoTriggerTimer=this._register(new qn),this.ignoreLightbulbOff=!1,this._register(this._markerService.onMarkerChanged((C)=>this._onMarkerChanges(C))),this._register(this._editor.onDidChangeCursorPosition(()=>this._tryAutoTrigger()))}trigger(m){let u=this._getRangeOfSelectionUnlessWhitespaceEnclosed(m);this._signalChange(u?{trigger:m,selection:u}:void 0)}_onMarkerChanges(m){let u=this._editor.getModel();if(u&&m.some((p)=>Vo(p,u.uri)))this._tryAutoTrigger()}_tryAutoTrigger(){this._autoTriggerTimer.cancelAndSet(()=>{this.trigger({type:2,triggerAction:Bi.Default})},this._delay)}_getRangeOfSelectionUnlessWhitespaceEnclosed(m){if(!this._editor.hasModel())return;let u=this._editor.getSelection();if(m.type===1)return u;let p=this._editor.getOption(73).enabled;if(p===as.Off&&!this.ignoreLightbulbOff)return;else if(p===as.Off||p===as.On)return u;else if(p===as.OnCode){if(!u.isEmpty())return u;let C=this._editor.getModel(),{lineNumber:y,column:I}=u.getPosition(),D=C.getLineContent(y);if(D.length===0)return;else if(I===1){if(/\s/.test(D[0]))return}else if(I===C.getLineMaxColumn(y)){if(/\s/.test(D[D.length-1]))return}else if(/\s/.test(D[I-2])&&/\s/.test(D[I-1]))return}return u}}var md;(function(m){m.Empty={type:0};class u{constructor(p,v,C){this.trigger=p,this.position=v,this._cancellablePromise=C,this.type=1,this.actions=C.catch((y)=>{if(Jn(y))return _h;throw y})}cancel(){this._cancellablePromise.cancel()}}m.Triggered=u})(md||(md={}));var _h=Object.freeze({allActions:[],validActions:[],dispose:()=>{},documentation:[],hasAutoFix:!1,hasAIFix:!1,allAIFixes:!1});class DS extends n{constructor(m,u,p,v,C,y){super();this._editor=m,this._registry=u,this._markerService=p,this._progressService=C,this._configurationService=y,this._codeActionOracle=this._register(new ie),this._state=md.Empty,this._onDidChangeState=this._register(new i),this.onDidChangeState=this._onDidChangeState.event,this.codeActionsDisposable=this._register(new ie),this._disposed=!1,this._ignoreLightbulbOff=!1,this._supportedCodeActions=ES.bindTo(v),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((I)=>{if(I.hasChanged(73))this._update()})),this._update()}dispose(){if(this._disposed)return;this._disposed=!0,super.dispose(),this.setState(md.Empty,!0)}_settingEnabledNearbyQuickfixes(){let m=this._editor?.getModel();return this._configurationService?this._configurationService.getValue("editor.codeActionWidget.includeNearbyQuickFixes",{resource:m?.uri}):!1}_update(){if(this._disposed)return;this._codeActionOracle.value=void 0,this.setState(md.Empty),this.codeActionsDisposable.clear();let m=this._editor.getModel();if(m&&this._registry.has(m)&&!this._editor.getOption(104)){let u=this._registry.all(m).flatMap((v)=>v.providedCodeActionKinds??[]);this._supportedCodeActions.set(u.join(" "));let p=new tE(this._editor,this._markerService,(v)=>{if(!v){this.setState(md.Empty);return}let C=v.selection.getStartPosition(),y=jt(async(T)=>{if(this._settingEnabledNearbyQuickfixes()&&v.trigger.type===1&&(v.trigger.triggerAction===Bi.QuickFix||v.trigger.filter?.include?.contains(Dt.QuickFix))){let q=new c,Q=!1;try{let te=q.add(await Qs(this._registry,m,v.selection,v.trigger,la.None,T)),oe=[...te.allActions];if(T.isCancellationRequested)return _h;let ne=te.validActions?.some((ge)=>ge.action.kind&&Dt.QuickFix.contains(new It(ge.action.kind))&&!ge.action.isAI),ae=this._markerService.read({resource:m.uri});if(ne){for(let Ie of te.validActions)if(Ie.action.command?.arguments?.some((ke)=>typeof ke==="string"&&ke.includes(eE)))Ie.action.diagnostics=[...ae.filter((ke)=>ke.relatedInformation)];let ge=this._setCodeActions({validActions:te.validActions,allActions:oe,documentation:te.documentation,hasAutoFix:te.hasAutoFix,hasAIFix:te.hasAIFix,allAIFixes:te.allAIFixes,dispose:()=>q.dispose()});return Q=!0,ge}else if(!ne){if(ae.length>0){let ge=v.selection.getPosition(),Ie=ge,ke=Number.MAX_VALUE,Oe=[...te.validActions];for(let Le of ae){let{endColumn:He,endLineNumber:Je,startLineNumber:tt}=Le;if(Je===ge.lineNumber||tt===ge.lineNumber){Ie=new o(Je,He);let ot={type:v.trigger.type,triggerAction:v.trigger.triggerAction,filter:{include:v.trigger.filter?.include?v.trigger.filter?.include:Dt.QuickFix},autoApply:v.trigger.autoApply,context:{notAvailableMessage:v.trigger.context?.notAvailableMessage||"",position:Ie}},qe=new A(Ie.lineNumber,Ie.column,Ie.lineNumber,Ie.column),nt=q.add(await Qs(this._registry,m,qe,ot,la.None,T));if(T.isCancellationRequested)return _h;if(nt.validActions.length!==0){for(let ft of nt.validActions)if(ft.action.command?.arguments?.some((st)=>typeof st==="string"&&st.includes(eE)))ft.action.diagnostics=[...ae.filter((st)=>st.relatedInformation)];if(te.allActions.length===0)oe.push(...nt.allActions);if(Math.abs(ge.column-He)<ke)Oe.unshift(...nt.validActions);else Oe.push(...nt.validActions)}ke=Math.abs(ge.column-He)}}let Ve=Oe.filter((Le,He,Je)=>Je.findIndex((tt)=>tt.action.title===Le.action.title)===He);Ve.sort((Le,He)=>{if(Le.action.isPreferred&&!He.action.isPreferred)return-1;else if(!Le.action.isPreferred&&He.action.isPreferred)return 1;else if(Le.action.isAI&&!He.action.isAI)return 1;else if(!Le.action.isAI&&He.action.isAI)return-1;else return 0});let Ue=this._setCodeActions({validActions:Ve,allActions:oe,documentation:te.documentation,hasAutoFix:te.hasAutoFix,hasAIFix:te.hasAIFix,allAIFixes:te.allAIFixes,dispose:()=>q.dispose()});return Q=!0,Ue}}}finally{if(!Q)q.dispose()}}if(v.trigger.type===1){let q=await Qs(this._registry,m,v.selection,v.trigger,la.None,T);if(T.isCancellationRequested)return q.dispose(),_h;return this._setCodeActions(q)}let K=await Qs(this._registry,m,v.selection,v.trigger,la.None,T);if(T.isCancellationRequested)return K.dispose(),_h;return this._setCodeActions(K)});if(v.trigger.type===1)this._progressService?.showWhile(y,250);let I=new md.Triggered(v.trigger,C,y),D=!1;if(this._state.type===1)D=this._state.trigger.type===1&&I.type===1&&I.trigger.type===2&&this._state.position!==I.position;if(!D)this.setState(I);else setTimeout(()=>{this.setState(I)},500)},void 0);p.ignoreLightbulbOff=this._ignoreLightbulbOff,this._codeActionOracle.value=p,this._codeActionOracle.value.trigger({type:2,triggerAction:Bi.Default})}else this._supportedCodeActions.reset()}_setCodeActions(m){return this.codeActionsDisposable.value=m,m}takeCodeActions(m){if(this.codeActionsDisposable.value!==m)return;return this.codeActionsDisposable.clearAndLeak(),m}trigger(m){this._codeActionOracle.value?.trigger(m),this.codeActionsDisposable.clear()}setState(m,u){if(m===this._state)return;if(this._state.type===1)this._state.cancel();if(this._state=m,!u&&!this._disposed)this._onDidChangeState.fire(m)}}var jR=function(m,u,p,v){var C=arguments.length,y=C<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,p):v,I;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")y=Reflect.decorate(m,u,p,v);else for(var D=m.length-1;D>=0;D--)if(I=m[D])y=(C<3?I(y):C>3?I(u,p,y):I(u,p))||y;return C>3&&y&&Object.defineProperty(u,p,y),y},GR=function(m,u){return function(p,v){u(p,v,m)}},ea,iE=$t("gutter-lightbulb",b.lightBulb,e(925,"Icon which spawns code actions menu from the gutter when there is no space in the editor.")),oE=$t("gutter-lightbulb-auto-fix",b.lightbulbAutofix,e(926,"Icon which spawns code actions menu from the gutter when there is no space in the editor and a quick fix is available.")),nE=$t("gutter-lightbulb-sparkle",b.lightbulbSparkle,e(927,"Icon which spawns code actions menu from the gutter when there is no space in the editor and an AI fix is available.")),rE=$t("gutter-lightbulb-aifix-auto-fix",b.lightbulbSparkleAutofix,e(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.")),sE=$t("gutter-lightbulb-sparkle-filled",b.sparkleFilled,e(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.")),wr;(function(m){m.Hidden={type:0};class u{constructor(p,v,C,y){this.actions=p,this.trigger=v,this.editorPosition=C,this.widgetPosition=y,this.type=1}}m.Showing=u})(wr||(wr={}));function RS(m,u,p,v,C=!1){if(m.validActions.length<=0)return;let y,I=!1;if(m.allAIFixes){if(y=C?sE:b.sparkleFilled,m.validActions.length===1)I=!0}else if(m.hasAutoFix)if(m.hasAIFix)y=C?rE:b.lightbulbSparkleAutofix;else y=C?oE:b.lightbulbAutofix;else if(m.hasAIFix)y=C?nE:b.lightbulbSparkle;else y=C?iE:b.lightBulb;let D;if(I)D=e(930,"Run: {0}",m.validActions[0].action.title);else if(m.hasAutoFix&&p)D=e(931,"Show Code Actions. Preferred Quick Fix Available ({0})",p);else if(!m.hasAutoFix&&v)D=e(932,"Show Code Actions ({0})",v);else D=e(933,"Show Code Actions");return{actions:m,trigger:u,icon:y,autoRun:I,title:D,isGutter:C}}var fd=class m extends n{static{ea=this}static{this.GUTTER_DECORATION=re.register({description:"codicon-gutter-lightbulb-decoration",glyphMarginClassName:G.asClassName(b.lightBulb),glyphMargin:{position:To.Left},stickiness:1})}static{this.ID="editor.contrib.lightbulbWidget"}static{this._posPref=[0]}static _computeLightBulbInfo(u,p,v,C){if(u.type!==1)return;return RS(u.actions,u.trigger,v,C,p)}constructor(u,p){super();this._editor=u,this._keybindingService=p,this.onlyWithEmptySelection=!1,this._onClick=this._register(new i),this.onClick=this._onClick.event,this._state=P(this,wr.Hidden),this._gutterState=P(this,wr.Hidden),this._combinedInfo=d(this,(v)=>{let C=this._gutterState.read(v);if(C.type===1)return ea._computeLightBulbInfo(C,!0,this._preferredKbLabel.read(v),this._quickFixKbLabel.read(v));let y=this._state.read(v);if(y.type===1)return ea._computeLightBulbInfo(y,!1,this._preferredKbLabel.read(v),this._quickFixKbLabel.read(v));return}),this._iconClasses=[],this.lightbulbClasses=["codicon-"+iE.id,"codicon-"+rE.id,"codicon-"+oE.id,"codicon-"+nE.id,"codicon-"+sE.id],this._preferredKbLabel=P(this,void 0),this._quickFixKbLabel=P(this,void 0),this.gutterDecoration=ea.GUTTER_DECORATION,this._domNode=g("div.lightBulbWidget"),this._domNode.role="listbox",this._register(Rt.ignoreTarget(this._domNode)),this._editor.addContentWidget(this),this._register(this._editor.onDidChangeModelContent((v)=>{let C=this._editor.getModel(),y=this._state.get();if(y.type!==1||!C||y.editorPosition.lineNumber>=C.getLineCount())this.hide();let I=this._gutterState.get();if(I.type!==1||!C||I.editorPosition.lineNumber>=C.getLineCount())this.gutterHide()})),this._register(f$(this._domNode,(v)=>{let C=this._state.get();if(C.type!==1)return;this._editor.focus(),v.preventDefault();let{top:y,height:I}=gt(this._domNode),D=this._editor.getOption(75),T=Math.floor(D/3);if(C.widgetPosition.position!==null&&C.widgetPosition.position.lineNumber<C.editorPosition.lineNumber)T+=D;this._onClick.fire({x:v.posx,y:y+I+T,actions:C.actions,trigger:C.trigger})})),this._register(l(this._domNode,"mouseenter",(v)=>{if((v.buttons&1)!==1)return;this.hide()})),this._register(S.runAndSubscribe(this._keybindingService.onDidUpdateKeybindings,()=>{this._preferredKbLabel.set(this._keybindingService.lookupKeybinding(hl)?.getLabel()??void 0,void 0),this._quickFixKbLabel.set(this._keybindingService.lookupKeybinding(Js)?.getLabel()??void 0,void 0)})),this._register(H((v)=>{let C=this._combinedInfo.read(v);this._updateLightBulbTitleAndIcon(C),this._updateGutterDecorationOptions(C)})),this._register(this._editor.onMouseDown(async(v)=>{if(!v.target.element||!this.lightbulbClasses.some((K)=>v.target.element&&v.target.element.classList.contains(K)))return;let C=this._gutterState.get();if(C.type!==1)return;this._editor.focus();let{top:y,height:I}=gt(v.target.element),D=this._editor.getOption(75),T=Math.floor(D/3);if(C.widgetPosition.position!==null&&C.widgetPosition.position.lineNumber<C.editorPosition.lineNumber)T+=D;this._onClick.fire({x:v.event.posx,y:y+I+T,actions:C.actions,trigger:C.trigger})}))}dispose(){if(super.dispose(),this._editor.removeContentWidget(this),this._gutterDecorationID)this._removeGutterDecoration(this._gutterDecorationID)}getId(){return"LightBulbWidget"}getDomNode(){return this._domNode}getPosition(){let u=this._state.get();return u.type===1?u.widgetPosition:null}update(u,p,v){if(u.validActions.length<=0)return this.gutterHide(),this.hide();if(this.onlyWithEmptySelection&&!this._editor.getSelection()?.isEmpty())return this.gutterHide(),this.hide();if(!this._editor.hasTextFocus())return this.gutterHide(),this.hide();if(this._editor.getOptions().get(73).enabled===as.Off)return this.gutterHide(),this.hide();let I=this._editor.getModel();if(!I)return this.gutterHide(),this.hide();let{lineNumber:D,column:T}=I.validatePosition(v),K=I.getOptions().tabSize,q=this._editor.getOptions().get(59),Q=I.getLineContent(D),te=Tf(Q,K),oe=q.spaceWidth*te>22,ne=(Ue)=>Ue>2&&this._editor.getTopForLineNumber(Ue)===this._editor.getTopForLineNumber(Ue-1),ae=this._editor.getLineDecorations(D),ge=!1;if(ae)for(let Ue of ae){let Le=Ue.options.glyphMarginClassName;if(Le&&!this.lightbulbClasses.some((He)=>Le.includes(He))){ge=!0;break}}let Ie=D,ke=1;if(!oe){let Ue=(Le)=>{let He=I.getLineContent(Le);return/^\s*$|^\s+/.test(He)||He.length<=ke};if(D>1&&!ne(D-1)){let Le=I.getLineCount(),He=D===Le,Je=D>1&&Ue(D-1),tt=!He&&Ue(D+1),ot=Ue(D),qe=!tt&&!Je;if(!tt&&!Je&&!ge)return this._gutterState.set(new wr.Showing(u,p,v,{position:{lineNumber:Ie,column:ke},preference:ea._posPref}),void 0),this.renderGutterLightbub(),this.hide();else if(Je||He||Je&&!ot)Ie-=1;else if(tt||qe&&ot)Ie+=1}else if(D===1&&(D===I.getLineCount()||!Ue(D+1)&&!Ue(D)))if(this._gutterState.set(new wr.Showing(u,p,v,{position:{lineNumber:Ie,column:ke},preference:ea._posPref}),void 0),ge)this.gutterHide();else return this.renderGutterLightbub(),this.hide();else if(D<I.getLineCount()&&!ne(D+1))Ie+=1;else if(T*q.spaceWidth<22)return this.hide();ke=/^\S\s*$/.test(I.getLineContent(Ie))?2:1}if(this._state.set(new wr.Showing(u,p,v,{position:{lineNumber:Ie,column:ke},preference:ea._posPref}),void 0),this._gutterDecorationID)this._removeGutterDecoration(this._gutterDecorationID),this.gutterHide();let Oe=u.validActions,Ve=u.validActions[0].action.kind;if(Oe.length!==1||!Ve){this._editor.layoutContentWidget(this);return}this._editor.layoutContentWidget(this)}hide(){if(this._state.get()===wr.Hidden)return;this._state.set(wr.Hidden,void 0),this._editor.layoutContentWidget(this)}gutterHide(){if(this._gutterState.get()===wr.Hidden)return;if(this._gutterDecorationID)this._removeGutterDecoration(this._gutterDecorationID);this._gutterState.set(wr.Hidden,void 0)}_updateLightBulbTitleAndIcon(u){if(this._domNode.classList.remove(...this._iconClasses),this._iconClasses=[],!u||u.isGutter)return;this._domNode.title=u.title,this._iconClasses=G.asClassNameArray(u.icon),this._domNode.classList.add(...this._iconClasses)}_updateGutterDecorationOptions(u){if(!u||!u.isGutter)return;this.gutterDecoration=re.register({description:"codicon-gutter-lightbulb-decoration",glyphMarginClassName:G.asClassName(u.icon),glyphMargin:{position:To.Left},stickiness:1})}renderGutterLightbub(){let u=this._editor.getSelection();if(!u)return;if(this._gutterDecorationID===void 0)this._addGutterDecoration(u.startLineNumber);else this._updateGutterDecoration(this._gutterDecorationID,u.startLineNumber)}_addGutterDecoration(u){this._editor.changeDecorations((p)=>{this._gutterDecorationID=p.addDecoration(new t(u,0,u,0),this.gutterDecoration)})}_removeGutterDecoration(u){this._editor.changeDecorations((p)=>{p.removeDecoration(u),this._gutterDecorationID=void 0})}_updateGutterDecoration(u,p){this._editor.changeDecorations((v)=>{v.changeDecoration(u,new t(p,0,p,0)),v.changeDecorationOptions(u,this.gutterDecoration)})}};fd=ea=jR([GR(1,ce)],fd);var qR=function(m,u,p,v){var C=arguments.length,y=C<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,p):v,I;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")y=Reflect.decorate(m,u,p,v);else for(var D=m.length-1;D>=0;D--)if(I=m[D])y=(C<3?I(y):C>3?I(u,p,y):I(u,p))||y;return C>3&&y&&Object.defineProperty(u,p,y),y},Cr=function(m,u){return function(p,v){u(p,v,m)}},ul,ZR="quickfix-edit-highlight",Zr=class m extends n{static{ul=this}static{this.ID="editor.contrib.codeActionController"}static get(u){return u.getContribution(ul.ID)}constructor(u,p,v,C,y,I,D,T,K,q,Q,te){super();this._commandService=D,this._configurationService=T,this._actionWidgetService=K,this._instantiationService=q,this._progressService=Q,this._keybindingService=te,this._activeCodeActions=this._register(new ie),this._showDisabled=!1,this._disposed=!1,this._onlyLightBulbWithEmptySelection=!1,this._lightBulbInfoObs=P(this,void 0),this._preferredKbLabel=P(this,void 0),this._quickFixKbLabel=P(this,void 0),this._editor=u,this._model=this._register(new DS(this._editor,y.codeActionProvider,p,v,I,T)),this._register(this._model.onDidChangeState((oe)=>this.update(oe))),this._register(S.runAndSubscribe(this._keybindingService.onDidUpdateKeybindings,()=>{this._preferredKbLabel.set(this._keybindingService.lookupKeybinding(hl)?.getLabel()??void 0,void 0),this._quickFixKbLabel.set(this._keybindingService.lookupKeybinding(Js)?.getLabel()??void 0,void 0)})),this._lightBulbWidget=new Fn(()=>{let oe=this._editor.getContribution(fd.ID);if(oe)this._register(oe.onClick((ne)=>this.showCodeActionsFromLightbulb(ne.actions,ne))),oe.onlyWithEmptySelection=this._onlyLightBulbWithEmptySelection;return oe}),this._resolver=C.createInstance(Qp),this._register(this._editor.onDidLayoutChange(()=>this._actionWidgetService.hide()))}dispose(){this._disposed=!0,super.dispose()}async showCodeActionsFromLightbulb(u,p){if(u.allAIFixes&&u.validActions.length===1){let v=u.validActions[0],C=v.action.command;if(C&&C.id==="inlineChat.start"){if(C.arguments&&C.arguments.length>=1&&C.arguments[0])C.arguments[0]={...C.arguments[0],autoSend:!1}}await this.applyCodeAction(v,!1,!1,Gr.FromAILightbulb);return}await this.showCodeActionList(u,p,{includeDisabledActions:!1,fromLightbulb:!0})}showCodeActions(u,p,v){return this.showCodeActionList(p,v,{includeDisabledActions:!1,fromLightbulb:!1})}manualTriggerAtCurrentPosition(u,p,v,C){if(!this._editor.hasModel())return;Oi.get(this._editor)?.closeMessage();let y=this._editor.getPosition();this._trigger({type:1,triggerAction:p,filter:v,autoApply:C,context:{notAvailableMessage:u,position:y}})}_trigger(u){return this._model.trigger(u)}async applyCodeAction(u,p,v,C){let y=this._progressService.show(!0,500);try{await this._instantiationService.invokeFunction(YL,u,C,{preview:v,editor:this._editor})}finally{if(p)this._trigger({type:2,triggerAction:Bi.QuickFix,filter:{}});y.done()}}hideLightBulbWidget(){this._lightBulbWidget.rawValue?.hide(),this._lightBulbWidget.rawValue?.gutterHide()}async update(u){if(u.type!==1){this.hideLightBulbWidget(),this._lightBulbInfoObs.set(void 0,void 0);return}let p;try{p=this._model.takeCodeActions(await u.actions)}catch(C){J(C);return}if(!p)return;if(this._disposed){p.dispose();return}if(this._editor.getSelection()?.startLineNumber!==u.position.lineNumber){p.dispose();return}if(this._lightBulbWidget.value?.update(p,u.trigger,u.position),this._lightBulbInfoObs.set(RS(p,u.trigger,this._preferredKbLabel.get(),this._quickFixKbLabel.get()),void 0),u.trigger.type===1){if(u.trigger.filter?.include){let y=this.tryGetValidActionToApply(u.trigger,p);if(y){try{this.hideLightBulbWidget(),await this.applyCodeAction(y,!1,!1,Gr.FromCodeActions)}finally{p.dispose()}return}if(u.trigger.context){let I=this.getInvalidActionThatWouldHaveBeenApplied(u.trigger,p);if(I&&I.action.disabled){Oi.get(this._editor)?.showMessage(I.action.disabled,u.trigger.context.position),p.dispose();return}}}let C=!!u.trigger.filter?.include;if(u.trigger.context){if(!p.allActions.length||!C&&!p.validActions.length){Oi.get(this._editor)?.showMessage(u.trigger.context.notAvailableMessage,u.trigger.context.position),this._activeCodeActions.value=p,p.dispose();return}}this._activeCodeActions.value=p,this.showCodeActionList(p,this.toCoords(u.position),{includeDisabledActions:C,fromLightbulb:!1})}else if(this._actionWidgetService.isVisible)p.dispose();else this._activeCodeActions.value=p}getInvalidActionThatWouldHaveBeenApplied(u,p){if(!p.allActions.length)return;if(u.autoApply==="first"&&p.validActions.length===0||u.autoApply==="ifSingle"&&p.allActions.length===1)return p.allActions.find(({action:v})=>v.disabled);return}tryGetValidActionToApply(u,p){if(!p.validActions.length)return;if(u.autoApply==="first"&&p.validActions.length>0||u.autoApply==="ifSingle"&&p.validActions.length===1)return p.validActions[0];return}static{this.DECORATION=re.register({description:"quickfix-highlight",className:ZR})}async showCodeActionList(u,p,v){let C=this._editor.createDecorationsCollection(),y=this._editor.getDomNode();if(!y)return;let I=v.includeDisabledActions&&(this._showDisabled||u.validActions.length===0)?u.allActions:u.validActions;if(!I.length)return;let D=o.isIPosition(p)?this.toCoords(p):p,T={onSelect:async(K,q)=>{this.applyCodeAction(K,!0,!!q,v.fromLightbulb?Gr.FromAILightbulb:Gr.FromCodeActions),this._actionWidgetService.hide(!1),C.clear()},onHide:(K)=>{this._editor?.focus(),C.clear()},onHover:async(K,q)=>{if(q.isCancellationRequested)return;let Q=!1,te=K.action.kind;if(te){let oe=new It(te);Q=[Dt.RefactorExtract,Dt.RefactorInline,Dt.RefactorRewrite,Dt.RefactorMove,Dt.Source].some((ae)=>ae.contains(oe))}return{canPreview:Q||!!K.action.edit?.edits.length}},onFocus:(K)=>{if(K&&K.action){let q=K.action.ranges,Q=K.action.diagnostics;if(C.clear(),q&&q.length>0){let te=Q&&Q?.length>1?Q.map((oe)=>({range:oe,options:ul.DECORATION})):q.map((oe)=>({range:oe,options:ul.DECORATION}));C.set(te)}else if(Q&&Q.length>0){let te=Q.map((ne)=>({range:ne,options:ul.DECORATION}));C.set(te);let oe=Q[0];if(oe.startLineNumber&&oe.startColumn){let ne=this._editor.getModel()?.getWordAtPosition({lineNumber:oe.startLineNumber,column:oe.startColumn})?.word;br(e(914,"Context: {0} at line {1} and column {2}.",ne,oe.startLineNumber,oe.startColumn))}}}else C.clear()}};this._actionWidgetService.show("codeActionWidget",!0,QL(I,this._shouldShowHeaders(),this._resolver.getResolver()),T,D,y,this._getActionBarActions(u,p,v))}toCoords(u){if(!this._editor.hasModel())return{x:0,y:0};this._editor.revealPosition(u,1),this._editor.render();let p=this._editor.getScrolledVisiblePosition(u),v=gt(this._editor.getDomNode()),C=v.left+p.left,y=v.top+p.top+p.height;return{x:C,y}}_shouldShowHeaders(){let u=this._editor?.getModel();return this._configurationService.getValue("editor.codeActionWidget.showHeaders",{resource:u?.uri})}_getActionBarActions(u,p,v){if(v.fromLightbulb)return[];let C=u.documentation.map((y)=>({id:y.id,label:y.title,tooltip:y.tooltip??"",class:void 0,enabled:!0,run:()=>this._commandService.executeCommand(y.id,...y.arguments??[])}));if(v.includeDisabledActions&&u.validActions.length>0&&u.allActions.length!==u.validActions.length)C.push(this._showDisabled?{id:"hideMoreActions",label:e(915,"Hide Disabled"),enabled:!0,tooltip:"",class:void 0,run:()=>(this._showDisabled=!1,this.showCodeActionList(u,p,v))}:{id:"showMoreActions",label:e(916,"Show Disabled"),enabled:!0,tooltip:"",class:void 0,run:()=>(this._showDisabled=!0,this.showCodeActionList(u,p,v))});return C}};Zr=ul=qR([Cr(1,fo),Cr(2,z),Cr(3,L),Cr(4,j),Cr(5,hs),Cr(6,Ae),Cr(7,X),Cr(8,yo),Cr(9,L),Cr(10,hs),Cr(11,ce)],Zr);si((m,u)=>{((C,y)=>{if(y)u.addRule(`.monaco-editor ${C} { background-color: ${y}; }`)})(".quickfix-edit-highlight",m.getColor(Ns));let v=m.getColor(kl);if(v)u.addRule(`.monaco-editor .quickfix-edit-highlight { border: 1px ${Ur(m.type)?"dotted":"solid"} ${v}; box-sizing: border-box; }`)});function bh(m){return _.regex(ES.keys()[0],new RegExp("(\\s|^)"+Ci(m.value)+"\\b"))}var kS={type:"object",defaultSnippets:[{body:{kind:""}}],properties:{kind:{type:"string",description:e(882,"Kind of the code action to run.")},apply:{type:"string",description:e(883,"Controls when the returned actions are applied."),default:"ifSingle",enum:["first","ifSingle","never"],enumDescriptions:[e(884,"Always apply the first returned code action."),e(885,"Apply the first returned code action if it is the only one."),e(886,"Do not apply the returned code actions.")]},preferred:{type:"boolean",default:!1,description:e(887,"Controls if only preferred code actions should be returned.")}}};function _d(m,u,p,v,C=Bi.Default){if(m.hasModel())Zr.get(m)?.manualTriggerAtCurrentPosition(u,C,p,v)}class TS extends zr{constructor(){super({id:Js,title:h(904,"Quick Fix..."),precondition:_.and(r.writable,r.hasCodeActionsProvider),icon:b.lightBulb,f1:!0,keybinding:{when:r.textInputFocus,primary:2137,weight:100},menu:{id:a.InlineChatEditorAffordance,group:"1_quickfix",order:0,when:_.and(r.writable,r.hasCodeActionsProvider)}})}runEditorCommand(m,u){return _d(u,e(888,"No code actions available"),void 0,void 0,Bi.QuickFix)}}class NS extends Vt{constructor(){super({id:Xp,precondition:_.and(r.writable,r.hasCodeActionsProvider),metadata:{description:"Trigger a code action",args:[{name:"args",schema:kS}]}})}runEditorCommand(m,u,p){let v=pn.fromUser(p,{kind:It.Empty,apply:"ifSingle"});return _d(u,typeof p?.kind==="string"?v.preferred?e(889,"No preferred code actions for '{0}' available",p.kind):e(890,"No code actions for '{0}' available",p.kind):v.preferred?e(891,"No preferred code actions available"):e(892,"No code actions available"),{include:v.kind,includeSourceActions:!0,onlyIncludePreferredActions:v.preferred},v.apply)}}class OS extends W{constructor(){super({id:Yp,label:h(905,"Refactor..."),precondition:_.and(r.writable,r.hasCodeActionsProvider),kbOpts:{kbExpr:r.textInputFocus,primary:3120,mac:{primary:1328},weight:100},contextMenuOpts:{group:"1_modification",order:2,when:_.and(r.writable,bh(Dt.Refactor))},metadata:{description:"Refactor...",args:[{name:"args",schema:kS}]}})}run(m,u,p){let v=pn.fromUser(p,{kind:Dt.Refactor,apply:"never"});return _d(u,typeof p?.kind==="string"?v.preferred?e(893,"No preferred refactorings for '{0}' available",p.kind):e(894,"No refactorings for '{0}' available",p.kind):v.preferred?e(895,"No preferred refactorings available"):e(896,"No refactorings available"),{include:Dt.Refactor.contains(v.kind)?v.kind:It.None,onlyIncludePreferredActions:v.preferred},v.apply,Bi.Refactor)}}class MS extends W{constructor(){super({id:Jp,label:h(906,"Source Action..."),precondition:_.and(r.writable,r.hasCodeActionsProvider),contextMenuOpts:{group:"1_modification",order:2.1,when:_.and(r.writable,bh(Dt.Source))},metadata:{description:"Source Action...",args:[{name:"args",schema:kS}]}})}run(m,u,p){let v=pn.fromUser(p,{kind:Dt.Source,apply:"never"});return _d(u,typeof p?.kind==="string"?v.preferred?e(897,"No preferred source actions for '{0}' available",p.kind):e(898,"No source actions for '{0}' available",p.kind):v.preferred?e(899,"No preferred source actions available"):e(900,"No source actions available"),{include:Dt.Source.contains(v.kind)?v.kind:It.None,includeSourceActions:!0,onlyIncludePreferredActions:v.preferred},v.apply,Bi.SourceAction)}}class PS extends W{constructor(){super({id:mh,label:h(907,"Organize Imports"),precondition:_.and(r.writable,bh(Dt.SourceOrganizeImports)),kbOpts:{kbExpr:r.textInputFocus,primary:1581,weight:100},metadata:{description:h(908,"Organize imports in the current file. Also called 'Optimize Imports' by some tools")}})}run(m,u){return _d(u,e(901,"No organize imports action available"),{include:Dt.SourceOrganizeImports,includeSourceActions:!0},"ifSingle",Bi.OrganizeImports)}}class AS extends W{constructor(){super({id:fh,label:h(909,"Fix All"),precondition:_.and(r.writable,bh(Dt.SourceFixAll))})}run(m,u){return _d(u,e(902,"No fix all action available"),{include:Dt.SourceFixAll,includeSourceActions:!0},"ifSingle",Bi.FixAll)}}class FS extends W{constructor(){super({id:hl,label:h(910,"Auto Fix..."),precondition:_.and(r.writable,bh(Dt.QuickFix)),kbOpts:{kbExpr:r.textInputFocus,primary:1625,mac:{primary:2649},weight:100}})}run(m,u){return _d(u,e(903,"No auto fixes available"),{include:Dt.QuickFix,onlyIncludePreferredActions:!0},"ifSingle",Bi.AutoFix)}}le(Zr.ID,Zr,3);le(fd.ID,fd,4);Ze(TS);R(OS);R(MS);R(PS);R(FS);R(AS);U(new NS);it.as(ao.Configuration).registerConfiguration({...Xv,properties:{"editor.codeActionWidget.showHeaders":{type:"boolean",scope:6,description:e(911,"Enable/disable showing group headers in the Code Action menu."),default:!0}}});it.as(ao.Configuration).registerConfiguration({...Xv,properties:{"editor.codeActionWidget.includeNearbyQuickFixes":{type:"boolean",scope:6,description:e(912,"Enable/disable showing nearest Quick Fix within a line when not currently on a diagnostic."),default:!0}}});it.as(ao.Configuration).registerConfiguration({...Xv,properties:{"editor.codeActions.triggerOnFocusChange":{type:"boolean",scope:6,markdownDescription:e(913,"Enable triggering {0} when {1} is set to {2}. Code Actions must be set to {3} to be triggered for window and focus changes.","`#editor.codeActionsOnSave#`","`#files.autoSave#`","`afterDelay`","`always`"),default:!1}}});var aE=function(m,u,p,v){var C=arguments.length,y=C<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,p):v,I;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")y=Reflect.decorate(m,u,p,v);else for(var D=m.length-1;D>=0;D--)if(I=m[D])y=(C<3?I(y):C>3?I(u,p,y):I(u,p))||y;return C>3&&y&&Object.defineProperty(u,p,y),y},vh=function(m,u){return function(p,v){u(p,v,m)}},em=class m{static{this.ID="editor.contrib.autoFormat"}constructor(u,p,v,C){this._editor=u,this._languageFeaturesService=p,this._workerService=v,this._accessibilitySignalService=C,this._disposables=new c,this._sessionDisposables=new c,this._disposables.add(p.onTypeFormattingEditProvider.onDidChange(this._update,this)),this._disposables.add(u.onDidChangeModel(()=>this._update())),this._disposables.add(u.onDidChangeModelLanguage(()=>this._update())),this._disposables.add(u.onDidChangeConfiguration((y)=>{if(y.hasChanged(65))this._update()})),this._update()}dispose(){this._disposables.dispose(),this._sessionDisposables.dispose()}_update(){if(this._sessionDisposables.clear(),!this._editor.getOption(65))return;if(!this._editor.hasModel())return;let u=this._editor.getModel(),[p]=this._languageFeaturesService.onTypeFormattingEditProvider.ordered(u);if(!p||!p.autoFormatTriggerCharacters)return;let v=new Oh;for(let C of p.autoFormatTriggerCharacters)v.add(C.charCodeAt(0));this._sessionDisposables.add(this._editor.onDidType((C)=>{let y=C.charCodeAt(C.length-1);if(v.has(y))this._trigger(String.fromCharCode(y))}))}_trigger(u){if(!this._editor.hasModel())return;if(this._editor.getSelections().length>1||!this._editor.getSelection().isEmpty())return;let p=this._editor.getModel(),v=this._editor.getPosition(),C=new Pe,y=this._editor.onDidChangeModelContent((I)=>{if(I.isFlush){C.cancel(),y.dispose();return}for(let D=0,T=I.changes.length;D<T;D++)if(I.changes[D].range.endLineNumber<=v.lineNumber){C.cancel(),y.dispose();return}});_k(this._workerService,this._languageFeaturesService,p,v,u,p.getFormattingOptions(),C.token).then((I)=>{if(C.token.isCancellationRequested)return;if($n(I))this._accessibilitySignalService.playSignal(Ge.format,{userGesture:!1}),tp.execute(this._editor,I,!0)}).finally(()=>{y.dispose()})}};em=aE([vh(1,j),vh(2,gi),vh(3,Ko)],em);var tm=class m{static{this.ID="editor.contrib.formatOnPaste"}constructor(u,p,v){this.editor=u,this._languageFeaturesService=p,this._instantiationService=v,this._callOnDispose=new c,this._callOnModel=new c,this._callOnDispose.add(u.onDidChangeConfiguration(()=>this._update())),this._callOnDispose.add(u.onDidChangeModel(()=>this._update())),this._callOnDispose.add(u.onDidChangeModelLanguage(()=>this._update())),this._callOnDispose.add(p.documentRangeFormattingEditProvider.onDidChange(this._update,this))}dispose(){this._callOnDispose.dispose(),this._callOnModel.dispose()}_update(){if(this._callOnModel.clear(),!this.editor.getOption(64))return;if(!this.editor.hasModel())return;if(!this._languageFeaturesService.documentRangeFormattingEditProvider.has(this.editor.getModel()))return;this._callOnModel.add(this.editor.onDidPaste(({range:u})=>this._trigger(u)))}_trigger(u){if(!this.editor.hasModel())return;if(this.editor.getSelections().length>1)return;this._instantiationService.invokeFunction(xk,this.editor,u,2,la.None,he.None,!1).catch(J)}};tm=aE([vh(1,j),vh(2,L)],tm);class dE extends W{constructor(){super({id:"editor.action.formatDocument",label:h(1072,"Format Document"),precondition:_.and(r.notInCompositeEditor,r.writable,r.hasDocumentFormattingProvider),kbOpts:{kbExpr:r.editorTextFocus,primary:1572,linux:{primary:3111},weight:100},contextMenuOpts:{group:"1_modification",order:1.3}})}async run(m,u){if(u.hasModel()){let p=m.get(L);await m.get(hs).showWhile(p.invokeFunction(Q$,u,1,la.None,he.None,!0),250)}}}class lE extends W{constructor(){super({id:"editor.action.formatSelection",label:h(1073,"Format Selection"),precondition:_.and(r.writable,r.hasDocumentSelectionFormattingProvider),kbOpts:{kbExpr:r.editorTextFocus,primary:Zt(2089,2084),weight:100},contextMenuOpts:{when:r.hasNonEmptySelection,group:"1_modification",order:1.31}})}async run(m,u){if(!u.hasModel())return;let p=m.get(L),v=u.getModel(),C=u.getSelections().map((I)=>I.isEmpty()?new t(I.startLineNumber,1,I.startLineNumber,v.getLineMaxColumn(I.startLineNumber)):I);await m.get(hs).showWhile(p.invokeFunction(xk,u,C,1,la.None,he.None,!0),250)}}le(em.ID,em,2);le(tm.ID,tm,2);R(dE);R(lE);we.registerCommand("editor.action.format",async(m)=>{let u=m.get(ve).getFocusedCodeEditor();if(!u||!u.hasModel())return;let p=m.get(Ae);if(u.getSelection().isEmpty())await p.executeCommand("editor.action.formatDocument");else await p.executeCommand("editor.action.formatSelection")});var im="editor.action.showHover",cE="editor.action.showDefinitionPreviewHover",hE="editor.action.hideHover",uE="editor.action.scrollUpHover",gE="editor.action.scrollDownHover",pE="editor.action.scrollLeftHover",mE="editor.action.scrollRightHover",fE="editor.action.pageUpHover",_E="editor.action.pageDownHover",bE="editor.action.goToTopHover",vE="editor.action.goToBottomHover",bd="editor.action.increaseHoverVerbosityLevel",SE=e(1160,"Increase Hover Verbosity Level"),vd="editor.action.decreaseHoverVerbosityLevel",wE=e(1161,"Decrease Hover Verbosity Level"),wh="editor.action.hideLongLineWarningHover";function HS(m,u){return!!m[u]}class om{constructor(m,u){if(this.target=m.target,this.isLeftClick=m.event.leftButton,this.isMiddleClick=m.event.middleButton,this.isRightClick=m.event.rightButton,this.mouseMiddleClickAction=u.mouseMiddleClickAction,this.hasTriggerModifier=HS(m.event,u.triggerModifier),this.isMiddleClick&&u.mouseMiddleClickAction==="ctrlLeftClick")this.isMiddleClick=!1,this.isLeftClick=!0,this.hasTriggerModifier=!0;this.hasSideBySideModifier=HS(m.event,u.triggerSideBySideModifier),this.isNoneOrSingleMouseDown=m.event.detail<=1}}class WS{constructor(m,u){this.keyCodeIsTriggerKey=m.keyCode===u.triggerKey,this.keyCodeIsSideBySideKey=m.keyCode===u.triggerSideBySideKey,this.hasTriggerModifier=HS(m,u.triggerModifier)}}class yh{constructor(m,u,p,v,C){this.mouseMiddleClickAction=C,this.triggerKey=m,this.triggerModifier=u,this.triggerSideBySideKey=p,this.triggerSideBySideModifier=v}equals(m){return this.triggerKey===m.triggerKey&&this.triggerModifier===m.triggerModifier&&this.triggerSideBySideKey===m.triggerSideBySideKey&&this.triggerSideBySideModifier===m.triggerSideBySideModifier&&this.mouseMiddleClickAction===m.mouseMiddleClickAction}}function CE(m,u){if(m==="altKey"){if(ue)return new yh(57,"metaKey",6,"altKey",u);return new yh(5,"ctrlKey",6,"altKey",u)}if(ue)return new yh(6,"altKey",57,"metaKey",u);return new yh(6,"altKey",5,"ctrlKey",u)}class Ss extends n{constructor(m,u){super();this._onMouseMoveOrRelevantKeyDown=this._register(new i),this.onMouseMoveOrRelevantKeyDown=this._onMouseMoveOrRelevantKeyDown.event,this._onExecute=this._register(new i),this.onExecute=this._onExecute.event,this._onCancel=this._register(new i),this.onCancel=this._onCancel.event,this._editor=m,this._extractLineNumberFromMouseEvent=u?.extractLineNumberFromMouseEvent??((p)=>p.target.position?p.target.position.lineNumber:0),this._opts=CE(this._editor.getOption(86),this._editor.getOption(87)),this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._lineNumberOnMouseDown=0,this._register(this._editor.onDidChangeConfiguration((p)=>{if(p.hasChanged(86)||p.hasChanged(87)){let v=CE(this._editor.getOption(86),this._editor.getOption(87));if(this._opts.equals(v))return;this._opts=v,this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._lineNumberOnMouseDown=0,this._onCancel.fire()}})),this._register(this._editor.onMouseMove((p)=>this._onEditorMouseMove(new om(p,this._opts)))),this._register(this._editor.onMouseDown((p)=>this._onEditorMouseDown(new om(p,this._opts)))),this._register(this._editor.onMouseUp((p)=>this._onEditorMouseUp(new om(p,this._opts)))),this._register(this._editor.onKeyDown((p)=>this._onEditorKeyDown(new WS(p,this._opts)))),this._register(this._editor.onKeyUp((p)=>this._onEditorKeyUp(new WS(p,this._opts)))),this._register(this._editor.onMouseDrag(()=>this._resetHandler())),this._register(this._editor.onDidChangeCursorSelection((p)=>this._onDidChangeCursorSelection(p))),this._register(this._editor.onDidChangeModel((p)=>this._resetHandler())),this._register(this._editor.onDidChangeModelContent(()=>this._resetHandler())),this._register(this._editor.onDidScrollChange((p)=>{if(p.scrollTopChanged||p.scrollLeftChanged)this._resetHandler()}))}_onDidChangeCursorSelection(m){if(m.selection&&m.selection.startColumn!==m.selection.endColumn)this._resetHandler()}_onEditorMouseMove(m){this._lastMouseMoveEvent=m,this._onMouseMoveOrRelevantKeyDown.fire([m,null])}_onEditorMouseDown(m){this._hasTriggerKeyOnMouseDown=m.hasTriggerModifier,this._lineNumberOnMouseDown=this._extractLineNumberFromMouseEvent(m)}_onEditorMouseUp(m){let u=this._extractLineNumberFromMouseEvent(m);if(!!this._lineNumberOnMouseDown&&this._lineNumberOnMouseDown===u&&(this._hasTriggerKeyOnMouseDown||m.isMiddleClick&&m.mouseMiddleClickAction==="openLink"))this._onExecute.fire(m)}_onEditorKeyDown(m){if(this._lastMouseMoveEvent&&(m.keyCodeIsTriggerKey||m.keyCodeIsSideBySideKey&&m.hasTriggerModifier))this._onMouseMoveOrRelevantKeyDown.fire([this._lastMouseMoveEvent,m]);else if(m.hasTriggerModifier)this._onCancel.fire()}_onEditorKeyUp(m){if(m.keyCodeIsTriggerKey)this._onCancel.fire()}_resetHandler(){this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._onCancel.fire()}}class Zo{constructor(m,u,p,v){this.isProviderFirst=m,this.parent=u,this.link=p,this._rangeCallback=v,this.id=jv.nextId()}get uri(){return this.link.uri}get range(){return this._range??this.link.targetSelectionRange??this.link.range}set range(m){this._range=m,this._rangeCallback(this)}get ariaMessage(){let m=this.parent.getPreview(this)?.preview(this.range);if(!m)return e(1145,"in {0} on line {1} at column {2}",mi(this.uri),this.range.startLineNumber,this.range.startColumn);else return e(1146,"{0} in {1} on line {2} at column {3}",m.value,mi(this.uri),this.range.startLineNumber,this.range.startColumn)}}class yE{constructor(m){this._modelReference=m}dispose(){this._modelReference.dispose()}preview(m,u=8){let p=this._modelReference.object.textEditorModel;if(!p)return;let{startLineNumber:v,startColumn:C,endLineNumber:y,endColumn:I}=m,D=p.getWordUntilPosition({lineNumber:v,column:C-u}),T=new t(v,D.startColumn,v,C),K=new t(y,I,y,1073741824),q=p.getValueInRange(T).replace(/^\s+/,""),Q=p.getValueInRange(m),te=p.getValueInRange(K).replace(/\s+$/,"");return{value:q+Q+te,highlight:{start:q.length,end:q.length+Q.length}}}}class ws{constructor(m,u){this.parent=m,this.uri=u,this.children=[],this._previews=new Wt}dispose(){De(this._previews.values()),this._previews.clear()}getPreview(m){return this._previews.get(m.uri)}get ariaMessage(){let m=this.children.length;if(m===1)return e(1147,"1 symbol in {0}, full path {1}",mi(this.uri),this.uri.fsPath);else return e(1148,"{0} symbols in {1}, full path {2}",m,mi(this.uri),this.uri.fsPath)}async resolve(m){if(this._previews.size!==0)return this;for(let u of this.children){if(this._previews.has(u.uri))continue;try{let p=await m.createModelReference(u.uri);this._previews.set(u.uri,new yE(p))}catch(p){J(p)}}return this}}class Zi{constructor(m,u){this.groups=[],this.references=[],this._onDidChangeReferenceRange=new i,this.onDidChangeReferenceRange=this._onDidChangeReferenceRange.event,this._links=m,this._title=u;let[p]=m;m.sort(Zi._compareReferences);let v;for(let C of m){if(!v||!vn.isEqual(v.uri,C.uri,!0))v=new ws(this,C.uri),this.groups.push(v);if(v.children.length===0||Zi._compareReferences(C,v.children[v.children.length-1])!==0){let y=new Zo(p===C,v,C,(I)=>this._onDidChangeReferenceRange.fire(I));this.references.push(y),v.children.push(y)}}}dispose(){De(this.groups),this._onDidChangeReferenceRange.dispose(),this.groups.length=0}clone(){return new Zi(this._links,this._title)}get title(){return this._title}get isEmpty(){return this.groups.length===0}get ariaMessage(){if(this.isEmpty)return e(1149,"No results found");else if(this.references.length===1)return e(1150,"Found 1 symbol in {0}",this.references[0].uri.fsPath);else if(this.groups.length===1)return e(1151,"Found {0} symbols in {1}",this.references.length,this.groups[0].uri.fsPath);else return e(1152,"Found {0} symbols in {1} files",this.references.length,this.groups.length)}nextOrPreviousReference(m,u){let{parent:p}=m,v=p.children.indexOf(m),C=p.children.length,y=p.parent.groups.length;if(y===1||u&&v+1<C||!u&&v>0){if(u)v=(v+1)%C;else v=(v+C-1)%C;return p.children[v]}if(v=p.parent.groups.indexOf(p),u)return v=(v+1)%y,p.parent.groups[v].children[0];else return v=(v+y-1)%y,p.parent.groups[v].children[p.parent.groups[v].children.length-1]}nearestReference(m,u){let p=this.references.map((v,C)=>({idx:C,prefixLen:ur(v.uri.toString(),m.toString()),offsetDist:Math.abs(v.range.startLineNumber-u.lineNumber)*100+Math.abs(v.range.startColumn-u.column)})).sort((v,C)=>{if(v.prefixLen>C.prefixLen)return-1;else if(v.prefixLen<C.prefixLen)return 1;else if(v.offsetDist<C.offsetDist)return-1;else if(v.offsetDist>C.offsetDist)return 1;else return 0})[0];if(p)return this.references[p.idx];return}referenceAt(m,u){for(let p of this.references)if(p.uri.toString()===m.toString()){if(t.containsPosition(p.range,u))return p}return}firstReference(){for(let m of this.references)if(m.isProviderFirst)return m;return this.references[0]}static _compareReferences(m,u){return vn.compare(m.uri,u.uri)||t.compareRangesUsingStarts(m.range,u.range)}}var sm=function(m,u,p,v){var C=arguments.length,y=C<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,p):v,I;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")y=Reflect.decorate(m,u,p,v);else for(var D=m.length-1;D>=0;D--)if(I=m[D])y=(C<3?I(y):C>3?I(u,p,y):I(u,p))||y;return C>3&&y&&Object.defineProperty(u,p,y),y},am=function(m,u){return function(p,v){u(p,v,m)}},BS,nm=class m{constructor(u){this._resolverService=u}hasChildren(u){if(u instanceof Zi)return!0;if(u instanceof ws)return!0;return!1}getChildren(u){if(u instanceof Zi)return u.groups;if(u instanceof ws)return u.resolve(this._resolverService).then((p)=>p.children);throw Error("bad tree")}};nm=sm([am(0,bn)],nm);class KS{getHeight(){return 23}getTemplateId(m){if(m instanceof ws)return xh.id;else return kh.id}}var rm=class m{constructor(u){this._keybindingService=u}getKeyboardNavigationLabel(u){if(u instanceof Zo){let p=u.parent.getPreview(u)?.preview(u.range);if(p)return p.value}return mi(u.uri)}};rm=sm([am(0,ce)],rm);class zS{getId(m){return m instanceof Zo?m.id:m.uri}}var VS=class m extends n{constructor(u,p){super();this._labelService=p;let v=document.createElement("div");v.classList.add("reference-file"),this.file=this._register(new sd(v,{supportHighlights:!0})),this.badge=this._register(new qg(w(v,g(".count")),{},i0)),u.appendChild(v)}set(u,p){let v=Ih(u.uri);this.file.setLabel(this._labelService.getUriBasenameLabel(u.uri),this._labelService.getUriLabel(v,{relative:!0}),{title:this._labelService.getUriLabel(u.uri),matches:p});let C=u.children.length;if(this.badge.setCount(C),C>1)this.badge.setTitleFormat(e(1139,"{0} references",C));else this.badge.setTitleFormat(e(1140,"{0} reference",C))}};VS=sm([am(1,Dl)],VS);var xh=class m{static{BS=this}static{this.id="FileReferencesRenderer"}constructor(u){this._instantiationService=u,this.templateId=BS.id}renderTemplate(u){return this._instantiationService.createInstance(VS,u)}renderElement(u,p,v){v.set(u.element,Su(u.filterData))}disposeTemplate(u){u.dispose()}};xh=BS=sm([am(0,L)],xh);class xE extends n{constructor(m){super();this.label=this._register(new od(m))}set(m,u){let p=m.parent.getPreview(m)?.preview(m.range);if(!p||!p.value)this.label.set(`${mi(m.uri)}:${m.range.startLineNumber+1}:${m.range.startColumn+1}`);else{let{value:v,highlight:C}=p;if(u&&!Ro.isDefault(u))this.label.element.classList.toggle("referenceMatch",!1),this.label.set(v,Su(u));else this.label.element.classList.toggle("referenceMatch",!0),this.label.set(v,[C])}}}class kh{constructor(){this.templateId=kh.id}static{this.id="OneReferenceRenderer"}renderTemplate(m){return new xE(m)}renderElement(m,u,p){p.set(m.element,m.filterData)}disposeTemplate(m){m.dispose()}}class US{getWidgetAriaLabel(){return e(1141,"References")}getAriaLabel(m){return m.ariaMessage}}var IE=function(m,u,p,v){var C=arguments.length,y=C<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,p):v,I;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")y=Reflect.decorate(m,u,p,v);else for(var D=m.length-1;D>=0;D--)if(I=m[D])y=(C<3?I(y):C>3?I(u,p,y):I(u,p))||y;return C>3&&y&&Object.defineProperty(u,p,y),y},Sd=function(m,u){return function(p,v){u(p,v,m)}};class jS{static{this.DecorationOptions=re.register({description:"reference-decoration",stickiness:1,className:"reference-decoration"})}constructor(m,u){this._editor=m,this._model=u,this._decorations=new Map,this._decorationIgnoreSet=new Set,this._callOnDispose=new c,this._callOnModelChange=new c,this._callOnDispose.add(this._editor.onDidChangeModel(()=>this._onModelChanged())),this._onModelChanged()}dispose(){this._callOnModelChange.dispose(),this._callOnDispose.dispose(),this.removeDecorations()}_onModelChanged(){this._callOnModelChange.clear();let m=this._editor.getModel();if(!m)return;for(let u of this._model.references)if(u.uri.toString()===m.uri.toString()){this._addDecorations(u.parent);return}}_addDecorations(m){if(!this._editor.hasModel())return;this._callOnModelChange.add(this._editor.getModel().onDidChangeDecorations(()=>this._onDecorationChanged()));let u=[],p=[];for(let v=0,C=m.children.length;v<C;v++){let y=m.children[v];if(this._decorationIgnoreSet.has(y.id))continue;if(y.uri.toString()!==this._editor.getModel().uri.toString())continue;u.push({range:y.range,options:jS.DecorationOptions}),p.push(v)}this._editor.changeDecorations((v)=>{let C=v.deltaDecorations([],u);for(let y=0;y<C.length;y++)this._decorations.set(C[y],m.children[p[y]])})}_onDecorationChanged(){let m=[],u=this._editor.getModel();if(!u)return;for(let[p,v]of this._decorations){let C=u.getDecorationRange(p);if(!C)continue;let y=!1;if(t.equalsRange(C,v.range))continue;if(t.spansMultipleLines(C))y=!0;else{let I=v.range.endColumn-v.range.startColumn,D=C.endColumn-C.startColumn;if(I!==D)y=!0}if(y)this._decorationIgnoreSet.add(v.id),m.push(p);else v.range=C}for(let p=0,v=m.length;p<v;p++)this._decorations.delete(m[p]);this._editor.removeDecorations(m)}removeDecorations(){this._editor.removeDecorations([...this._decorations.keys()]),this._decorations.clear()}}class GS{constructor(){this.ratio=0.7,this.heightInLines=18}static fromJSON(m){let u,p;try{let v=JSON.parse(m);u=v.ratio,p=v.heightInLines}catch{}return{ratio:u||0.7,heightInLines:p||18}}}class LE extends c0{}var $S=class m{constructor(u){this.labelService=u,this.disposables=new c}getDragURI(u){if(u instanceof ws)return u.uri.toString();else if(u instanceof Zo)return q$(u.uri,u.range).toString();return null}getDragLabel(u){if(u.length===0)return;return u.map((v)=>this.labelService.getUriBasenameLabel(v.uri)).join(", ")}onDragStart(u,p){if(!p.dataTransfer)return;let C=u.elements.map((y)=>this.getDragURI(y)).filter(Boolean);if(C.length)p.dataTransfer.setData(hc.RESOURCES,JSON.stringify(C)),p.dataTransfer.setData(hc.TEXT,C.join(`
|
|
31
|
-
`))}onDragOver(){return!1}drop(){}dispose(){this.disposables.dispose()}};$S=IE([Sd(0,Dl)],$S);var dm=class m extends al{constructor(u,p,v,C,y,I,D,T,K){super(u,{showFrame:!1,showArrow:!0,isResizeable:!0,isAccessible:!0,supportOnTitleClick:!0},I);this._defaultTreeKeyboardSupport=p,this.layoutData=v,this._textModelResolverService=y,this._instantiationService=I,this._peekViewService=D,this._uriLabel=T,this._keybindingService=K,this._disposeOnNewModel=new c,this._callOnDispose=new c,this._onDidSelectReference=this._callOnDispose.add(new i),this.onDidSelectReference=this._onDidSelectReference.event,this._dim=new Ye(0,0),this._isClosing=!1,this._applyTheme(C.getColorTheme()),this._callOnDispose.add(C.onDidColorThemeChange(this._applyTheme.bind(this))),this._peekViewService.addExclusiveWidget(u,this),this.create()}get isClosing(){return this._isClosing}dispose(){this._isClosing=!0,this.setModel(void 0),this._callOnDispose.dispose(),this._disposeOnNewModel.dispose(),De(this._preview),De(this._previewNotAvailableMessage),De(this._tree),De(this._previewModelReference),this._splitView.dispose(),super.dispose()}_applyTheme(u){let p=u.getColor(PL)||f.transparent;this.style({arrowColor:p,frameColor:p,headerBackgroundColor:u.getColor(ML)||f.transparent,primaryHeadingColor:u.getColor(zp),secondaryHeadingColor:u.getColor(Up)})}show(u){super.show(u,this.layoutData.heightInLines||18)}focusOnReferenceTree(){this._tree.domFocus()}focusOnPreviewEditor(){this._preview.focus()}isPreviewEditorFocused(){return this._preview.hasTextFocus()}_onTitleClick(u){if(this._preview&&this._preview.getModel())this._onDidSelectReference.fire({element:this._getFocusedReference(),kind:u.ctrlKey||u.metaKey||u.altKey?"side":"open",source:"title"})}_fillBody(u){this.setCssClass("reference-zone-widget"),this._messageContainer=w(u,g("div.messages")),qi(this._messageContainer),this._splitView=new Uv(u,{orientation:1}),this._previewContainer=w(u,g("div.preview.inline"));let p={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(Ji,this._previewContainer,p,{},this.editor),qi(this._previewContainer),this._previewNotAvailableMessage=this._instantiationService.createInstance(nd,e(1142,"no preview available"),Hi,nd.DEFAULT_CREATION_OPTIONS,null),this._treeContainer=w(u,g("div.ref-tree.inline"));let v={keyboardSupport:this._defaultTreeKeyboardSupport,accessibilityProvider:new US,keyboardNavigationLabelProvider:this._instantiationService.createInstance(rm),identityProvider:new zS,openOnSingleClick:!0,selectionNavigation:!0,overrideStyles:{listBackground:AL},dnd:this._instantiationService.createInstance($S)};if(this._defaultTreeKeyboardSupport)this._callOnDispose.add(mt(this._treeContainer,"keydown",(y)=>{if(y.equals(9))this._keybindingService.dispatchEvent(y,y.target),y.stopPropagation()},!0));this._tree=this._instantiationService.createInstance(LE,"ReferencesWidget",this._treeContainer,new KS,[this._instantiationService.createInstance(xh),this._instantiationService.createInstance(kh)],this._instantiationService.createInstance(nm),v),this._splitView.addView({onDidChange:S.None,element:this._previewContainer,minimumSize:200,maximumSize:Number.MAX_VALUE,layout:(y)=>{this._preview.layout({height:this._dim.height,width:y})}},zv.Distribute),this._splitView.addView({onDidChange:S.None,element:this._treeContainer,minimumSize:100,maximumSize:Number.MAX_VALUE,layout:(y)=>{this._treeContainer.style.height=`${this._dim.height}px`,this._treeContainer.style.width=`${y}px`,this._tree.layout(this._dim.height,y)}},zv.Distribute),this._disposables.add(this._splitView.onDidSashChange(()=>{if(this._dim.width)this.layoutData.ratio=this._splitView.getViewSize(0)/this._dim.width},void 0));let C=(y,I)=>{if(y instanceof Zo){if(I==="show")this._revealReference(y,!1);this._onDidSelectReference.fire({element:y,kind:I,source:"tree"})}};this._disposables.add(this._tree.onDidOpen((y)=>{if(y.sideBySide)C(y.element,"side");else if(y.editorOptions.pinned)C(y.element,"goto");else C(y.element,"show")})),qi(this._treeContainer)}_onWidth(u){if(this._dim)this._doLayoutBody(this._dim.height,u)}_doLayoutBody(u,p){super._doLayoutBody(u,p),this._dim=new Ye(p,u),this.layoutData.heightInLines=this._viewZone?this._viewZone.heightInLines:this.layoutData.heightInLines,this._splitView.layout(p),this._splitView.resizeView(0,p*this.layoutData.ratio)}setSelection(u){return this._revealReference(u,!0).then(()=>{if(!this._model)return;this._tree.setSelection([u]),this._tree.setFocus([u])})}setModel(u){if(this._disposeOnNewModel.clear(),this._model=u,this._model)return this._onNewModel();return Promise.resolve()}_onNewModel(){if(!this._model)return Promise.resolve(void 0);if(this._model.isEmpty)return this.setTitle(""),this._messageContainer.innerText=e(1143,"No results"),pr(this._messageContainer),Promise.resolve(void 0);return qi(this._messageContainer),this._decorationsManager=new jS(this._preview,this._model),this._disposeOnNewModel.add(this._decorationsManager),this._disposeOnNewModel.add(this._model.onDidChangeReferenceRange((u)=>this._tree.rerender(u))),this._disposeOnNewModel.add(this._preview.onMouseDown((u)=>{let{event:p,target:v}=u;if(p.detail!==2)return;let C=this._getFocusedReference();if(!C)return;this._onDidSelectReference.fire({element:{uri:C.uri,range:v.range},kind:p.ctrlKey||p.metaKey||p.altKey?"side":"open",source:"editor"})})),this.container.classList.add("results-loaded"),pr(this._treeContainer),pr(this._previewContainer),this._splitView.layout(this._dim.width),this.focusOnReferenceTree(),this._tree.setInput(this._model.groups.length===1?this._model.groups[0]:this._model)}_getFocusedReference(){let[u]=this._tree.getFocus();if(u instanceof Zo)return u;else if(u instanceof ws){if(u.children.length>0)return u.children[0]}return}async revealReference(u){await this._revealReference(u,!1),this._onDidSelectReference.fire({element:u,kind:"goto",source:"tree"})}async _revealReference(u,p){if(this._revealedReference===u)return;if(this._revealedReference=u,u.uri.scheme!==ee.inMemory)this.setTitle(y$(u.uri),this._uriLabel.getUriLabel(Ih(u.uri)));else this.setTitle(e(1144,"References"));let v=this._textModelResolverService.createModelReference(u.uri);if(this._tree.getInput()===u.parent)this._tree.reveal(u);else{if(p)this._tree.reveal(u.parent);await this._tree.expand(u.parent),this._tree.reveal(u)}let C=await v;if(!this._model){C.dispose();return}De(this._previewModelReference);let y=C.object;if(y){let I=this._preview.getModel()===y.textEditorModel?0:1,D=t.lift(u.range).collapseToStart();this._previewModelReference=C,this._preview.setModel(y.textEditorModel),this._preview.setSelection(D),this._preview.revealRangeInCenter(D,I)}else this._preview.setModel(this._previewNotAvailableMessage),C.dispose()}};dm=IE([Sd(3,Ne),Sd(4,bn),Sd(5,L),Sd(6,SS),Sd(7,Dl),Sd(8,ce)],dm);var YR=function(m,u,p,v){var C=arguments.length,y=C<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,p):v,I;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")y=Reflect.decorate(m,u,p,v);else for(var D=m.length-1;D>=0;D--)if(I=m[D])y=(C<3?I(y):C>3?I(u,p,y):I(u,p))||y;return C>3&&y&&Object.defineProperty(u,p,y),y},gl=function(m,u){return function(p,v){u(p,v,m)}},lm,wd=new N("referenceSearchVisible",!1,e(1136,"Whether reference peek is visible, like 'Peek References' or 'Peek Definition'")),ru=class m{static{lm=this}static{this.ID="editor.contrib.referencesController"}static get(u){return u.getContribution(lm.ID)}constructor(u,p,v,C,y,I,D,T){this._defaultTreeKeyboardSupport=u,this._editor=p,this._editorService=C,this._notificationService=y,this._instantiationService=I,this._storageService=D,this._configurationService=T,this._disposables=new c,this._requestIdPool=0,this._ignoreModelChangeEvent=!1,this._referenceSearchVisible=wd.bindTo(v)}dispose(){this._referenceSearchVisible.reset(),this._disposables.dispose(),this._widget?.dispose(),this._model?.dispose(),this._widget=void 0,this._model=void 0}toggleWidget(u,p,v){let C;if(this._widget)C=this._widget.position;if(this.closeWidget(),!!C&&u.containsPosition(C))return;this._peekMode=v,this._referenceSearchVisible.set(!0),this._disposables.add(this._editor.onDidChangeModelLanguage(()=>{this.closeWidget()})),this._disposables.add(this._editor.onDidChangeModel(()=>{if(!this._ignoreModelChangeEvent)this.closeWidget()}));let y="peekViewLayout",I=GS.fromJSON(this._storageService.get(y,0,"{}"));this._widget=this._instantiationService.createInstance(dm,this._editor,this._defaultTreeKeyboardSupport,I),this._widget.setTitle(e(1137,"Loading...")),this._widget.show(u),this._disposables.add(this._widget.onDidClose(()=>{if(p.cancel(),this._widget){if(this._storageService.store(y,JSON.stringify(this._widget.layoutData),0,1),!this._widget.isClosing)this.closeWidget();this._widget=void 0}else this.closeWidget()})),this._disposables.add(this._widget.onDidSelectReference((T)=>{let{element:K,kind:q}=T;if(!K)return;switch(q){case"open":if(T.source!=="editor"||!this._configurationService.getValue("editor.stablePeek"))this.openReference(K,!1,!1);break;case"side":this.openReference(K,!0,!1);break;case"goto":if(v)this._gotoReference(K,!0);else this.openReference(K,!1,!0);break}}));let D=++this._requestIdPool;p.then((T)=>{if(D!==this._requestIdPool||!this._widget){T.dispose();return}return this._model?.dispose(),this._model=T,this._widget.setModel(this._model).then(()=>{if(this._widget&&this._model&&this._editor.hasModel()){if(!this._model.isEmpty)this._widget.setMetaTitle(e(1138,"{0} ({1})",this._model.title,this._model.references.length));else this._widget.setMetaTitle("");let K=this._editor.getModel().uri,q=new o(u.startLineNumber,u.startColumn),Q=this._model.nearestReference(K,q);if(Q)return this._widget.setSelection(Q).then(()=>{if(this._widget&&this._editor.getOption(99)==="editor")this._widget.focusOnPreviewEditor()})}return})},(T)=>{this._notificationService.error(T)})}changeFocusBetweenPreviewAndReferences(){if(!this._widget)return;if(this._widget.isPreviewEditorFocused())this._widget.focusOnReferenceTree();else this._widget.focusOnPreviewEditor()}async goToNextOrPreviousReference(u){if(!this._editor.hasModel()||!this._model||!this._widget)return;let p=this._widget.position;if(!p)return;let v=this._model.nearestReference(this._editor.getModel().uri,p);if(!v)return;let C=this._model.nextOrPreviousReference(v,u),y=this._editor.hasTextFocus(),I=this._widget.isPreviewEditorFocused();if(await this._widget.setSelection(C),await this._gotoReference(C,!1),y)this._editor.focus();else if(this._widget&&I)this._widget.focusOnPreviewEditor()}async revealReference(u){if(!this._editor.hasModel()||!this._model||!this._widget)return;await this._widget.revealReference(u)}closeWidget(u=!0){if(this._widget?.dispose(),this._model?.dispose(),this._referenceSearchVisible.reset(),this._disposables.clear(),this._widget=void 0,this._model=void 0,u)this._editor.focus();this._requestIdPool+=1}_gotoReference(u,p){this._widget?.hide(),this._ignoreModelChangeEvent=!0;let v=t.lift(u.range).collapseToStart();return this._editorService.openCodeEditor({resource:u.uri,options:{selection:v,selectionSource:"code.jump",pinned:p}},this._editor).then((C)=>{if(this._ignoreModelChangeEvent=!1,!C||!this._widget){this.closeWidget();return}if(this._editor===C)this._widget.show(v),this._widget.focusOnReferenceTree();else{let y=lm.get(C),I=this._model.clone();this.closeWidget(),C.focus(),y?.toggleWidget(v,jt((D)=>Promise.resolve(I)),this._peekMode??!1)}},(C)=>{this._ignoreModelChangeEvent=!1,J(C)})}openReference(u,p,v){if(!p)this.closeWidget();let{uri:C,range:y}=u;this._editorService.openCodeEditor({resource:C,options:{selection:y,selectionSource:"code.jump",pinned:v}},this._editor,p)}};ru=lm=YR([gl(2,z),gl(3,ve),gl(4,ut),gl(5,L),gl(6,_n),gl(7,X)],ru);function Cd(m,u){let p=Vp(m);if(!p)return;let v=ru.get(p);if(v)u(v)}yn.registerCommandAndKeybindingRule({id:"togglePeekWidgetFocus",weight:100,primary:Zt(2089,60),when:_.or(wd,Ai.inPeekEditor),handler(m){Cd(m,(u)=>{u.changeFocusBetweenPreviewAndReferences()})}});yn.registerCommandAndKeybindingRule({id:"goToNextReference",weight:90,primary:62,secondary:[70],when:_.or(wd,Ai.inPeekEditor),handler(m){Cd(m,(u)=>{u.goToNextOrPreviousReference(!0)})}});yn.registerCommandAndKeybindingRule({id:"goToPreviousReference",weight:90,primary:1086,secondary:[1094],when:_.or(wd,Ai.inPeekEditor),handler(m){Cd(m,(u)=>{u.goToNextOrPreviousReference(!1)})}});we.registerCommandAlias("goToNextReferenceFromEmbeddedEditor","goToNextReference");we.registerCommandAlias("goToPreviousReferenceFromEmbeddedEditor","goToPreviousReference");we.registerCommandAlias("closeReferenceSearchEditor","closeReferenceSearch");we.registerCommand("closeReferenceSearch",(m)=>Cd(m,(u)=>u.closeWidget()));yn.registerKeybindingRule({id:"closeReferenceSearch",weight:-1,primary:9,secondary:[1033],when:_.and(Ai.inPeekEditor,_.not("config.editor.stablePeek"))});yn.registerKeybindingRule({id:"closeReferenceSearch",weight:250,primary:9,secondary:[1033],when:_.and(wd,_.not("config.editor.stablePeek"),_.or(r.editorTextFocus,Nf.negate()))});yn.registerCommandAndKeybindingRule({id:"revealReference",weight:200,primary:3,mac:{primary:3,secondary:[2066]},when:_.and(wd,yk,a0.negate(),l0.negate()),handler(m){let p=m.get(Ms).lastFocusedList?.getFocus();if(Array.isArray(p)&&p[0]instanceof Zo)Cd(m,(v)=>v.revealReference(p[0]))}});yn.registerCommandAndKeybindingRule({id:"openReferenceToSide",weight:100,primary:2051,mac:{primary:259},when:_.and(wd,yk,a0.negate(),l0.negate()),handler(m){let p=m.get(Ms).lastFocusedList?.getFocus();if(Array.isArray(p)&&p[0]instanceof Zo)Cd(m,(v)=>v.openReference(p[0],!0,!0))}});we.registerCommand("openReference",(m)=>{let p=m.get(Ms).lastFocusedList?.getFocus();if(Array.isArray(p)&&p[0]instanceof Zo)Cd(m,(v)=>v.openReference(p[0],!1,!0))});var EE=function(m,u,p,v){var C=arguments.length,y=C<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,p):v,I;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")y=Reflect.decorate(m,u,p,v);else for(var D=m.length-1;D>=0;D--)if(I=m[D])y=(C<3?I(y):C>3?I(u,p,y):I(u,p))||y;return C>3&&y&&Object.defineProperty(u,p,y),y},Mh=function(m,u){return function(p,v){u(p,v,m)}},XS=new N("hasSymbols",!1,e(1153,"Whether there are symbol locations that can be navigated via keyboard-only.")),Kh=Z("ISymbolNavigationService"),qS=class m{constructor(u,p,v,C){this._editorService=p,this._notificationService=v,this._keybindingService=C,this._currentModel=void 0,this._currentIdx=-1,this._ignoreEditorChange=!1,this._ctxHasSymbols=XS.bindTo(u)}reset(){this._ctxHasSymbols.reset(),this._currentState?.dispose(),this._currentMessage?.close(),this._currentModel=void 0,this._currentIdx=-1}put(u){let p=u.parent.parent;if(p.references.length<=1){this.reset();return}this._currentModel=p,this._currentIdx=p.references.indexOf(u),this._ctxHasSymbols.set(!0),this._showMessage();let v=new ZS(this._editorService),C=v.onDidChange((y)=>{if(this._ignoreEditorChange)return;let I=this._editorService.getActiveCodeEditor();if(!I)return;let D=I.getModel(),T=I.getPosition();if(!D||!T)return;let K=!1,q=!1;for(let Q of p.references)if(Vo(Q.uri,D.uri))K=!0,q=q||t.containsPosition(Q.range,T);else if(K)break;if(!K||!q)this.reset()});this._currentState=ro(v,C)}revealNext(u){if(!this._currentModel)return Promise.resolve();this._currentIdx+=1,this._currentIdx%=this._currentModel.references.length;let p=this._currentModel.references[this._currentIdx];return this._showMessage(),this._ignoreEditorChange=!0,this._editorService.openCodeEditor({resource:p.uri,options:{selection:t.collapseToStart(p.range),selectionRevealType:3}},u).finally(()=>{this._ignoreEditorChange=!1})}_showMessage(){this._currentMessage?.close();let u=this._keybindingService.lookupKeybinding("editor.gotoNextSymbolFromResult"),p=u?e(1154,"Symbol {0} of {1}, {2} for next",this._currentIdx+1,this._currentModel.references.length,u.getLabel()):e(1155,"Symbol {0} of {1}",this._currentIdx+1,this._currentModel.references.length);this._currentMessage=this._notificationService.status(p)}};qS=EE([Mh(0,z),Mh(1,ve),Mh(2,ut),Mh(3,ce)],qS);fe(Kh,qS,1);U(new class extends Vt{constructor(){super({id:"editor.gotoNextSymbolFromResult",precondition:XS,kbOpts:{weight:100,primary:70}})}runEditorCommand(m,u){return m.get(Kh).revealNext(u)}});yn.registerCommandAndKeybindingRule({id:"editor.gotoNextSymbolFromResult.cancel",weight:100,when:XS,primary:9,handler(m){m.get(Kh).reset()}});var ZS=class m{constructor(u){this._listener=new Map,this._disposables=new c,this._onDidChange=new i,this.onDidChange=this._onDidChange.event,this._disposables.add(u.onCodeEditorRemove(this._onDidRemoveEditor,this)),this._disposables.add(u.onCodeEditorAdd(this._onDidAddEditor,this)),u.listCodeEditors().forEach(this._onDidAddEditor,this)}dispose(){this._disposables.dispose(),this._onDidChange.dispose(),De(this._listener.values())}_onDidAddEditor(u){this._listener.set(u,ro(u.onDidChangeCursorPosition((p)=>this._onDidChange.fire({editor:u})),u.onDidChangeModelContent((p)=>this._onDidChange.fire({editor:u}))))}_onDidRemoveEditor(u){this._listener.get(u)?.dispose(),this._listener.delete(u)}};ZS=EE([Mh(0,ve)],ZS);function YS(m,u){if(u.uri.scheme===m.uri.scheme)return!0;if(cf(u.uri,ee.walkThroughSnippet,ee.vscodeChatCodeBlock,ee.vscodeChatCodeCompareBlock))return!1;return!0}async function Zh(m,u,p,v,C){let I=p.ordered(m,v).map((T)=>Promise.resolve(C(T,m,u)).then(void 0,(K)=>{dt(K);return})),D=await Promise.all(I);return er(D.flat()).filter((T)=>YS(m,T))}function aa(m,u,p,v,C){return Zh(u,p,m,v,(y,I,D)=>y.provideDefinition(I,D,C))}function cm(m,u,p,v,C){return Zh(u,p,m,v,(y,I,D)=>y.provideDeclaration(I,D,C))}function hm(m,u,p,v,C){return Zh(u,p,m,v,(y,I,D)=>y.provideImplementation(I,D,C))}function um(m,u,p,v,C){return Zh(u,p,m,v,(y,I,D)=>y.provideTypeDefinition(I,D,C))}function pl(m,u,p,v,C,y){return Zh(u,p,m,C,async(I,D,T)=>{let K=(await I.provideReferences(D,T,{includeDeclaration:!0},y))?.filter((Q)=>YS(D,Q));if(!v||!K||K.length!==2)return K;let q=(await I.provideReferences(D,T,{includeDeclaration:!1},y))?.filter((Q)=>YS(D,Q));if(q&&q.length===1)return q;return K})}async function Xr(m){let u=await m(),p=new Zi(u,""),v=p.references.map((C)=>C.link);return p.dispose(),v}fr("_executeDefinitionProvider",(m,u,p)=>{let v=m.get(j),C=aa(v.definitionProvider,u,p,!1,he.None);return Xr(()=>C)});fr("_executeDefinitionProvider_recursive",(m,u,p)=>{let v=m.get(j),C=aa(v.definitionProvider,u,p,!0,he.None);return Xr(()=>C)});fr("_executeTypeDefinitionProvider",(m,u,p)=>{let v=m.get(j),C=um(v.typeDefinitionProvider,u,p,!1,he.None);return Xr(()=>C)});fr("_executeTypeDefinitionProvider_recursive",(m,u,p)=>{let v=m.get(j),C=um(v.typeDefinitionProvider,u,p,!0,he.None);return Xr(()=>C)});fr("_executeDeclarationProvider",(m,u,p)=>{let v=m.get(j),C=cm(v.declarationProvider,u,p,!1,he.None);return Xr(()=>C)});fr("_executeDeclarationProvider_recursive",(m,u,p)=>{let v=m.get(j),C=cm(v.declarationProvider,u,p,!0,he.None);return Xr(()=>C)});fr("_executeReferenceProvider",(m,u,p)=>{let v=m.get(j),C=pl(v.referenceProvider,u,p,!1,!1,he.None);return Xr(()=>C)});fr("_executeReferenceProvider_recursive",(m,u,p)=>{let v=m.get(j),C=pl(v.referenceProvider,u,p,!1,!0,he.None);return Xr(()=>C)});fr("_executeImplementationProvider",(m,u,p)=>{let v=m.get(j),C=hm(v.implementationProvider,u,p,!1,he.None);return Xr(()=>C)});fr("_executeImplementationProvider_recursive",(m,u,p)=>{let v=m.get(j),C=hm(v.implementationProvider,u,p,!0,he.None);return Xr(()=>C)});Dn.appendMenuItem(a.EditorContext,{submenu:a.EditorContextPeek,title:e(1096,"Peek"),group:"navigation",order:100});class yd{static is(m){if(!m||typeof m!=="object")return!1;if(m instanceof yd)return!0;if(o.isIPosition(m.position)&&m.model)return!0;return!1}constructor(m,u){this.model=m,this.position=u}}class Qi extends zr{static{this._allSymbolNavigationCommands=new Map}static{this._activeAlternativeCommands=new Set}static all(){return Qi._allSymbolNavigationCommands.values()}static _patchConfig(m){let u={...m,f1:!0};if(u.menu){for(let p of Se.wrap(u.menu))if(p.id===a.EditorContext||p.id===a.EditorContextPeek)p.when=_.and(m.precondition,p.when)}return u}constructor(m,u){super(Qi._patchConfig(u));this.configuration=m,Qi._allSymbolNavigationCommands.set(u.id,this)}runEditorCommand(m,u,p,v){if(!u.hasModel())return Promise.resolve(void 0);let C=m.get(ut),y=m.get(ve),I=m.get(hs),D=m.get(Kh),T=m.get(j),K=m.get(L),q=u.getModel(),Q=u.getPosition(),te=yd.is(p)?p:new yd(q,Q),oe=new Yo(u,5),ne=vl(this._getLocationModel(T,te.model,te.position,oe.token),oe.token).then(async(ae)=>{if(!ae||oe.token.isCancellationRequested)return;Ln(ae.ariaMessage);let ge;if(ae.referenceAt(q.uri,Q)){let ke=this._getAlternativeCommand(u);if(ke!==void 0&&!Qi._activeAlternativeCommands.has(ke)&&Qi._allSymbolNavigationCommands.has(ke))ge=Qi._allSymbolNavigationCommands.get(ke)}let Ie=ae.references.length;if(Ie===0){if(!this.configuration.muteMessage){let ke=q.getWordAtPosition(Q);Oi.get(u)?.showMessage(this._getNoResultFoundMessage(ke),Q)}}else if(Ie===1&&ge)Qi._activeAlternativeCommands.add(this.desc.id),K.invokeFunction((ke)=>ge.runEditorCommand(ke,u,p,v).finally(()=>{Qi._activeAlternativeCommands.delete(this.desc.id)}));else return this._onResult(y,D,u,ae,v)},(ae)=>{C.error(ae)}).finally(()=>{oe.dispose()});return I.showWhile(ne,250),ne}async _onResult(m,u,p,v,C){let y=this._getGoToPreference(p);if(!(p instanceof Ji)&&(this.configuration.openInPeek||y==="peek"&&v.references.length>1))this._openInPeek(p,v,C);else{let I=v.firstReference(),D=v.references.length>1&&y==="gotoAndPeek",T=await this._openReference(p,m,I,this.configuration.openToSide,!D);if(D&&T)this._openInPeek(T,v,C);else v.dispose();if(y==="goto")u.put(I)}}async _openReference(m,u,p,v,C){let y=void 0;if(r$(p))y=p.targetSelectionRange;if(!y)y=p.range;if(!y)return;let I=await u.openCodeEditor({resource:p.uri,options:{selection:t.collapseToStart(y),selectionRevealType:3,selectionSource:"code.jump"}},m,v);if(!I)return;if(C){let D=I.getModel(),T=I.createDecorationsCollection([{range:y,options:{description:"symbol-navigate-action-highlight",className:"symbolHighlight"}}]);setTimeout(()=>{if(I.getModel()===D)T.clear()},350)}return I}_openInPeek(m,u,p){let v=ru.get(m);if(v&&m.hasModel())v.toggleWidget(p??m.getSelection(),jt((C)=>Promise.resolve(u)),this.configuration.openInPeek);else u.dispose()}}class ha extends Qi{async _getLocationModel(m,u,p,v){return new Zi(await aa(m.definitionProvider,u,p,!1,v),e(1097,"Definitions"))}_getNoResultFoundMessage(m){return m&&m.word?e(1098,"No definition found for '{0}'",m.word):e(1099,"No definition found")}_getAlternativeCommand(m){return m.getOption(67).alternativeDefinitionCommand}_getGoToPreference(m){return m.getOption(67).multipleDefinitions}}Ze(class m extends ha{static{this.id="editor.action.revealDefinition"}constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:m.id,title:{...h(1123,"Go to Definition"),mnemonicTitle:e(1100,"Go to &&Definition")},precondition:r.hasDefinitionProvider,keybinding:[{when:r.editorTextFocus,primary:70,weight:100},{when:_.and(r.editorTextFocus,bk),primary:2118,weight:100}],menu:[{id:a.EditorContext,group:"navigation",order:1.1},{id:a.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:2}]});we.registerCommandAlias("editor.action.goToDeclaration",m.id)}});Ze(class m extends ha{static{this.id="editor.action.revealDefinitionAside"}constructor(){super({openToSide:!0,openInPeek:!1,muteMessage:!1},{id:m.id,title:h(1124,"Open Definition to the Side"),precondition:_.and(r.hasDefinitionProvider,r.isInEmbeddedEditor.toNegated()),keybinding:[{when:r.editorTextFocus,primary:Zt(2089,70),weight:100},{when:_.and(r.editorTextFocus,bk),primary:Zt(2089,2118),weight:100}]});we.registerCommandAlias("editor.action.openDeclarationToTheSide",m.id)}});Ze(class m extends ha{static{this.id="editor.action.peekDefinition"}constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:m.id,title:h(1125,"Peek Definition"),precondition:_.and(r.hasDefinitionProvider,Ai.notInPeekEditor,r.isInEmbeddedEditor.toNegated()),keybinding:{when:r.editorTextFocus,primary:582,linux:{primary:3140},weight:100},menu:{id:a.EditorContextPeek,group:"peek",order:2}});we.registerCommandAlias("editor.action.previewDeclaration",m.id)}});class JS extends Qi{async _getLocationModel(m,u,p,v){return new Zi(await cm(m.declarationProvider,u,p,!1,v),e(1101,"Declarations"))}_getNoResultFoundMessage(m){return m&&m.word?e(1102,"No declaration found for '{0}'",m.word):e(1103,"No declaration found")}_getAlternativeCommand(m){return m.getOption(67).alternativeDeclarationCommand}_getGoToPreference(m){return m.getOption(67).multipleDeclarations}}Ze(class m extends JS{static{this.id="editor.action.revealDeclaration"}constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:m.id,title:{...h(1126,"Go to Declaration"),mnemonicTitle:e(1104,"Go to &&Declaration")},precondition:_.and(r.hasDeclarationProvider,r.isInEmbeddedEditor.toNegated()),menu:[{id:a.EditorContext,group:"navigation",order:1.3},{id:a.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:3}]})}_getNoResultFoundMessage(u){return u&&u.word?e(1105,"No declaration found for '{0}'",u.word):e(1106,"No declaration found")}});Ze(class m extends JS{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.peekDeclaration",title:h(1127,"Peek Declaration"),precondition:_.and(r.hasDeclarationProvider,Ai.notInPeekEditor,r.isInEmbeddedEditor.toNegated()),menu:{id:a.EditorContextPeek,group:"peek",order:3}})}});class QS extends Qi{async _getLocationModel(m,u,p,v){return new Zi(await um(m.typeDefinitionProvider,u,p,!1,v),e(1107,"Type Definitions"))}_getNoResultFoundMessage(m){return m&&m.word?e(1108,"No type definition found for '{0}'",m.word):e(1109,"No type definition found")}_getAlternativeCommand(m){return m.getOption(67).alternativeTypeDefinitionCommand}_getGoToPreference(m){return m.getOption(67).multipleTypeDefinitions}}Ze(class m extends QS{static{this.ID="editor.action.goToTypeDefinition"}constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:m.ID,title:{...h(1128,"Go to Type Definition"),mnemonicTitle:e(1110,"Go to &&Type Definition")},precondition:r.hasTypeDefinitionProvider,keybinding:{when:r.editorTextFocus,primary:0,weight:100},menu:[{id:a.EditorContext,group:"navigation",order:1.4},{id:a.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:3}]})}});Ze(class m extends QS{static{this.ID="editor.action.peekTypeDefinition"}constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:m.ID,title:h(1129,"Peek Type Definition"),precondition:_.and(r.hasTypeDefinitionProvider,Ai.notInPeekEditor,r.isInEmbeddedEditor.toNegated()),menu:{id:a.EditorContextPeek,group:"peek",order:4}})}});class iw extends Qi{async _getLocationModel(m,u,p,v){return new Zi(await hm(m.implementationProvider,u,p,!1,v),e(1111,"Implementations"))}_getNoResultFoundMessage(m){return m&&m.word?e(1112,"No implementation found for '{0}'",m.word):e(1113,"No implementation found")}_getAlternativeCommand(m){return m.getOption(67).alternativeImplementationCommand}_getGoToPreference(m){return m.getOption(67).multipleImplementations}}Ze(class m extends iw{static{this.ID="editor.action.goToImplementation"}constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:m.ID,title:{...h(1130,"Go to Implementations"),mnemonicTitle:e(1114,"Go to &&Implementations")},precondition:r.hasImplementationProvider,keybinding:{when:r.editorTextFocus,primary:2118,weight:100},menu:[{id:a.EditorContext,group:"navigation",order:1.45},{id:a.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:4}]})}});Ze(class m extends iw{static{this.ID="editor.action.peekImplementation"}constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:m.ID,title:h(1131,"Peek Implementations"),precondition:_.and(r.hasImplementationProvider,Ai.notInPeekEditor,r.isInEmbeddedEditor.toNegated()),keybinding:{when:r.editorTextFocus,primary:3142,weight:100},menu:{id:a.EditorContextPeek,group:"peek",order:5}})}});class ow extends Qi{_getNoResultFoundMessage(m){return m?e(1115,"No references found for '{0}'",m.word):e(1116,"No references found")}_getAlternativeCommand(m){return m.getOption(67).alternativeReferenceCommand}_getGoToPreference(m){return m.getOption(67).multipleReferences}}Ze(class m extends ow{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:"editor.action.goToReferences",title:{...h(1132,"Go to References"),mnemonicTitle:e(1117,"Go to &&References")},precondition:_.and(r.hasReferenceProvider,Ai.notInPeekEditor,r.isInEmbeddedEditor.toNegated()),keybinding:{when:r.editorTextFocus,primary:1094,weight:100},menu:[{id:a.EditorContext,group:"navigation",order:1.45},{id:a.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:5}]})}async _getLocationModel(u,p,v,C){return new Zi(await pl(u.referenceProvider,p,v,!0,!1,C),e(1118,"References"))}});Ze(class m extends ow{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.referenceSearch.trigger",title:h(1133,"Peek References"),precondition:_.and(r.hasReferenceProvider,Ai.notInPeekEditor,r.isInEmbeddedEditor.toNegated()),menu:{id:a.EditorContextPeek,group:"peek",order:6}})}async _getLocationModel(u,p,v,C){return new Zi(await pl(u.referenceProvider,p,v,!1,!1,C),e(1119,"References"))}});class DE extends Qi{constructor(m,u,p){super(m,{id:"editor.action.goToLocation",title:h(1134,"Go to Any Symbol"),precondition:_.and(Ai.notInPeekEditor,r.isInEmbeddedEditor.toNegated())});this._references=u,this._gotoMultipleBehaviour=p}async _getLocationModel(m,u,p,v){return new Zi(this._references,e(1120,"Locations"))}_getNoResultFoundMessage(m){return m&&e(1121,"No results for '{0}'",m.word)||""}_getGoToPreference(m){return this._gotoMultipleBehaviour??m.getOption(67).multipleReferences}_getAlternativeCommand(){return}}we.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:V},{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(m,u,p,v,C,y,I)=>{Re(V.isUri(u)),Re(o.isIPosition(p)),Re(Array.isArray(v)),Re(typeof C>"u"||typeof C==="string"),Re(typeof I>"u"||typeof I==="boolean");let D=m.get(ve),T=await D.openCodeEditor({resource:u},D.getFocusedCodeEditor());if(ua(T))return T.setPosition(p),T.revealPositionInCenterIfOutsideViewport(p,0),T.invokeWithinContext((K)=>{let q=new class extends DE{_getNoResultFoundMessage(Q){return y||super._getNoResultFoundMessage(Q)}}({muteMessage:!Boolean(y),openInPeek:Boolean(I),openToSide:!1},v,C);K.get(L).invokeFunction(q.run.bind(q),T)})}});we.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:V},{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(m,u,p,v,C)=>{m.get(Ae).executeCommand("editor.action.goToLocations",u,p,v,C,void 0,!0)}});we.registerCommand({id:"editor.action.findReferences",handler:(m,u,p)=>{Re(V.isUri(u)),Re(o.isIPosition(p));let v=m.get(j),C=m.get(ve);return C.openCodeEditor({resource:u},C.getFocusedCodeEditor()).then((y)=>{if(!ua(y)||!y.hasModel())return;let I=ru.get(y);if(!I)return;let D=jt((K)=>pl(v.referenceProvider,y.getModel(),o.lift(p),!1,!1,K).then((q)=>new Zi(q,e(1122,"References")))),T=new t(p.lineNumber,p.column,p.lineNumber,p.column);return Promise.resolve(I.toggleWidget(T,D,!1))})}});we.registerCommandAlias("editor.action.showReferences","editor.action.peekLocations");var JR=function(m,u,p,v){var C=arguments.length,y=C<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,p):v,I;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")y=Reflect.decorate(m,u,p,v);else for(var D=m.length-1;D>=0;D--)if(I=m[D])y=(C<3?I(y):C>3?I(u,p,y):I(u,p))||y;return C>3&&y&&Object.defineProperty(u,p,y),y},nw=function(m,u){return function(p,v){u(p,v,m)}},Xh,wl=class m{static{Xh=this}static{this.ID="editor.contrib.gotodefinitionatposition"}static{this.MAX_SOURCE_PREVIEW_LINES=8}constructor(u,p,v,C){this.textModelResolverService=p,this.languageService=v,this.languageFeaturesService=C,this.toUnhook=new c,this.toUnhookForKeyboard=new c,this.currentWordAtPosition=null,this.previousPromise=null,this.editor=u,this.linkDecorations=this.editor.createDecorationsCollection();let y=new Ss(u);this.toUnhook.add(y),this.toUnhook.add(y.onMouseMoveOrRelevantKeyDown(([I,D])=>{this.startFindDefinitionFromMouse(I,D??void 0)})),this.toUnhook.add(y.onExecute((I)=>{if(this.isEnabled(I))this.gotoDefinition(I.target.position,I.hasSideBySideModifier).catch((D)=>{J(D)}).finally(()=>{this.removeLinkDecorations()})})),this.toUnhook.add(y.onCancel(()=>{this.removeLinkDecorations(),this.currentWordAtPosition=null}))}static get(u){return u.getContribution(Xh.ID)}async startFindDefinitionFromCursor(u){await this.startFindDefinition(u),this.toUnhookForKeyboard.add(this.editor.onDidChangeCursorPosition(()=>{this.currentWordAtPosition=null,this.removeLinkDecorations(),this.toUnhookForKeyboard.clear()})),this.toUnhookForKeyboard.add(this.editor.onKeyDown((p)=>{if(p)this.currentWordAtPosition=null,this.removeLinkDecorations(),this.toUnhookForKeyboard.clear()}))}startFindDefinitionFromMouse(u,p){if(u.target.type===9&&this.linkDecorations.length>0)return;if(!this.editor.hasModel()||!this.isEnabled(u,p)){this.currentWordAtPosition=null,this.removeLinkDecorations();return}let v=u.target.position;this.startFindDefinition(v)}async startFindDefinition(u){this.toUnhookForKeyboard.clear();let p=u?this.editor.getModel()?.getWordAtPosition(u):null;if(!p){this.currentWordAtPosition=null,this.removeLinkDecorations();return}if(this.currentWordAtPosition&&this.currentWordAtPosition.startColumn===p.startColumn&&this.currentWordAtPosition.endColumn===p.endColumn&&this.currentWordAtPosition.word===p.word)return;this.currentWordAtPosition=p;let v=new ep(this.editor,15);if(this.previousPromise)this.previousPromise.cancel(),this.previousPromise=null;this.previousPromise=jt((I)=>this.findDefinition(u,I));let C;try{C=await this.previousPromise}catch(I){J(I);return}if(!C||!C.length||!v.validate(this.editor)){this.removeLinkDecorations();return}let y=C[0].originSelectionRange?t.lift(C[0].originSelectionRange):new t(u.lineNumber,p.startColumn,u.lineNumber,p.endColumn);if(C.length>1){let I=y;for(let{originSelectionRange:D}of C)if(D)I=t.plusRange(I,D);this.addDecoration(I,new xn().appendText(e(1135,"Click to show {0} definitions.",C.length)))}else{let I=C[0];if(!I.uri)return;return this.textModelResolverService.createModelReference(I.uri).then((D)=>{if(!D.object||!D.object.textEditorModel){D.dispose();return}let{object:{textEditorModel:T}}=D,{startLineNumber:K}=I.range;if(K<1||K>T.getLineCount()){D.dispose();return}let q=this.getPreviewValue(T,K,I),Q=this.languageService.guessLanguageIdByFilepathOrFirstLine(T.uri);this.addDecoration(y,q?new xn().appendCodeblock(Q?Q:"",q):void 0),D.dispose()})}}getPreviewValue(u,p,v){let C=v.range;if(C.endLineNumber-C.startLineNumber>=Xh.MAX_SOURCE_PREVIEW_LINES)C=this.getPreviewRangeBasedOnIndentation(u,p);return C=u.validateRange(C),this.stripIndentationFromPreviewRange(u,p,C)}stripIndentationFromPreviewRange(u,p,v){let y=u.getLineFirstNonWhitespaceColumn(p);for(let D=p+1;D<v.endLineNumber;D++){let T=u.getLineFirstNonWhitespaceColumn(D);y=Math.min(y,T)}return u.getValueInRange(v).replace(new RegExp(`^\\s{${y-1}}`,"gm"),"").trim()}getPreviewRangeBasedOnIndentation(u,p){let v=u.getLineFirstNonWhitespaceColumn(p),C=Math.min(u.getLineCount(),p+Xh.MAX_SOURCE_PREVIEW_LINES),y=p+1;for(;y<C;y++){let I=u.getLineFirstNonWhitespaceColumn(y);if(v===I)break}return new t(p,1,y+1,1)}addDecoration(u,p){let v={range:u,options:{description:"goto-definition-link",inlineClassName:"goto-definition-link",hoverMessage:p}};this.linkDecorations.set([v])}removeLinkDecorations(){this.linkDecorations.clear()}isEnabled(u,p){return this.editor.hasModel()&&u.isLeftClick&&u.isNoneOrSingleMouseDown&&u.target.type===6&&!(u.target.detail.injectedText?.options instanceof pc)&&(u.hasTriggerModifier||(p?p.keyCodeIsTriggerKey:!1))&&this.languageFeaturesService.definitionProvider.has(this.editor.getModel())}findDefinition(u,p){let v=this.editor.getModel();if(!v)return Promise.resolve(null);return aa(this.languageFeaturesService.definitionProvider,v,u,!1,p)}async gotoDefinition(u,p){return this.editor.setPosition(u),this.editor.invokeWithinContext((v)=>{let C=!p&&this.editor.getOption(101)&&!this.isInPeekEditor(v);return new ha({openToSide:p,openInPeek:C,muteMessage:!0},{title:{value:"",original:""},id:"",precondition:void 0}).run(v)})}isInPeekEditor(u){let p=u.get(z);return Ai.inPeekEditor.getValue(p)}dispose(){this.toUnhook.dispose(),this.toUnhookForKeyboard.dispose()}};wl=Xh=JR([nw(1,bn),nw(2,pt),nw(3,j)],wl);le(wl.ID,wl,2);var xr="editor.action.inlineSuggest.commit",xd="editor.action.inlineSuggest.commitAlternativeAction",gm="editor.action.inlineSuggest.showPrevious",pm="editor.action.inlineSuggest.showNext",Tl="editor.action.inlineSuggest.jump",mm="editor.action.inlineSuggest.hide",Qh="editor.action.inlineSuggest.toggleShowCollapsed",rw="editor.action.inlineSuggest.renameSymbol";var aw=function(m,u,p,v){var C=arguments.length,y=C<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,p):v,I;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")y=Reflect.decorate(m,u,p,v);else for(var D=m.length-1;D>=0;D--)if(I=m[D])y=(C<3?I(y):C>3?I(u,p,y):I(u,p))||y;return C>3&&y&&Object.defineProperty(u,p,y),y},Sn=function(m,u){return function(p,v){u(p,v,m)}},fm,_m=class m extends n{constructor(u,p,v){super();this.editor=u,this.model=p,this.instantiationService=v,this.alwaysShowToolbar=Te(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(71).showToolbar==="always"),this.sessionPosition=void 0,this.position=d(this,(C)=>{let y=this.model.read(C)?.primaryGhostText.read(C);if(!this.alwaysShowToolbar.read(C)||!y||y.parts.length===0)return this.sessionPosition=void 0,null;let I=y.parts[0].column;if(this.sessionPosition&&this.sessionPosition.lineNumber!==y.lineNumber)this.sessionPosition=void 0;let D=new o(y.lineNumber,Math.min(I,this.sessionPosition?.column??Number.MAX_SAFE_INTEGER));return this.sessionPosition=D,D}),this._register(Hn((C,y)=>{let I=this.model.read(C);if(!I||!this.alwaysShowToolbar.read(C))return;let D=d((K)=>{let q=K.store.add(this.instantiationService.createInstance(Cs.hot.read(K),this.editor,!0,this.position,I.selectedInlineCompletionIndex,I.inlineCompletionsCount,I.activeCommands,I.warning,()=>{}));return u.addContentWidget(q),K.store.add(E(()=>u.removeContentWidget(q))),K.store.add(H((Q)=>{if(!this.position.read(Q))return;if(I.lastTriggerKind.read(Q)!==Hr.Explicit)I.triggerExplicitly()})),q}),T=Vr(this,(K,q)=>!!this.position.read(K)||!!q);y.add(H((K)=>{if(T.read(K))D.read(K)}))}))}};_m=aw([Sn(2,L)],_m);var Sk=$t("inline-suggestion-hints-next",b.chevronRight,e(1270,"Icon for show next parameter hint.")),wk=$t("inline-suggestion-hints-previous",b.chevronLeft,e(1271,"Icon for show previous parameter hint.")),Cs=class m extends n{static{fm=this}static{this.hot=Gg(this)}static{this._dropDownVisible=!1}static get dropDownVisible(){return this._dropDownVisible}static{this.id=0}createCommandAction(u,p,v){let C=new nr(u,p,v,!0,()=>this._commandService.executeCommand(u));return C.tooltip=this.keybindingService.appendKeybinding(p,u,this._contextKeyService),C}constructor(u,p,v,C,y,I,D,T,K,q,Q,te,oe){super();this.editor=u,this.withBorder=p,this._position=v,this._currentSuggestionIdx=C,this._suggestionCount=y,this._extraCommands=I,this._warning=D,this._relayout=T,this._commandService=K,this.keybindingService=Q,this._contextKeyService=te,this._menuService=oe,this.id=`InlineSuggestionHintsContentWidget${fm.id++}`,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._warningMessageContentNode=d((ne)=>{let ae=this._warning.read(ne);if(!ae)return;if(typeof ae.message==="string")return ae.message;return ne.store.add(Va(ae.message)).element}),this._warningMessageNode=se.div({class:"warningMessage",style:{maxWidth:400,margin:4,marginBottom:4,display:d((ne)=>this._warning.read(ne)?"block":"none")}},[this._warningMessageContentNode]).keepUpdated(this._store),this.nodes=_e("div.inlineSuggestionsHints",{className:this.withBorder?"monaco-hover monaco-hover-content":""},[this._warningMessageNode.element,_e("div@toolBar")]),this.previousAction=this._register(this.createCommandAction(gm,e(1272,"Previous"),G.asClassName(wk))),this.availableSuggestionCountAction=this._register(new nr("inlineSuggestionHints.availableSuggestionCount","",void 0,!1)),this.nextAction=this._register(this.createCommandAction(pm,e(1273,"Next"),G.asClassName(Sk))),this.inlineCompletionsActionsMenus=this._register(this._menuService.createMenu(a.InlineCompletionsActions,this._contextKeyService)),this.clearAvailableSuggestionCountLabelDebounced=this._register(new be(()=>{this.availableSuggestionCountAction.label=""},100)),this.disableButtonsDebounced=this._register(new be(()=>{this.previousAction.enabled=this.nextAction.enabled=!1},100)),this._register(H((ne)=>{this._warningMessageContentNode.read(ne),this._warningMessageNode.readEffect(ne),this._relayout()})),this.toolBar=this._register(q.createInstance(sw,this.nodes.toolBar,a.InlineSuggestionToolbar,{menuOptions:{renderShortTitle:!0},toolbarOptions:{primaryGroup:(ne)=>ne.startsWith("primary")},actionViewItemProvider:(ne,ae)=>{if(ne instanceof Ti)return q.createInstance(kE,ne,void 0);if(ne===this.availableSuggestionCountAction){let ge=new RE(void 0,ne,{label:!0,icon:!1});return ge.setClass("availableSuggestionCount"),ge}return},telemetrySource:"InlineSuggestionToolbar"})),this.toolBar.setPrependedPrimaryActions([this.previousAction,this.availableSuggestionCountAction,this.nextAction]),this._register(this.toolBar.onDidChangeDropdownVisibility((ne)=>{fm._dropDownVisible=ne})),this._register(H((ne)=>{this._position.read(ne),this.editor.layoutContentWidget(this)})),this._register(H((ne)=>{let ae=this._suggestionCount.read(ne),ge=this._currentSuggestionIdx.read(ne);if(ae!==void 0)this.clearAvailableSuggestionCountLabelDebounced.cancel(),this.availableSuggestionCountAction.label=`${ge+1}/${ae}`;else this.clearAvailableSuggestionCountLabelDebounced.schedule();if(ae!==void 0&&ae>1)this.disableButtonsDebounced.cancel(),this.previousAction.enabled=this.nextAction.enabled=!0;else this.disableButtonsDebounced.schedule()})),this._register(H((ne)=>{let ge=this._extraCommands.read(ne).map((Ie)=>({class:void 0,id:Ie.command.id,enabled:!0,tooltip:Ie.command.tooltip||"",label:Ie.command.title,run:()=>this._commandService.executeCommand(Ie.command.id,...Ie.command.arguments??[])}));for(let[Ie,ke]of this.inlineCompletionsActionsMenus.getActions())for(let Oe of ke)if(Oe instanceof Ti)ge.push(Oe);if(ge.length>0)ge.unshift(new Qe);this.toolBar.setAdditionalSecondaryActions(ge)}))}getId(){return this.id}getDomNode(){return this.nodes.root}getPosition(){return{position:this._position.get(),preference:[1,2],positionAffinity:3}}};Cs=fm=aw([Sn(8,Ae),Sn(9,L),Sn(10,ce),Sn(11,z),Sn(12,fi)],Cs);class RE extends Il{constructor(){super(...arguments);this._className=void 0}setClass(m){this._className=m}render(m){if(super.render(m),this._className)m.classList.add(this._className)}updateTooltip(){}}class kE extends za{updateLabel(){let m=this._keybindingService.lookupKeybinding(this._action.id,this._contextKeyService,!0);if(!m)return super.updateLabel();if(this.label){let u=_e("div.keybinding").root;this._register(new ca(u,pi,{disableTitle:!0,...y0})).set(m),this.label.textContent=this._action.label,this.label.appendChild(u),this.label.classList.add("inlineSuggestionStatusBarItemLabel")}}updateTooltip(){}}var sw=class m extends tw{constructor(u,p,v,C,y,I,D,T,K){super(u,{resetMenu:p,...v},C,y,I,D,T,K);this.menuId=p,this.options2=v,this.menuService=C,this.contextKeyService=y,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:u,secondary:p}=Of(this.menu.getActions(this.options2?.menuOptions),this.options2?.toolbarOptions?.primaryGroup,this.options2?.toolbarOptions?.shouldInlineSubmenu,this.options2?.toolbarOptions?.useSeparatorsInPrimaryActions);p.push(...this.additionalActions),u.unshift(...this.prependedPrimaryActions),u.push(...this.additionalPrimaryActions),this.setActions(u,p)}setPrependedPrimaryActions(u){if(Ke(this.prependedPrimaryActions,u,(p,v)=>p===v))return;this.prependedPrimaryActions=u,this.updateToolbar()}setAdditionalSecondaryActions(u){if(Ke(this.additionalActions,u,(p,v)=>p===v))return;this.additionalActions=u,this.updateToolbar()}};sw=aw([Sn(3,fi),Sn(4,z),Sn(5,On),Sn(6,ce),Sn(7,Ae),Sn(8,Tn)],sw);function ga(m,u,p){let v=gt(m);if(u<v.left+3||u>v.left+v.width-3||p<v.top+3||p>v.top+v.height-3)return!1;return!0}function bm(m,u,p){if(m==="on")return!0;if(m==="off")return!1;return eu(u,p.event)}function eu(m,u){if(m==="altKey")return u.ctrlKey||u.metaKey;return u.altKey}class TE{constructor(m,u,p,v){this.value=m,this.isComplete=u,this.hasLoadingMessage=p,this.options=v}}class tu extends n{constructor(m,u){super();this._editor=m,this._computer=u,this._onResult=this._register(new i),this.onResult=this._onResult.event,this._asyncComputationScheduler=this._register(new vm((p)=>this._triggerAsyncComputation(p),0)),this._syncComputationScheduler=this._register(new vm((p)=>this._triggerSyncComputation(p),0)),this._loadingMessageScheduler=this._register(new vm((p)=>this._triggerLoadingMessage(p),0)),this._state=0,this._asyncIterable=null,this._asyncIterableDone=!1,this._result=[]}dispose(){if(this._asyncIterable)this._asyncIterable.cancel(),this._asyncIterable=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(m,u){this._options=u,this._state=m,this._fireResult(u)}_triggerAsyncComputation(m){if(this._setState(2,m),this._syncComputationScheduler.schedule(m,this._secondWaitTime),this._computer.computeAsync)this._asyncIterableDone=!1,this._asyncIterable=d$((u)=>this._computer.computeAsync(m,u)),(async()=>{try{for await(let u of this._asyncIterable)if(u)this._result.push(u),this._fireResult(m);if(this._asyncIterableDone=!0,this._state===3||this._state===4)this._setState(0,m)}catch(u){J(u)}})();else this._asyncIterableDone=!0}_triggerSyncComputation(m){if(this._computer.computeSync)this._result=this._result.concat(this._computer.computeSync(m));this._setState(this._asyncIterableDone?0:3,m)}_triggerLoadingMessage(m){if(this._state===3)this._setState(4,m)}_fireResult(m){if(this._state===1||this._state===2)return;let u=this._state===0,p=this._state===4;this._onResult.fire(new TE(this._result.slice(0),u,p,m))}start(m,u){if(m===0){if(this._state===0)this._setState(1,u),this._asyncComputationScheduler.schedule(u,this._firstWaitTime),this._loadingMessageScheduler.schedule(u,this._loadingMessageTime)}else switch(this._state){case 0:this._triggerAsyncComputation(u),this._syncComputationScheduler.cancel(),this._triggerSyncComputation(u);break;case 2:this._syncComputationScheduler.cancel(),this._triggerSyncComputation(u);break}}cancel(){if(this._asyncComputationScheduler.cancel(),this._syncComputationScheduler.cancel(),this._loadingMessageScheduler.cancel(),this._asyncIterable)this._asyncIterable.cancel(),this._asyncIterable=null;this._result=[],this._options=void 0,this._state=0}get options(){return this._options}}class vm extends n{constructor(m,u){super();this._scheduler=this._register(new be(()=>m(this._options),u))}schedule(m,u){this._options=m,this._scheduler.schedule(u)}cancel(){this._scheduler.cancel()}}class nu{constructor(m,u,p,v){this.priority=m,this.range=u,this.initialMousePosX=p,this.initialMousePosY=v,this.type=1}equals(m){return m.type===1&&this.range.equalsRange(m.range)}canAdoptVisibleHover(m,u){return m.type===1&&u.lineNumber===this.range.startLineNumber}}class pa{constructor(m,u,p,v,C,y){this.priority=m,this.owner=u,this.range=p,this.initialMousePosX=v,this.initialMousePosY=C,this.supportsMarkerHover=y,this.type=2}equals(m){return m.type===2&&this.owner===m.owner}canAdoptVisibleHover(m,u){return m.type===2&&this.owner===m.owner}}class Xo{constructor(m,u){this.renderedHoverParts=m,this.disposables=u}dispose(){for(let m of this.renderedHoverParts)m.dispose();this.disposables?.dispose()}}var Ra=new class m{constructor(){this._participants=[]}register(u){this._participants.push(u)}getAll(){return this._participants}};class Id{get onDidWillResize(){return this._onDidWillResize.event}get onDidResize(){return this._onDidResize.event}constructor(){this._onDidWillResize=new i,this._onDidResize=new i,this._sashListener=new c,this._size=new Ye(0,0),this._minSize=new Ye(0,0),this._maxSize=new Ye(Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER),this.domNode=document.createElement("div"),this._eastSash=new Ki(this.domNode,{getVerticalSashLeft:()=>this._size.width},{orientation:0}),this._westSash=new Ki(this.domNode,{getVerticalSashLeft:()=>0},{orientation:0}),this._northSash=new Ki(this.domNode,{getHorizontalSashTop:()=>0},{orientation:1,orthogonalEdge:Vv.North}),this._southSash=new Ki(this.domNode,{getHorizontalSashTop:()=>this._size.height},{orientation:1,orthogonalEdge:Vv.South}),this._northSash.orthogonalStartSash=this._westSash,this._northSash.orthogonalEndSash=this._eastSash,this._southSash.orthogonalStartSash=this._westSash,this._southSash.orthogonalEndSash=this._eastSash;let m,u=0,p=0;this._sashListener.add(S.any(this._northSash.onDidStart,this._eastSash.onDidStart,this._southSash.onDidStart,this._westSash.onDidStart)(()=>{if(m===void 0)this._onDidWillResize.fire(),m=this._size,u=0,p=0})),this._sashListener.add(S.any(this._northSash.onDidEnd,this._eastSash.onDidEnd,this._southSash.onDidEnd,this._westSash.onDidEnd)(()=>{if(m!==void 0)m=void 0,u=0,p=0,this._onDidResize.fire({dimension:this._size,done:!0})})),this._sashListener.add(this._eastSash.onDidChange((v)=>{if(m)p=v.currentX-v.startX,this.layout(m.height+u,m.width+p),this._onDidResize.fire({dimension:this._size,done:!1,east:!0})})),this._sashListener.add(this._westSash.onDidChange((v)=>{if(m)p=-(v.currentX-v.startX),this.layout(m.height+u,m.width+p),this._onDidResize.fire({dimension:this._size,done:!1,west:!0})})),this._sashListener.add(this._northSash.onDidChange((v)=>{if(m)u=-(v.currentY-v.startY),this.layout(m.height+u,m.width+p),this._onDidResize.fire({dimension:this._size,done:!1,north:!0})})),this._sashListener.add(this._southSash.onDidChange((v)=>{if(m)u=v.currentY-v.startY,this.layout(m.height+u,m.width+p),this._onDidResize.fire({dimension:this._size,done:!1,south:!0})})),this._sashListener.add(S.any(this._eastSash.onDidReset,this._westSash.onDidReset)((v)=>{if(this._preferredSize)this.layout(this._size.height,this._preferredSize.width),this._onDidResize.fire({dimension:this._size,done:!0})})),this._sashListener.add(S.any(this._northSash.onDidReset,this._southSash.onDidReset)((v)=>{if(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(m,u,p,v){this._northSash.state=m?3:0,this._eastSash.state=u?3:0,this._southSash.state=p?3:0,this._westSash.state=v?3:0}layout(m=this.size.height,u=this.size.width){let{height:p,width:v}=this._minSize,{height:C,width:y}=this._maxSize;m=Math.max(p,Math.min(C,m)),u=Math.max(v,Math.min(y,u));let I=new Ye(u,m);if(!Ye.equals(I,this._size))this.domNode.style.height=m+"px",this.domNode.style.width=u+"px",this._size=I,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(m){this._maxSize=m}get maxSize(){return this._maxSize}set minSize(m){this._minSize=m}get minSize(){return this._minSize}set preferredSize(m){this._preferredSize=m}get preferredSize(){return this._preferredSize}}var Ck=30,Ik=24;class dw extends n{constructor(m,u=new Ye(10,10)){super();this._editor=m,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._resizableNode=this._register(new Id),this._contentPosition=null,this._isResizing=!1,this._resizableNode.domNode.style.position="absolute",this._resizableNode.minSize=Ye.lift(u),this._resizableNode.layout(u.height,u.width),this._resizableNode.enableSashes(!0,!0,!0,!0),this._register(this._resizableNode.onDidResize((p)=>{if(this._resize(new Ye(p.dimension.width,p.dimension.height)),p.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(m){let u=this._editor.getDomNode(),p=this._editor.getScrolledVisiblePosition(m);if(!u||!p)return;return gt(u).top+p.top-Ck}_availableVerticalSpaceBelow(m){let u=this._editor.getDomNode(),p=this._editor.getScrolledVisiblePosition(m);if(!u||!p)return;let v=gt(u),C=Is(u.ownerDocument.body),y=v.top+p.top+p.height;return C.height-y-Ik}_findPositionPreference(m,u){let p=Math.min(this._availableVerticalSpaceBelow(u)??1/0,m),v=Math.min(this._availableVerticalSpaceAbove(u)??1/0,m),C=Math.min(Math.max(v,p),m),y=Math.min(m,C),I;if(this._editor.getOption(69).above)I=y<=v?1:2;else I=y<=p?2:1;if(I===1)this._resizableNode.enableSashes(!0,!0,!1,!1);else this._resizableNode.enableSashes(!1,!0,!0,!1);return I}_resize(m){this._resizableNode.layout(m.height,m.width)}}var Lk=function(m,u,p,v){var C=arguments.length,y=C<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,p):v,I;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")y=Reflect.decorate(m,u,p,v);else for(var D=m.length-1;D>=0;D--)if(I=m[D])y=(C<3?I(y):C>3?I(u,p,y):I(u,p))||y;return C>3&&y&&Object.defineProperty(u,p,y),y},Sm=function(m,u){return function(p,v){u(p,v,m)}},Cn,NE=30,wm=class m extends dw{static{Cn=this}static{this.ID="editor.contrib.resizableContentHoverWidget"}static{this._lastDimensions=new Ye(0,0)}get isVisibleFromKeyboard(){return this._renderedHover?.source===2}get isVisible(){return this._hoverVisibleKey.get()??!1}get isFocused(){return this._hoverFocusedKey.get()??!1}constructor(u,p,v,C,y){let I=u.getOption(75)+8,D=150,T=new Ye(150,I);super(u,T);this._configurationService=v,this._accessibilityService=C,this._keybindingService=y,this._hover=this._register(new Rf(!0)),this._onDidResize=this._register(new i),this.onDidResize=this._onDidResize.event,this._onDidScroll=this._register(new i),this.onDidScroll=this._onDidScroll.event,this._onContentsChanged=this._register(new i),this.onContentsChanged=this._onContentsChanged.event,this._minimumSize=T,this._hoverVisibleKey=r.hoverVisible.bindTo(p),this._hoverFocusedKey=r.hoverFocused.bindTo(p),w(this._resizableNode.domNode,this._hover.containerDomNode),this._resizableNode.domNode.style.zIndex="50",this._resizableNode.domNode.className="monaco-resizable-hover",this._register(this._editor.onDidLayoutChange(()=>{if(this.isVisible)this._updateMaxDimensions()})),this._register(this._editor.onDidChangeConfiguration((q)=>{if(q.hasChanged(59))this._updateFont()}));let K=this._register(Xn(this._resizableNode.domNode));this._register(K.onDidFocus(()=>{this._hoverFocusedKey.set(!0)})),this._register(K.onDidBlur(()=>{this._hoverFocusedKey.set(!1)})),this._register(this._hover.scrollbar.onScroll((q)=>{this._onDidScroll.fire(q)})),this._setRenderedHover(void 0),this._editor.addContentWidget(this)}dispose(){super.dispose(),this._renderedHover?.dispose(),this._editor.removeContentWidget(this)}getId(){return Cn.ID}static _applyDimensions(u,p,v){let C=typeof p==="number"?`${p}px`:p,y=typeof v==="number"?`${v}px`:v;u.style.width=C,u.style.height=y}_setContentsDomNodeDimensions(u,p){let v=this._hover.contentsDomNode;return Cn._applyDimensions(v,u,p)}_setContainerDomNodeDimensions(u,p){let v=this._hover.containerDomNode;return Cn._applyDimensions(v,u,p)}_setScrollableElementDimensions(u,p){let v=this._hover.scrollbar.getDomNode();return Cn._applyDimensions(v,u,p)}_setHoverWidgetDimensions(u,p){this._setContainerDomNodeDimensions(u,p),this._setScrollableElementDimensions(u,p),this._setContentsDomNodeDimensions(u,p),this._layoutContentWidget()}static _applyMaxDimensions(u,p,v){let C=typeof p==="number"?`${p}px`:p,y=typeof v==="number"?`${v}px`:v;u.style.maxWidth=C,u.style.maxHeight=y}_setHoverWidgetMaxDimensions(u,p){Cn._applyMaxDimensions(this._hover.contentsDomNode,u,p),Cn._applyMaxDimensions(this._hover.scrollbar.getDomNode(),u,p),Cn._applyMaxDimensions(this._hover.containerDomNode,u,p),this._hover.containerDomNode.style.setProperty("--vscode-hover-maxWidth",typeof u==="number"?`${u}px`:u),this._layoutContentWidget()}_setAdjustedHoverWidgetDimensions(u){this._setHoverWidgetMaxDimensions("none","none"),this._setHoverWidgetDimensions(u.width,u.height)}_updateResizableNodeMaxDimensions(){let u=this._findMaximumRenderingWidth()??1/0,p=this._findMaximumRenderingHeight()??1/0;this._resizableNode.maxSize=new Ye(u,p),this._setHoverWidgetMaxDimensions(u,p)}_resize(u){Cn._lastDimensions=new Ye(u.width,u.height),this._setAdjustedHoverWidgetDimensions(u),this._resizableNode.layout(u.height,u.width),this._updateResizableNodeMaxDimensions(),this._hover.scrollbar.scanDomNode(),this._editor.layoutContentWidget(this),this._onDidResize.fire()}_findAvailableSpaceVertically(){let u=this._renderedHover?.showAtPosition;if(!u)return;return this._positionPreference===1?this._availableVerticalSpaceAbove(u):this._availableVerticalSpaceBelow(u)}_findMaximumRenderingHeight(){let u=this._findAvailableSpaceVertically();if(!u)return;let v=this._hover.contentsDomNode.children.length-1;return Array.from(this._hover.contentsDomNode.children).forEach((C)=>{v+=C.clientHeight}),Math.min(u,v)}_isHoverTextOverflowing(){this._hover.containerDomNode.style.setProperty("--vscode-hover-whiteSpace","nowrap"),this._hover.containerDomNode.style.setProperty("--vscode-hover-sourceWhiteSpace","nowrap");let u=Array.from(this._hover.contentsDomNode.children).some((p)=>p.scrollWidth>p.clientWidth);return this._hover.containerDomNode.style.removeProperty("--vscode-hover-whiteSpace"),this._hover.containerDomNode.style.removeProperty("--vscode-hover-sourceWhiteSpace"),u}_findMaximumRenderingWidth(){if(!this._editor||!this._editor.hasModel())return;let u=this._isHoverTextOverflowing(),p=typeof this._contentWidth>"u"?0:this._contentWidth;if(u||this._hover.containerDomNode.clientWidth<p){let v=Is(this._hover.containerDomNode.ownerDocument.body).width,C=14;return v-14}else return this._hover.containerDomNode.clientWidth}isMouseGettingCloser(u,p){if(!this._renderedHover)return!1;if(this._renderedHover.initialMousePosX===void 0||this._renderedHover.initialMousePosY===void 0)return this._renderedHover.initialMousePosX=u,this._renderedHover.initialMousePosY=p,!1;let v=gt(this.getDomNode());if(this._renderedHover.closestMouseDistance===void 0)this._renderedHover.closestMouseDistance=OE(this._renderedHover.initialMousePosX,this._renderedHover.initialMousePosY,v.left,v.top,v.width,v.height);let C=OE(u,p,v.left,v.top,v.width,v.height);if(C>this._renderedHover.closestMouseDistance+4)return!1;return this._renderedHover.closestMouseDistance=Math.min(this._renderedHover.closestMouseDistance,C),!0}_setRenderedHover(u){this._renderedHover?.dispose(),this._renderedHover=u,this._hoverVisibleKey.set(!!u),this._hover.containerDomNode.classList.toggle("hidden",!u)}_updateFont(){let{fontSize:u,lineHeight:p}=this._editor.getOption(59),v=this._hover.contentsDomNode;v.style.fontSize=`${u}px`,v.style.lineHeight=`${p/u}`,Array.prototype.slice.call(this._hover.contentsDomNode.getElementsByClassName("code")).forEach((y)=>this._editor.applyFontInfo(y))}_updateContent(u){let p=this._hover.contentsDomNode;p.style.paddingBottom="",p.textContent="",p.appendChild(u)}_layoutContentWidget(){this._editor.layoutContentWidget(this),this._hover.onContentsChanged()}_updateMaxDimensions(){let u=Math.max(this._editor.getLayoutInfo().height/4,250,Cn._lastDimensions.height),p=Math.max(this._editor.getLayoutInfo().width*0.66,750,Cn._lastDimensions.width);this._resizableNode.maxSize=new Ye(p,u),this._setHoverWidgetMaxDimensions(p,u)}_render(u){this._setRenderedHover(u),this._updateFont(),this._updateContent(u.domNode),this.handleContentsChanged(),this._editor.render()}getPosition(){if(!this._renderedHover)return null;return{position:this._renderedHover.showAtPosition,secondaryPosition:this._renderedHover.showAtSecondaryPosition,positionAffinity:this._renderedHover.shouldAppearBeforeContent?3:void 0,preference:[this._positionPreference??1]}}show(u){if(!this._editor||!this._editor.hasModel())return;this._render(u);let p=Aa(this._hover.containerDomNode),v=u.showAtPosition;if(this._positionPreference=this._findPositionPreference(p,v)??1,this.handleContentsChanged(),u.shouldFocus)this._hover.containerDomNode.focus();this._onDidResize.fire();let y=this._hover.containerDomNode.ownerDocument.activeElement===this._hover.containerDomNode&&J_(this._configurationService.getValue("accessibility.verbosity.hover")===!0&&this._accessibilityService.isScreenReaderOptimized(),this._keybindingService.lookupKeybinding("editor.action.accessibleView")?.getAriaLabel()??"");if(y)this._hover.contentsDomNode.ariaLabel=this._hover.contentsDomNode.textContent+", "+y}hide(){if(!this._renderedHover)return;let u=this._renderedHover.shouldFocus||this._hoverFocusedKey.get();if(this._setRenderedHover(void 0),this._resizableNode.maxSize=new Ye(1/0,1/0),this._resizableNode.clearSashHoverState(),this._hoverFocusedKey.set(!1),this._editor.layoutContentWidget(this),u)this._editor.focus()}_removeConstraintsRenderNormally(){let u=this._editor.getLayoutInfo();this._resizableNode.layout(u.height,u.width),this._setHoverWidgetDimensions("auto","auto"),this._updateMaxDimensions()}setMinimumDimensions(u){this._minimumSize=new Ye(Math.max(this._minimumSize.width,u.width),Math.max(this._minimumSize.height,u.height)),this._updateMinimumWidth()}_updateMinimumWidth(){let u=typeof this._contentWidth>"u"?this._minimumSize.width:Math.min(this._contentWidth,this._minimumSize.width);this._resizableNode.minSize=new Ye(u,this._minimumSize.height)}handleContentsChanged(){this._removeConstraintsRenderNormally();let u=this._hover.contentsDomNode,p=Aa(u),v=hr(u)+2;if(this._resizableNode.layout(p,v),this._setHoverWidgetDimensions(v,p),p=Aa(u),v=hr(u),this._contentWidth=v,this._updateMinimumWidth(),this._resizableNode.layout(p,v),this._renderedHover?.showAtPosition){let C=Aa(this._hover.containerDomNode);this._positionPreference=this._findPositionPreference(C,this._renderedHover.showAtPosition)}this._layoutContentWidget(),this._onContentsChanged.fire()}focus(){this._hover.containerDomNode.focus()}scrollUp(){let u=this._hover.scrollbar.getScrollPosition().scrollTop,p=this._editor.getOption(59);this._hover.scrollbar.setScrollPosition({scrollTop:u-p.lineHeight})}scrollDown(){let u=this._hover.scrollbar.getScrollPosition().scrollTop,p=this._editor.getOption(59);this._hover.scrollbar.setScrollPosition({scrollTop:u+p.lineHeight})}scrollLeft(){let u=this._hover.scrollbar.getScrollPosition().scrollLeft;this._hover.scrollbar.setScrollPosition({scrollLeft:u-NE})}scrollRight(){let u=this._hover.scrollbar.getScrollPosition().scrollLeft;this._hover.scrollbar.setScrollPosition({scrollLeft:u+NE})}pageUp(){let u=this._hover.scrollbar.getScrollPosition().scrollTop,p=this._hover.scrollbar.getScrollDimensions().height;this._hover.scrollbar.setScrollPosition({scrollTop:u-p})}pageDown(){let u=this._hover.scrollbar.getScrollPosition().scrollTop,p=this._hover.scrollbar.getScrollDimensions().height;this._hover.scrollbar.setScrollPosition({scrollTop:u+p})}goToTop(){this._hover.scrollbar.setScrollPosition({scrollTop:0})}goToBottom(){this._hover.scrollbar.setScrollPosition({scrollTop:this._hover.scrollbar.getScrollDimensions().scrollHeight})}};wm=Cn=Lk([Sm(1,z),Sm(2,X),Sm(3,qt),Sm(4,ce)],wm);function OE(m,u,p,v,C,y){let I=p+C/2,D=v+y/2,T=Math.max(Math.abs(m-I)-C/2,0),K=Math.max(Math.abs(u-D)-y/2,0);return Math.sqrt(T*T+K*K)}class fu{constructor(m,u){this._editor=m,this._participants=u}static _getLineDecorations(m,u){if(u.type!==1&&!u.supportsMarkerHover)return[];let p=m.getModel(),v=u.range.startLineNumber;if(v>p.getLineCount())return[];let C=p.getLineMaxColumn(v);return m.getLineDecorations(v).filter((y)=>{if(y.options.isWholeLine)return!0;let I=y.range.startLineNumber===v?y.range.startColumn:1,D=y.range.endLineNumber===v?y.range.endColumn:C;if(y.options.showIfCollapsed){if(I>u.range.startColumn+1||u.range.endColumn-1>D)return!1}else if(I>u.range.startColumn||u.range.endColumn>D)return!1;return!0})}computeAsync(m,u){let p=m.anchor;if(!this._editor.hasModel()||!p)return jn.EMPTY;let v=fu._getLineDecorations(this._editor,p);return jn.merge(this._participants.map((C)=>{if(!C.computeAsync)return jn.EMPTY;return C.computeAsync(p,v,m.source,u)}))}computeSync(m){if(!this._editor.hasModel())return[];let u=m.anchor,p=fu._getLineDecorations(this._editor,u),v=[];for(let C of this._participants)v=v.concat(C.computeSync(u,p,m.source));return er(v)}}class Cm{constructor(m,u,p){this.hoverParts=m,this.isComplete=u,this.options=p}filter(m){let u=this.hoverParts.filter((p)=>p.isValidForHoverAnchor(m));if(u.length===this.hoverParts.length)return this;return new ME(this,u,this.isComplete,this.options)}}class ME extends Cm{constructor(m,u,p,v){super(u,p,v);this.original=m}filter(m){return this.original.filter(m)}}var Ek=function(m,u,p,v){var C=arguments.length,y=C<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,p):v,I;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")y=Reflect.decorate(m,u,p,v);else for(var D=m.length-1;D>=0;D--)if(I=m[D])y=(C<3?I(y):C>3?I(u,p,y):I(u,p))||y;return C>3&&y&&Object.defineProperty(u,p,y),y},PE=function(m,u){return function(p,v){u(p,v,m)}},AE=g,ag=class m extends n{get hasContent(){return this._hasContent}constructor(u,p){super();this._keybindingService=u,this._hoverService=p,this.actions=[],this._hasContent=!1,this.hoverElement=AE("div.hover-row.status-bar"),this.hoverElement.tabIndex=0,this.actionsElement=w(this.hoverElement,AE("div.actions"))}addAction(u){let p=this._keybindingService.lookupKeybinding(u.commandId),v=p?p.getLabel():null;this._hasContent=!0;let C=this._register(Gh.render(this.actionsElement,u,v));return this._register(this._hoverService.setupManagedHover(qr("element"),C.actionContainer,C.actionRenderedLabel)),this.actions.push(C),C}append(u){let p=w(this.actionsElement,u);return this._hasContent=!0,p}};ag=Ek([PE(0,ce),PE(1,wn)],ag);var Dk=function(m,u,p,v){var C=arguments.length,y=C<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,p):v,I;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")y=Reflect.decorate(m,u,p,v);else for(var D=m.length-1;D>=0;D--)if(I=m[D])y=(C<3?I(y):C>3?I(u,p,y):I(u,p))||y;return C>3&&y&&Object.defineProperty(u,p,y),y},FE=function(m,u){return function(p,v){u(p,v,m)}},ym=class m extends n{constructor(u,p,v,C){super();this._container=u,this._getContent=p,this._clipboardService=v,this._hoverService=C,this._container.classList.add("hover-row-with-copy"),this._button=this._register(new ms({label:e(1186,"Copy"),icon:b.copy,onTrigger:()=>this._copyContent(),className:"hover-copy-button"},this._hoverService)),this._container.appendChild(this._button.domNode)}async _copyContent(){let u=this._getContent();if(u)await this._clipboardService.writeText(u),br(e(1187,"Copied to clipboard"))}};ym=Dk([FE(2,Qn),FE(3,wn)],ym);class HE{constructor(m,u,p){this.provider=m,this.hover=u,this.ordinal=p}}async function Rk(m,u,p,v,C){let y=await Promise.resolve(m.provideHover(p,v,C)).catch(dt);if(!y||!kk(y))return;return new HE(m,y,u)}function _u(m,u,p,v,C=!1){let I=m.ordered(u,C).map((D,T)=>Rk(D,T,u,p,v));return jn.fromPromisesResolveOrder(I).coalesce()}async function WE(m,u,p,v,C=!1){let y=[];for await(let I of _u(m,u,p,v,C))y.push(I.hover);return y}fr("_executeHoverProvider",(m,u,p)=>{let v=m.get(j);return WE(v.hoverProvider,u,p,he.None)});fr("_executeHoverProvider_recursive",(m,u,p)=>{let v=m.get(j);return WE(v.hoverProvider,u,p,he.None,!0)});function kk(m){let u=typeof m.range<"u",p=typeof m.contents<"u"&&m.contents&&m.contents.length>0;return u&&p}var Tk=function(m,u,p,v){var C=arguments.length,y=C<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,p):v,I;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")y=Reflect.decorate(m,u,p,v);else for(var D=m.length-1;D>=0;D--)if(I=m[D])y=(C<3?I(y):C>3?I(u,p,y):I(u,p))||y;return C>3&&y&&Object.defineProperty(u,p,y),y},Ml=function(m,u){return function(p,v){u(p,v,m)}},Ld=g,Nk=$t("hover-increase-verbosity",b.addSmall,e(1188,"Icon for increaseing hover verbosity.")),Ok=$t("hover-decrease-verbosity",b.removeSmall,e(1189,"Icon for decreasing hover verbosity."));class _o{constructor(m,u,p,v,C,y=void 0){this.owner=m,this.range=u,this.contents=p,this.isBeforeContent=v,this.ordinal=C,this.source=y}isValidForHoverAnchor(m){return m.type===1&&this.range.startColumn<=m.range.startColumn&&this.range.endColumn>=m.range.endColumn}}class lw{constructor(m,u,p){this.hover=m,this.hoverProvider=u,this.hoverPosition=p}supportsVerbosityAction(m){switch(m){case Ho.Increase:return this.hover.canIncreaseVerbosity??!1;case Ho.Decrease:return this.hover.canDecreaseVerbosity??!1}}}var ma=class m{constructor(u,p,v,C,y,I,D){this._editor=u,this._markdownRendererService=p,this._configurationService=v,this._languageFeaturesService=C,this._keybindingService=y,this._hoverService=I,this._commandService=D,this.hoverOrdinal=3}createLoadingMessage(u){return new _o(this,u.range,[new xn().appendText(e(1190,"Loading..."))],!1,2000)}computeSync(u,p){if(!this._editor.hasModel()||u.type!==1)return[];let v=this._editor.getModel(),C=u.range.startLineNumber,y=v.getLineMaxColumn(C),I=[],D=1000,T=v.getLineLength(C),K=v.getLanguageIdAtPosition(u.range.startLineNumber,u.range.startColumn),q=this._editor.getOption(133),Q=this._configurationService.getValue("editor.maxTokenizationLineLength",{overrideIdentifier:K}),te=this._editor.getOption(69).showLongLineWarning,oe=!1;if(q>=0&&T>q&&u.range.startColumn>=q){if(oe=!0,te)I.push(new _o(this,u.range,[{value:e(1191,"Rendering paused for long line for performance reasons. This can be configured via `editor.stopRenderingLineAfter`. [Don't Show Again](command:{0})",wh),isTrusted:!0}],!1,D++))}if(!oe&&typeof Q==="number"&&T>=Q){if(te)I.push(new _o(this,u.range,[{value:e(1192,"Tokenization is skipped for long lines for performance reasons. This can be configured via `editor.maxTokenizationLineLength`. [Don't Show Again](command:{0})",wh),isTrusted:!0}],!1,D++))}let ne=!1;for(let ae of p){let ge=ae.range.startLineNumber===C?ae.range.startColumn:1,Ie=ae.range.endLineNumber===C?ae.range.endColumn:y,ke=ae.options.hoverMessage;if(!ke||Cu(ke))continue;if(ae.options.beforeContentClassName)ne=!0;let Oe=new t(u.range.startLineNumber,ge,u.range.startLineNumber,Ie);I.push(new _o(this,Oe,ug(ke),ne,D++))}return I}computeAsync(u,p,v,C){if(!this._editor.hasModel()||u.type!==1)return jn.EMPTY;let y=this._editor.getModel(),I=this._languageFeaturesService.hoverProvider;if(!I.has(y))return jn.EMPTY;return this._getMarkdownHovers(I,y,u,C)}async*_getMarkdownHovers(u,p,v,C){let y=v.range.getStartPosition(),I=_u(u,p,y,C);for await(let D of I)if(!Cu(D.hover.contents)){let T=D.hover.range?t.lift(D.hover.range):v.range,K=new lw(D.hover,D.provider,y);yield new _o(this,T,D.hover.contents,!1,D.ordinal,K)}}renderHoverParts(u,p){return this._renderedHoverParts=new BE(p,u.fragment,this,this._editor,this._commandService,this._keybindingService,this._hoverService,this._configurationService,this._markdownRendererService,u.onContentsChanged),this._renderedHoverParts}handleScroll(u){this._renderedHoverParts?.handleScroll(u)}getAccessibleContent(u){return this._renderedHoverParts?.getAccessibleContent(u)??""}updateMarkdownHoverVerbosityLevel(u,p){return Promise.resolve(this._renderedHoverParts?.updateMarkdownHoverPartVerbosityLevel(u,p))}};ma=Tk([Ml(1,vr),Ml(2,X),Ml(3,j),Ml(4,ce),Ml(5,wn),Ml(6,Ae)],ma);class Iu{constructor(m,u,p,v){this.hoverPart=m,this.hoverElement=u,this.disposables=p,this.actionsContainer=v}dispose(){this.disposables.dispose()}}class BE{constructor(m,u,p,v,C,y,I,D,T,K){this._hoverParticipant=p,this._editor=v,this._commandService=C,this._keybindingService=y,this._hoverService=I,this._configurationService=D,this._markdownRendererService=T,this._onFinishedRendering=K,this._ongoingHoverOperations=new Map,this._disposables=new c,this.renderedHoverParts=this._renderHoverParts(m,u,this._onFinishedRendering),this._disposables.add(E(()=>{this.renderedHoverParts.forEach((q)=>{q.dispose()}),this._ongoingHoverOperations.forEach((q)=>{q.tokenSource.dispose(!0)})}))}_renderHoverParts(m,u,p){return m.sort(kn((v)=>v.ordinal,Si)),m.map((v)=>{let C=this._renderHoverPart(v,p);return u.appendChild(C.hoverElement),C})}_renderHoverPart(m,u){let p=this._renderMarkdownHover(m,u),v=p.hoverElement,C=m.source,y=new c;if(y.add(p),!C)return new Iu(m,v,y);let I=C.supportsVerbosityAction(Ho.Increase),D=C.supportsVerbosityAction(Ho.Decrease);if(!I&&!D)return new Iu(m,v,y);let T=Ld("div.verbosity-actions");v.prepend(T);let K=Ld("div.verbosity-actions-inner");return T.append(K),y.add(this._renderHoverExpansionAction(K,Ho.Increase,I)),y.add(this._renderHoverExpansionAction(K,Ho.Decrease,D)),new Iu(m,v,y,K)}_renderMarkdownHover(m,u){return KE(this._editor,m,this._markdownRendererService,u)}_renderHoverExpansionAction(m,u,p){let v=new c,C=u===Ho.Increase,y=w(m,Ld(G.asCSSSelector(C?Nk:Ok)));y.tabIndex=0;let I=v.add(new id("mouse",void 0,{target:m,position:{hoverPosition:0}},this._configurationService,this._hoverService));if(v.add(this._hoverService.setupManagedHover(I,y,Mk(this._keybindingService,u))),!p)return y.classList.add("disabled"),v;y.classList.add("enabled");let D=()=>this._commandService.executeCommand(u===Ho.Increase?bd:vd,{focus:!0});return v.add(new Y_(y,D)),v.add(new Z_(y,D,[3,10])),v}handleScroll(m){this.renderedHoverParts.forEach((u)=>{let p=u.actionsContainer;if(!p)return;let v=u.hoverElement,y=m.scrollTop+m.height,{offsetTop:I,clientHeight:D}=v,T=I+D,K=22,q;if(T<=y||I>=y)q=D-K;else q=y-I-K;p.style.top=`${q}px`})}async updateMarkdownHoverPartVerbosityLevel(m,u){let p=this._editor.getModel();if(!p)return;let v=this._getRenderedHoverPartAtIndex(u),C=v?.hoverPart.source;if(!v||!C?.supportsVerbosityAction(m))return;let y=await this._fetchHover(C,p,m);if(!y)return;let I=new lw(y,C.hoverProvider,C.hoverPosition),D=v.hoverPart,T=new _o(this._hoverParticipant,D.range,y.contents,D.isBeforeContent,D.ordinal,I),K=this._updateRenderedHoverPart(u,T);if(!K)return;return{hoverPart:T,hoverElement:K.hoverElement}}getAccessibleContent(m){let u=this.renderedHoverParts.findIndex((y)=>y.hoverPart===m);if(u===-1)return;let p=this._getRenderedHoverPartAtIndex(u);if(!p)return;return p.hoverElement.innerText.replace(/[^\S\n\r]+/gu," ")}async _fetchHover(m,u,p){let v=p===Ho.Increase?1:-1,C=m.hoverProvider,y=this._ongoingHoverOperations.get(C);if(y)y.tokenSource.cancel(),v+=y.verbosityDelta;let I=new Pe;this._ongoingHoverOperations.set(C,{verbosityDelta:v,tokenSource:I});let D={verbosityRequest:{verbosityDelta:v,previousHover:m.hover}},T;try{T=await Promise.resolve(C.provideHover(u,m.hoverPosition,I.token,D))}catch(K){dt(K)}return I.dispose(),this._ongoingHoverOperations.delete(C),T}_updateRenderedHoverPart(m,u){if(m>=this.renderedHoverParts.length||m<0)return;let p=this._renderHoverPart(u,this._onFinishedRendering),v=this.renderedHoverParts[m],C=v.hoverElement,y=p.hoverElement,I=Array.from(y.children);C.replaceChildren(...I);let D=new Iu(u,C,p.disposables,p.actionsContainer);return v.dispose(),this.renderedHoverParts[m]=D,D}_getRenderedHoverPartAtIndex(m){return this.renderedHoverParts[m]}dispose(){this._disposables.dispose()}}function VE(m,u,p,v){u.sort(kn((y)=>y.ordinal,Si));let C=[];for(let y of u){let I=KE(p,y,v,m.onContentsChanged);m.fragment.appendChild(I.hoverElement),C.push(I)}return new Xo(C)}function KE(m,u,p,v){let C=new c,y=Ld("div.hover-row"),I=Ld("div.hover-row-contents");y.appendChild(I);let D=u.contents;for(let K of D){if(Cu(K))continue;let q=Ld("div.markdown-hover"),Q=w(q,Ld("div.hover-contents")),te=C.add(p.render(K,{context:m,asyncRenderCallback:()=>{Q.className="hover-contents code-hover-contents",v()}}));Q.appendChild(te.element),I.appendChild(q)}return{hoverPart:u,hoverElement:y,dispose(){C.dispose()}}}function Mk(m,u){switch(u){case Ho.Increase:return m.appendKeybinding(e(1193,"Increase Hover Verbosity"),bd);case Ho.Decrease:return m.appendKeybinding(e(1194,"Decrease Hover Verbosity"),vd)}}var zE=function(m,u,p,v){var C=arguments.length,y=C<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,p):v,I;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")y=Reflect.decorate(m,u,p,v);else for(var D=m.length-1;D>=0;D--)if(I=m[D])y=(C<3?I(y):C>3?I(u,p,y):I(u,p))||y;return C>3&&y&&Object.defineProperty(u,p,y),y},cw=function(m,u){return function(p,v){u(p,v,m)}},ef=class m{constructor(u){this._editorWorkerService=u}async provideDocumentColors(u,p){return this._editorWorkerService.computeDefaultDocumentColors(u.uri)}provideColorPresentations(u,p,v){let{range:C,color:y}=p,I=new f(new k(Math.round(255*y.red),Math.round(255*y.green),Math.round(255*y.blue),y.alpha)),D=f.Format.CSS.formatRGB(I),T=f.Format.CSS.formatHSL(I),K=f.Format.CSS.formatHexA(I,!0),q=[];return q.push({label:D,textEdit:{range:C,text:D}}),q.push({label:T,textEdit:{range:C,text:T}}),q.push({label:K,textEdit:{range:C,text:K}}),q}};ef=zE([cw(0,gi)],ef);var h_=class m extends n{constructor(u,p){super();this._register(u.colorProvider.register("*",new ef(p)))}};h_=zE([cw(0,j),cw(1,gi)],h_);async function p_(m,u,p,v="auto"){return f_(new UE,m,u,p,v)}function hw(m,u,p,v){return Promise.resolve(p.provideColorPresentations(m,u,v))}class UE{constructor(){}async compute(m,u,p,v){let C=await m.provideDocumentColors(u,p);if(Array.isArray(C))for(let y of C)v.push({colorInfo:y,provider:m});return Array.isArray(C)}}class Z1{constructor(){}async compute(m,u,p,v){let C=await m.provideDocumentColors(u,p);if(Array.isArray(C))for(let y of C)v.push({range:y.range,color:[y.color.red,y.color.green,y.color.blue,y.color.alpha]});return Array.isArray(C)}}class X1{constructor(m){this.colorInfo=m}async compute(m,u,p,v){let C=await m.provideColorPresentations(u,this.colorInfo,he.None);if(Array.isArray(C))v.push(...C);return Array.isArray(C)}}async function f_(m,u,p,v,C){let y=!1,I,D=[],T=u.ordered(p);for(let K=T.length-1;K>=0;K--){let q=T[K];if(C!=="always"&&q instanceof ef)I=q;else try{if(await m.compute(q,p,v,D))y=!0}catch(Q){dt(Q)}}if(y)return D;if(I&&C!=="never")return await m.compute(I,p,v,D),D;return[]}function Q1(m,u){let{colorProvider:p}=m.get(j),v=m.get(bt).getModel(u);if(!v)throw tr();let C=m.get(X).getValue("editor.defaultColorDecorators",{resource:u});return{model:v,colorProviderRegistry:p,defaultColorDecoratorsEnablement:C}}var Pk=function(m,u,p,v){var C=arguments.length,y=C<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,p):v,I;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")y=Reflect.decorate(m,u,p,v);else for(var D=m.length-1;D>=0;D--)if(I=m[D])y=(C<3?I(y):C>3?I(u,p,y):I(u,p))||y;return C>3&&y&&Object.defineProperty(u,p,y),y},uw=function(m,u){return function(p,v){u(p,v,m)}},Ed,gw=Object.create({}),ou=class m extends n{static{Ed=this}static{this.ID="editor.contrib.colorDetector"}static{this.RECOMPUTE_TIME=1000}static{this.colorDecoratorInnerWidthInEm=0.8}static{this.colorDecoratorMarginInEm=0.2}constructor(u,p,v,C){super();this._editor=u,this._configurationService=p,this._languageFeaturesService=v,this._localToDispose=this._register(new c),this._decorationsIds=[],this._colorDatas=new Map,this._decoratorLimitReporter=this._register(new $E),this._colorDecorationClassRefs=this._register(new c),this._colorDecoratorIds=this._editor.createDecorationsCollection(),this._ruleFactory=this._register(new Dg(this._editor));let y=this._editor.getContainerDomNode();y.style.setProperty("--vscode-colorPicker-colorDecoratorWidth",`${Ed.colorDecoratorInnerWidthInEm}em`),y.style.setProperty("--vscode-colorPicker-colorDecoratorMargin",`${Ed.colorDecoratorMarginInEm}em`),this._register(E(()=>{y.style.removeProperty("--vscode-colorPicker-colorDecoratorWidth"),y.style.removeProperty("--vscode-colorPicker-colorDecoratorMargin")})),this._debounceInformation=C.for(v.colorProvider,"Document Colors",{min:Ed.RECOMPUTE_TIME}),this._register(u.onDidChangeModel(()=>{this._isColorDecoratorsEnabled=this.isEnabled(),this.updateColors()})),this._register(u.onDidChangeModelLanguage(()=>this.updateColors())),this._register(v.colorProvider.onDidChange(()=>this.updateColors())),this._register(u.onDidChangeConfiguration((I)=>{let D=this._isColorDecoratorsEnabled;this._isColorDecoratorsEnabled=this.isEnabled(),this._defaultColorDecoratorsEnablement=this._editor.getOption(168);let T=D!==this._isColorDecoratorsEnabled||I.hasChanged(27),K=I.hasChanged(168);if(T||K)if(this._isColorDecoratorsEnabled)this.updateColors();else this.removeAllDecorations()})),this._timeoutTimer=null,this._computePromise=null,this._isColorDecoratorsEnabled=this.isEnabled(),this._defaultColorDecoratorsEnablement=this._editor.getOption(168),this.updateColors()}isEnabled(){let u=this._editor.getModel();if(!u)return!1;let p=u.getLanguageId(),v=this._configurationService.getValue(p);if(v&&typeof v==="object"){let C=v.colorDecorators;if(C&&C.enable!==void 0&&!C.enable)return C.enable}return this._editor.getOption(26)}static get(u){return u.getContribution(this.ID)}dispose(){this.stop(),this.removeAllDecorations(),super.dispose()}updateColors(){if(this.stop(),!this._isColorDecoratorsEnabled){this.removeAllDecorations();return}let u=this._editor.getModel();if(!u||!this._languageFeaturesService.colorProvider.has(u))return;this._localToDispose.add(this._editor.onDidChangeModelContent(()=>{if(!this._timeoutTimer)this._timeoutTimer=new qn,this._timeoutTimer.cancelAndSet(()=>{this._timeoutTimer=null,this.beginCompute()},this._debounceInformation.get(u))})),this.beginCompute()}async beginCompute(){this._computePromise=jt(async(u)=>{let p=this._editor.getModel();if(!p)return[];let v=new Yt(!1),C=await p_(this._languageFeaturesService.colorProvider,p,u,this._defaultColorDecoratorsEnablement);return this._debounceInformation.update(p,v.elapsed()),C});try{let u=await this._computePromise;this.updateDecorations(u),this.updateColorDecorators(u),this._computePromise=null}catch(u){J(u)}}stop(){if(this._timeoutTimer)this._timeoutTimer.cancel(),this._timeoutTimer=null;if(this._computePromise)this._computePromise.cancel(),this._computePromise=null;this._localToDispose.clear()}updateDecorations(u){let p=u.map((v)=>({range:{startLineNumber:v.colorInfo.range.startLineNumber,startColumn:v.colorInfo.range.startColumn,endLineNumber:v.colorInfo.range.endLineNumber,endColumn:v.colorInfo.range.endColumn},options:re.EMPTY}));this._editor.changeDecorations((v)=>{this._decorationsIds=v.deltaDecorations(this._decorationsIds,p),this._colorDatas=new Map,this._decorationsIds.forEach((C,y)=>this._colorDatas.set(C,u[y]))})}updateColorDecorators(u){this._colorDecorationClassRefs.clear();let p=[],v=Ed.colorDecoratorInnerWidthInEm+2*Ed.colorDecoratorMarginInEm,C=this._editor.getOption(27);for(let I=0;I<u.length&&p.length<C;I++){let{red:D,green:T,blue:K,alpha:q}=u[I].colorInfo.color,Q=new k(Math.round(D*255),Math.round(T*255),Math.round(K*255),q),te=`rgba(${Q.r}, ${Q.g}, ${Q.b}, ${Q.a})`,oe=this._colorDecorationClassRefs.add(this._ruleFactory.createClassNameRef({backgroundColor:te}));p.push({range:{startLineNumber:u[I].colorInfo.range.startLineNumber,startColumn:u[I].colorInfo.range.startColumn,endLineNumber:u[I].colorInfo.range.endLineNumber,endColumn:u[I].colorInfo.range.endColumn},options:{description:"colorDetector",before:{content:k_,inlineClassName:`${oe.className} colorpicker-color-decoration`,inlineClassNameAffectsLetterSpacing:!0,attachedData:gw,widthInEm:v}}})}let y=C<u.length?C:!1;this._decoratorLimitReporter.update(u.length,y),this._colorDecoratorIds.set(p)}removeAllDecorations(){this._editor.removeDecorations(this._decorationsIds),this._decorationsIds=[],this._colorDecoratorIds.clear(),this._colorDecorationClassRefs.clear()}getColorData(u){let p=this._editor.getModel();if(!p)return null;let v=p.getDecorationsInRange(t.fromPositions(u,u)).filter((C)=>this._colorDatas.has(C.id));if(v.length===0)return null;return this._colorDatas.get(v[0].id)}isColorDecoration(u){return this._colorDecoratorIds.has(u)}};ou=Ed=Pk([uw(1,X),uw(2,j),uw(3,Wi)],ou);class $E extends n{constructor(){super(...arguments);this._onDidChange=this._register(new i),this._computed=0,this._limited=!1}update(m,u){if(m!==this._computed||u!==this._limited)this._computed=m,this._limited=u,this._onDidChange.fire()}}var jE=g;class pw extends n{constructor(m,u,p){super();this.model=u,this.pixelRatio=p,this._onDidChange=this._register(new i),this.onDidChange=this._onDidChange.event,this._onColorFlushed=this._register(new i),this.onColorFlushed=this._onColorFlushed.event,this._domNode=jE(".saturation-wrap"),w(m,this._domNode),this._canvas=document.createElement("canvas"),this._canvas.className="saturation-box",w(this._domNode,this._canvas),this.selection=jE(".saturation-selection"),w(this._domNode,this.selection),this.layout(),this._register(l(this._domNode,x.POINTER_DOWN,(v)=>this.onPointerDown(v))),this._register(this.model.onDidChangeColor(this.onDidChangeColor,this)),this.monitor=null}get domNode(){return this._domNode}onPointerDown(m){if(!m.target||!(m.target instanceof Element))return;this.monitor=this._register(new ja);let u=gt(this._domNode);if(m.target!==this.selection)this.onDidChangePosition(m.offsetX,m.offsetY);this.monitor.startMonitoring(m.target,m.pointerId,m.buttons,(v)=>this.onDidChangePosition(v.pageX-u.left,v.pageY-u.top),()=>null);let p=l(m.target.ownerDocument,x.POINTER_UP,()=>{if(this._onColorFlushed.fire(),p.dispose(),this.monitor)this.monitor.stopMonitoring(!0),this.monitor=null},!0)}onDidChangePosition(m,u){let p=Math.max(0,Math.min(1,m/this.width)),v=Math.max(0,Math.min(1,1-u/this.height));this.paintSelection(p,v),this._onDidChange.fire({s:p,v})}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 m=this.model.color.hsva;this.paintSelection(m.s,m.v)}paint(){let m=this.model.color.hsva,u=new f(new Cl(m.h,1,1,1)),p=this._canvas.getContext("2d"),v=p.createLinearGradient(0,0,this._canvas.width,0);v.addColorStop(0,"rgba(255, 255, 255, 1)"),v.addColorStop(0.5,"rgba(255, 255, 255, 0.5)"),v.addColorStop(1,"rgba(255, 255, 255, 0)");let C=p.createLinearGradient(0,0,0,this._canvas.height);C.addColorStop(0,"rgba(0, 0, 0, 0)"),C.addColorStop(1,"rgba(0, 0, 0, 1)"),p.rect(0,0,this._canvas.width,this._canvas.height),p.fillStyle=f.Format.CSS.format(u),p.fill(),p.fillStyle=v,p.fill(),p.fillStyle=C,p.fill()}paintSelection(m,u){this.selection.style.left=`${m*this.width}px`,this.selection.style.top=`${this.height-u*this.height}px`}onDidChangeColor(m){if(this.monitor&&this.monitor.isMonitoring())return;this.paint();let u=m.hsva;this.paintSelection(u.s,u.v)}}class mw extends n{constructor(m){super();this._onClicked=this._register(new i),this.onClicked=this._onClicked.event,this._button=w(m,document.createElement("button")),this._button.classList.add("insert-button"),this._button.textContent="Insert",this._register(l(this._button,x.CLICK,()=>{this._onClicked.fire()}))}get button(){return this._button}}var Eu=g;class fw extends n{constructor(m,u,p){super();if(this.model=u,this._onDidChange=this._register(new i),this.onDidChange=this._onDidChange.event,this._onColorFlushed=this._register(new i),this.onColorFlushed=this._onColorFlushed.event,p==="standalone")this.domNode=w(m,Eu(".standalone-strip")),this.overlay=w(this.domNode,Eu(".standalone-overlay"));else this.domNode=w(m,Eu(".strip")),this.overlay=w(this.domNode,Eu(".overlay"));this.slider=w(this.domNode,Eu(".slider")),this.slider.style.top="0px",this._register(l(this.domNode,x.POINTER_DOWN,(v)=>this.onPointerDown(v))),this._register(u.onDidChangeColor(this.onDidChangeColor,this)),this.layout()}layout(){this.height=this.domNode.offsetHeight-this.slider.offsetHeight;let m=this.getValue(this.model.color);this.updateSliderPosition(m)}onDidChangeColor(m){let u=this.getValue(m);this.updateSliderPosition(u)}onPointerDown(m){if(!m.target||!(m.target instanceof Element))return;let u=this._register(new ja),p=gt(this.domNode);if(this.domNode.classList.add("grabbing"),m.target!==this.slider)this.onDidChangeTop(m.offsetY);u.startMonitoring(m.target,m.pointerId,m.buttons,(C)=>this.onDidChangeTop(C.pageY-p.top),()=>null);let v=l(m.target.ownerDocument,x.POINTER_UP,()=>{this._onColorFlushed.fire(),v.dispose(),u.stopMonitoring(!0),this.domNode.classList.remove("grabbing")},!0)}onDidChangeTop(m){let u=Math.max(0,Math.min(1,1-m/this.height));this.updateSliderPosition(u),this._onDidChange.fire(u)}updateSliderPosition(m){this.slider.style.top=`${(1-m)*this.height}px`}}class _w extends fw{constructor(m,u,p){super(m,u,p);this.domNode.classList.add("opacity-strip"),this.onDidChangeColor(this.model.color)}onDidChangeColor(m){super.onDidChangeColor(m);let{r:u,g:p,b:v}=m.rgba,C=new f(new k(u,p,v,1)),y=new f(new k(u,p,v,0));this.overlay.style.background=`linear-gradient(to bottom, ${C} 0%, ${y} 100%)`}getValue(m){return m.hsva.a}}class bw extends fw{constructor(m,u,p){super(m,u,p);this.domNode.classList.add("hue-strip")}getValue(m){return 1-m.hsva.h/360}}var Ak=g;class vw extends n{constructor(m,u,p,v){super();if(this.model=u,this.pixelRatio=p,this._insertButton=null,this._domNode=Ak(".colorpicker-body"),w(m,this._domNode),this._saturationBox=new pw(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 _w(this._domNode,this.model,v),this._register(this._opacityStrip),this._register(this._opacityStrip.onDidChange(this.onDidOpacityChange,this)),this._register(this._opacityStrip.onColorFlushed(this.flushColor,this)),this._hueStrip=new bw(this._domNode,this.model,v),this._register(this._hueStrip),this._register(this._hueStrip.onDidChange(this.onDidHueChange,this)),this._register(this._hueStrip.onColorFlushed(this.flushColor,this)),v==="standalone")this._insertButton=this._register(new mw(this._domNode)),this._domNode.classList.add("standalone-colorpicker")}flushColor(){this.model.flushColor()}onDidSaturationValueChange({s:m,v:u}){let p=this.model.color.hsva;this.model.color=new f(new Cl(p.h,m,u,p.a))}onDidOpacityChange(m){let u=this.model.color.hsva;this.model.color=new f(new Cl(u.h,u.s,u.v,m))}onDidHueChange(m){let u=this.model.color.hsva,p=(1-m)*360;this.model.color=new f(new Cl(p===360?0:p,u.s,u.v,u.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()}}var Fk=g;class Sw extends n{constructor(m){super();this._onClicked=this._register(new i),this.onClicked=this._onClicked.event,this._button=document.createElement("div"),this._button.classList.add("close-button"),w(m,this._button);let u=document.createElement("div");u.classList.add("close-button-inner-div"),w(this._button,u),w(u,Fk(".button"+G.asCSSSelector($t("color-picker-close",b.close,e(936,"Icon to close the color picker"))))).classList.add("close-icon"),this._register(l(this._button,x.CLICK,()=>{this._onClicked.fire()}))}}var xm=g;class ww extends n{constructor(m,u,p,v){super();this.model=u,this.type=v,this._closeButton=null,this._domNode=xm(".colorpicker-header"),w(m,this._domNode),this._pickedColorNode=w(this._domNode,xm(".picked-color")),w(this._pickedColorNode,xm("span.codicon.codicon-color-mode")),this._pickedColorPresentation=w(this._pickedColorNode,document.createElement("span")),this._pickedColorPresentation.classList.add("picked-color-presentation");let C=e(937,"Click to toggle color options (rgb/hsl/hex)");if(this._pickedColorNode.setAttribute("title",C),this._originalColorNode=w(this._domNode,xm(".original-color")),this._originalColorNode.style.backgroundColor=f.Format.CSS.format(this.model.originalColor)||"",this.backgroundColor=p.getColorTheme().getColor(wf)||f.white,this._register(p.onDidColorThemeChange((y)=>{this.backgroundColor=y.getColor(wf)||f.white})),this._register(l(this._pickedColorNode,x.CLICK,()=>this.model.selectNextColorPresentation())),this._register(l(this._originalColorNode,x.CLICK,()=>{this.model.color=this.model.originalColor,this.model.flushColor()})),this._register(u.onDidChangeColor(this.onDidChangeColor,this)),this._register(u.onDidChangePresentation(this.onDidChangePresentation,this)),this._pickedColorNode.style.backgroundColor=f.Format.CSS.format(u.color)||"",this._pickedColorNode.classList.toggle("light",u.color.rgba.a<0.5?this.backgroundColor.isLighter():u.color.isLighter()),this.onDidChangeColor(this.model.color),this.type==="standalone")this._domNode.classList.add("standalone-colorpicker"),this._closeButton=this._register(new Sw(this._domNode))}get closeButton(){return this._closeButton}get pickedColorNode(){return this._pickedColorNode}get originalColorNode(){return this._originalColorNode}onDidChangeColor(m){this._pickedColorNode.style.backgroundColor=f.Format.CSS.format(m)||"",this._pickedColorNode.classList.toggle("light",m.rgba.a<0.5?this.backgroundColor.isLighter():m.isLighter()),this.onDidChangePresentation()}onDidChangePresentation(){this._pickedColorPresentation.textContent=this.model.presentation?this.model.presentation.label:""}}var Hk=g;class av extends ri{constructor(m,u,p,v,C){super();this.model=u,this.pixelRatio=p,this._register(Rh.getInstance(F(m)).onDidChange(()=>this.layout())),this._domNode=Hk(".colorpicker-widget"),m.appendChild(this._domNode),this.header=this._register(new ww(this._domNode,this.model,v,C)),this.body=this._register(new vw(this._domNode,this.model,this.pixelRatio,C))}layout(){this.body.layout()}get domNode(){return this._domNode}}class Cw extends n{get color(){return this._color}set color(m){if(this._color.equals(m))return;this._color=m,this._onDidChangeColor.fire(m)}get presentation(){return this.colorPresentations[this.presentationIndex]}get colorPresentations(){return this._colorPresentations}set colorPresentations(m){if(this._colorPresentations=m,this.presentationIndex>m.length-1)this.presentationIndex=0;this._onDidChangePresentation.fire(this.presentation)}constructor(m,u,p){super();this.presentationIndex=p,this._onColorFlushed=this._register(new i),this.onColorFlushed=this._onColorFlushed.event,this._onDidChangeColor=this._register(new i),this.onDidChangeColor=this._onDidChangeColor.event,this._onDidChangePresentation=this._register(new i),this.onDidChangePresentation=this._onDidChangePresentation.event,this.originalColor=m,this._color=m,this._colorPresentations=u}selectNextColorPresentation(){this.presentationIndex=(this.presentationIndex+1)%this.colorPresentations.length,this.flushColor(),this._onDidChangePresentation.fire(this.presentation)}guessColorPresentation(m,u){let p=-1;for(let v=0;v<this.colorPresentations.length;v++)if(u.toLowerCase()===this.colorPresentations[v].label){p=v;break}if(p===-1){let v=u.split("(")[0].toLowerCase();for(let C=0;C<this.colorPresentations.length;C++)if(this.colorPresentations[C].label.toLowerCase().startsWith(v)){p=C;break}}if(p!==-1&&p!==this.presentationIndex)this.presentationIndex=p,this._onDidChangePresentation.fire(this.presentation)}flushColor(){this._onColorFlushed.fire(this._color)}}async function m_(m,u,p){let v=m.getValueInRange(u.range),{red:C,green:y,blue:I,alpha:D}=u.color,T=new k(Math.round(C*255),Math.round(y*255),Math.round(I*255),D),K=new f(T),q=await hw(m,u,p,he.None),Q=new Cw(K,[],0);return Q.colorPresentations=q||[],Q.guessColorPresentation(K,v),{range:t.lift(u.range),model:Q,provider:p}}function g_(m,u,p,v){let C=[],y=p.presentation.textEdit??{range:u,text:p.presentation.label,forceMoveMarkers:!1};if(p.presentation.additionalTextEdits)C.push(...p.presentation.additionalTextEdits);let I=t.lift(y.range),D=m.getModel()._setTrackedRange(null,I,3);if(v)C.push(...v.map((T)=>({range:T,text:y.text,forceMoveMarkers:!1})));else C.push(y);return m.executeEdits("colorpicker",C),m.pushUndoStop(),m.getModel()._getTrackedRange(D)??I}async function tf(m,u,p,v,C){let y=await hw(m,{range:v,color:{red:p.rgba.r/255,green:p.rgba.g/255,blue:p.rgba.b/255,alpha:p.rgba.a}},C.provider,he.None);u.colorPresentations=y||[]}var Wk=function(m,u,p,v){var C=arguments.length,y=C<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,p):v,I;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")y=Reflect.decorate(m,u,p,v);else for(var D=m.length-1;D>=0;D--)if(I=m[D])y=(C<3?I(y):C>3?I(u,p,y):I(u,p))||y;return C>3&&y&&Object.defineProperty(u,p,y),y},Bk=function(m,u){return function(p,v){u(p,v,m)}};class Pl{constructor(m,u,p,v){this.owner=m,this.range=u,this.model=p,this.provider=v,this.forceShowAtRange=!0}isValidForHoverAnchor(m){return m.type===1&&this.range.startColumn<=m.range.startColumn&&this.range.endColumn>=m.range.endColumn}static fromBaseColor(m,u){return new Pl(m,u.range,u.model,u.provider)}}var lg=class m{constructor(u,p){this._editor=u,this._themeService=p,this.hoverOrdinal=2}computeSync(u,p,v){return[]}computeAsync(u,p,v,C){return jn.fromPromise(this._computeAsync(u,p,v))}async _computeAsync(u,p,v){if(!this._editor.hasModel())return[];if(!this._isValidRequest(v))return[];let C=ou.get(this._editor);if(!C)return[];for(let y of p){if(!C.isColorDecoration(y))continue;let I=C.getColorData(y.range.getStartPosition());if(I)return[Pl.fromBaseColor(this,await m_(this._editor.getModel(),I.colorInfo,I.provider))]}return[]}_isValidRequest(u){let p=this._editor.getOption(169);switch(u){case 0:return p==="hover"||p==="clickAndHover";case 1:return p==="click"||p==="clickAndHover";case 2:return!0}}renderHoverParts(u,p){let v=this._editor;if(p.length===0||!v.hasModel())return new Xo([]);let C=v.getOption(75)+8;u.setMinimumDimensions(new Ye(302,C));let y=new c,I=p[0],D=v.getModel(),T=I.model;this._colorPicker=y.add(new av(u.fragment,T,v.getOption(164),this._themeService,"hover"));let K=!1,q=new t(I.range.startLineNumber,I.range.startColumn,I.range.endLineNumber,I.range.endColumn);y.add(T.onColorFlushed(async(te)=>{await tf(D,T,te,q,I),K=!0,q=g_(v,q,T)})),y.add(T.onDidChangeColor((te)=>{tf(D,T,te,q,I)})),y.add(v.onDidChangeModelContent((te)=>{if(K)K=!1;else u.hide(),v.focus()}));let Q={hoverPart:Pl.fromBaseColor(this,I),hoverElement:this._colorPicker.domNode,dispose(){y.dispose()}};return new Xo([Q])}getAccessibleContent(u){return e(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}};lg=Wk([Bk(1,Ne)],lg);class Im{constructor(m,u){this.range=m,this.direction=u}}class yw{constructor(m,u,p){this.hint=m,this.anchor=u,this.provider=p,this._isResolved=!1}with(m){let u=new yw(this.hint,m.anchor,this.provider);return u._isResolved=this._isResolved,u._currentResolve=this._currentResolve,u}async resolve(m){if(typeof this.provider.resolveInlayHint!=="function")return;if(this._currentResolve){if(await this._currentResolve,m.isCancellationRequested)return;return this.resolve(m)}if(!this._isResolved)this._currentResolve=this._doResolve(m).finally(()=>this._currentResolve=void 0);await this._currentResolve}async _doResolve(m){try{let u=await Promise.resolve(this.provider.resolveInlayHint(this.hint,m));this.hint.tooltip=u?.tooltip??this.hint.tooltip,this.hint.label=u?.label??this.hint.label,this.hint.textEdits=u?.textEdits??this.hint.textEdits,this._isResolved=!0}catch(u){dt(u),this._isResolved=!1}}}class Dd{static{this._emptyInlayHintList=Object.freeze({dispose(){},hints:[]})}static async create(m,u,p,v){let C=[],y=m.ordered(u).reverse().map((I)=>p.map(async(D)=>{try{let T=await I.provideInlayHints(u,D,v);if(T?.hints.length||I.onDidChangeInlayHints)C.push([T??Dd._emptyInlayHintList,I])}catch(T){dt(T)}}));if(await Promise.all(y.flat()),v.isCancellationRequested||u.isDisposed())throw new io;return new Dd(p,C,u)}constructor(m,u,p){this._disposables=new c,this.ranges=m,this.provider=new Set;let v=[];for(let[C,y]of u){this._disposables.add(C),this.provider.add(y);for(let I of C.hints){let D=p.validatePosition(I.position),T="before",K=Dd._getRangeAtPosition(p,D),q;if(K.getStartPosition().isBefore(D))q=t.fromPositions(K.getStartPosition(),D),T="after";else q=t.fromPositions(D,K.getEndPosition()),T="before";v.push(new yw(I,new Im(q,T),y))}}this.items=v.sort((C,y)=>o.compare(C.hint.position,y.hint.position))}dispose(){this._disposables.dispose()}static _getRangeAtPosition(m,u){let p=u.lineNumber,v=m.getWordAtPosition(u);if(v)return new t(p,v.startColumn,p,v.endColumn);m.tokenization.tokenizeIfCheap(p);let C=m.tokenization.getLineTokens(p),y=u.column-1,I=C.findTokenIndexAtOffset(y),D=C.getStartOffset(I),T=C.getEndOffset(I);if(T-D===1){if(D===y&&I>1)D=C.getStartOffset(I-1),T=C.getEndOffset(I-1);else if(T===y&&I<C.getCount()-1)D=C.getStartOffset(I+1),T=C.getEndOffset(I+1)}return new t(p,D+1,p,T+1)}}function GE(m){return Q_(m.id,...m.arguments??[]).toString()}async function qE(m,u,p,v){let C=m.get(bn),y=m.get(On),I=m.get(Ae),D=m.get(L),T=m.get(ut);if(await v.item.resolve(he.None),!v.part.location)return;let K=v.part.location,q=[],Q=new Set(Dn.getMenuItems(a.EditorContext).map((oe)=>$h(oe)?oe.command.id:Wa()));for(let oe of Qi.all())if(Q.has(oe.desc.id))q.push(new nr(oe.desc.id,Ti.label(oe.desc,{renderShortTitle:!0}),void 0,!0,async()=>{let ne=await C.createModelReference(K.uri);try{let ae=new yd(ne.object.textEditorModel,t.getStartPosition(K.range)),ge=v.item.anchor.range;await D.invokeFunction(oe.runEditorCommand.bind(oe),u,ae,ge)}finally{ne.dispose()}}));if(v.part.command){let{command:oe}=v.part;q.push(new Qe),q.push(new nr(oe.id,oe.title,void 0,!0,async()=>{try{await I.executeCommand(oe.id,...oe.arguments??[])}catch(ne){T.notify({severity:Ll.Error,source:v.item.provider.displayName,message:ne})}}))}let te=u.getOption(144);y.showContextMenu({domForShadowRoot:te?u.getDomNode()??void 0:void 0,getAnchor:()=>{let oe=gt(p);return{x:oe.left,y:oe.top+oe.height+8}},getActions:()=>q,onHide:()=>{u.focus()},autoSelectFirstItem:!0})}async function Lm(m,u,p,v){let y=await m.get(bn).createModelReference(v.uri);await p.invokeWithinContext(async(I)=>{let D=u.hasSideBySideModifier,T=I.get(z),K=Ai.inPeekEditor.getValue(T),q=!D&&p.getOption(101)&&!K;return new ha({openToSide:D,openInPeek:q,muteMessage:!0},{title:{value:"",original:""},id:"",precondition:void 0}).run(I,new yd(y.object.textEditorModel,t.getStartPosition(v.range)),t.lift(v.range))}),y.dispose()}var Vk=function(m,u,p,v){var C=arguments.length,y=C<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,p):v,I;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")y=Reflect.decorate(m,u,p,v);else for(var D=m.length-1;D>=0;D--)if(I=m[D])y=(C<3?I(y):C>3?I(u,p,y):I(u,p))||y;return C>3&&y&&Object.defineProperty(u,p,y),y},Fl=function(m,u){return function(p,v){u(p,v,m)}},Hl;class Em{constructor(){this._entries=new Li(50)}get(m){let u=Em._key(m);return this._entries.get(u)}set(m,u){let p=Em._key(m);this._entries.set(p,u)}static _key(m){return`${m.uri.toString()}/${m.getVersionId()}`}}var ZE=Z("IInlayHintsCache");fe(ZE,Em,1);class Du{constructor(m,u){this.item=m,this.index=u}get part(){let m=this.item.hint.label;if(typeof m==="string")return{label:m};else return m[this.index]}}class XE{constructor(m,u){this.part=m,this.hasTriggerModifier=u}}class YE{constructor(){this._store=new ie,this._tokenSource=new Pe}dispose(){this._store.dispose(),this._tokenSource.dispose(!0)}reset(){return this._tokenSource.dispose(!0),this._tokenSource=new Pe,this._store.value=new c,{store:this._store.value,token:this._tokenSource.token}}}var nf=class m{static{Hl=this}static{this.ID="editor.contrib.InlayHints"}static{this._MAX_DECORATORS=1500}static{this._whitespaceData={}}static get(u){return u.getContribution(Hl.ID)??void 0}constructor(u,p,v,C,y,I,D){this._editor=u,this._languageFeaturesService=p,this._inlayHintsCache=C,this._commandService=y,this._notificationService=I,this._instaService=D,this._disposables=new c,this._sessionDisposables=new c,this._decorationsMetadata=new Map,this._activeRenderMode=0,this._ruleFactory=this._disposables.add(new Dg(this._editor)),this._debounceInfo=v.for(p.inlayHintsProvider,"InlayHint",{min:25}),this._disposables.add(p.inlayHintsProvider.onDidChange(()=>this._update())),this._disposables.add(u.onDidChangeModel(()=>this._update())),this._disposables.add(u.onDidChangeModelLanguage(()=>this._update())),this._disposables.add(u.onDidChangeConfiguration((T)=>{if(T.hasChanged(159))this._update()})),this._update()}dispose(){this._sessionDisposables.dispose(),this._removeAllDecorations(),this._disposables.dispose()}_update(){this._sessionDisposables.clear(),this._removeAllDecorations();let u=this._editor.getOption(159);if(u.enabled==="off")return;let p=this._editor.getModel();if(!p||!this._languageFeaturesService.inlayHintsProvider.has(p))return;if(u.enabled==="on")this._activeRenderMode=0;else{let K,q;if(u.enabled==="onUnlessPressed")K=0,q=1;else K=1,q=0;this._activeRenderMode=K,this._sessionDisposables.add(ra.getInstance().event((Q)=>{if(!this._editor.hasModel())return;let te=Q.altKey&&Q.ctrlKey&&!(Q.shiftKey||Q.metaKey)?q:K;if(te!==this._activeRenderMode){this._activeRenderMode=te;let oe=this._editor.getModel(),ne=this._copyInlayHintsWithCurrentAnchor(oe);this._updateHintsDecorators([oe.getFullModelRange()],ne),D.schedule(0)}}))}let v=this._inlayHintsCache.get(p);if(v)this._updateHintsDecorators([p.getFullModelRange()],v);this._sessionDisposables.add(E(()=>{if(!p.isDisposed())this._cacheHintsForFastRestore(p)}));let C,y=new Set;this._sessionDisposables.add(p.onWillDispose(()=>C?.cancel()));let I=this._sessionDisposables.add(new YE),D=new be(async()=>{let K=Date.now(),{store:q,token:Q}=I.reset();try{let te=await Dd.create(this._languageFeaturesService.inlayHintsProvider,p,this._getHintsRanges(),Q);if(D.delay=this._debounceInfo.update(p,Date.now()-K),Q.isCancellationRequested){te.dispose();return}for(let oe of te.provider)if(typeof oe.onDidChangeInlayHints==="function"&&!y.has(oe))y.add(oe),q.add(oe.onDidChangeInlayHints(()=>{if(!D.isScheduled())D.schedule()}));q.add(te),q.add(E(()=>y.clear())),this._updateHintsDecorators(te.ranges,te.items),this._cacheHintsForFastRestore(p)}catch(te){J(te)}},this._debounceInfo.get(p));this._sessionDisposables.add(D),D.schedule(0),this._sessionDisposables.add(this._editor.onDidScrollChange((K)=>{if(K.scrollTopChanged||!D.isScheduled())D.schedule()}));let T=this._sessionDisposables.add(new ie);this._sessionDisposables.add(this._editor.onDidChangeModelContent((K)=>{let q=Math.max(D.delay,800);this._cursorInfo={position:this._editor.getPosition(),notEarlierThan:Date.now()+q},T.value=Yn(()=>D.schedule(0),q),D.schedule()})),this._sessionDisposables.add(this._editor.onDidChangeConfiguration((K)=>{if(K.hasChanged(159))D.schedule()})),this._sessionDisposables.add(this._installDblClickGesture(()=>D.schedule(0))),this._sessionDisposables.add(this._installLinkGesture()),this._sessionDisposables.add(this._installContextMenu())}_installLinkGesture(){let u=new c,p=u.add(new Ss(this._editor)),v=new c;return u.add(v),u.add(p.onMouseMoveOrRelevantKeyDown((C)=>{let[y]=C,I=this._getInlayHintLabelPart(y),D=this._editor.getModel();if(!I||!D){v.clear();return}let T=new Pe;v.add(E(()=>T.dispose(!0))),I.item.resolve(T.token),this._activeInlayHintPart=I.part.command||I.part.location?new XE(I,y.hasTriggerModifier):void 0;let K=D.validatePosition(I.item.hint.position).lineNumber,q=new t(K,1,K,D.getLineMaxColumn(K)),Q=this._getInlineHintsForRange(q);this._updateHintsDecorators([q],Q),v.add(E(()=>{this._activeInlayHintPart=void 0,this._updateHintsDecorators([q],Q)}))})),u.add(p.onCancel(()=>v.clear())),u.add(p.onExecute(async(C)=>{let y=this._getInlayHintLabelPart(C);if(y){let I=y.part;if(I.location)this._instaService.invokeFunction(Lm,C,this._editor,I.location);else if(bg.is(I.command))await this._invokeCommand(I.command,y.item)}})),u}_getInlineHintsForRange(u){let p=new Set;for(let v of this._decorationsMetadata.values())if(u.containsRange(v.item.anchor.range))p.add(v.item);return Array.from(p)}_installDblClickGesture(u){return this._editor.onMouseUp(async(p)=>{if(p.event.detail!==2)return;let v=this._getInlayHintLabelPart(p);if(!v)return;if(p.event.preventDefault(),await v.item.resolve(he.None),$n(v.item.hint.textEdits)){let C=v.item.hint.textEdits.map((y)=>Ft.replace(t.lift(y.range),y.text));this._editor.executeEdits("inlayHint.default",C),u()}})}_installContextMenu(){return this._editor.onContextMenu(async(u)=>{if(!xe(u.event.target))return;let p=this._getInlayHintLabelPart(u);if(p)await this._instaService.invokeFunction(qE,this._editor,u.event.target,p)})}_getInlayHintLabelPart(u){if(u.target.type!==6)return;let p=u.target.detail.injectedText?.options;if(p instanceof pc&&p?.attachedData instanceof Du)return p.attachedData;return}async _invokeCommand(u,p){try{await this._commandService.executeCommand(u.id,...u.arguments??[])}catch(v){this._notificationService.notify({severity:Ll.Error,source:p.provider.displayName,message:v})}}_cacheHintsForFastRestore(u){let p=this._copyInlayHintsWithCurrentAnchor(u);this._inlayHintsCache.set(u,p)}_copyInlayHintsWithCurrentAnchor(u){let p=new Map;for(let[v,C]of this._decorationsMetadata){if(p.has(C.item))continue;let y=u.getDecorationRange(v);if(y){let I=new Im(y,C.item.anchor.direction),D=C.item.with({anchor:I});p.set(C.item,D)}}return Array.from(p.values())}_getHintsRanges(){let p=this._editor.getModel(),v=this._editor.getVisibleRangesPlusViewportAboveBelow(),C=[];for(let y of v.sort(t.compareRangesUsingStarts)){let I=p.validateRange(new t(y.startLineNumber-30,y.startColumn,y.endLineNumber+30,y.endColumn));if(C.length===0||!t.areIntersectingOrTouching(C[C.length-1],I))C.push(I);else C[C.length-1]=t.plusRange(C[C.length-1],I)}return C}_updateHintsDecorators(u,p){let v=new Map;if(this._cursorInfo&&this._cursorInfo.notEarlierThan>Date.now()&&u.some((Ie)=>Ie.containsPosition(this._cursorInfo.position))){let{position:Ie}=this._cursorInfo;this._cursorInfo=void 0;let ke=new Map;for(let Le of this._editor.getLineDecorations(Ie.lineNumber)??[]){let He=this._decorationsMetadata.get(Le.id);if(Le.range.startColumn>Ie.column)continue;let Je=He?.decoration.options[He.item.anchor.direction];if(Je&&Je.attachedData!==Hl._whitespaceData){let tt=ke.get(He.item)??0;ke.set(He.item,tt+Je.content.length)}}let Oe=p.filter((Le)=>Le.anchor.range.startLineNumber===Ie.lineNumber&&Le.anchor.range.endColumn<=Ie.column),Ve=Array.from(ke.values()),Ue;while(!0){let Le=Oe.shift(),He=Ve.shift();if(!He&&!Le)break;if(Le)v.set(Le,He??0),Ue=Le;else if(Ue&&He){let Je=v.get(Ue);Je+=He,Je+=Ve.reduce((tt,ot)=>tt+ot,0),Ve.length=0;break}}}let{fontSize:C,fontFamily:y,padding:I,isUniform:D}=this._getLayoutInfo(),T=this._editor.getOption(61),K=[],q=(Ie,ke,Oe,Ve,Ue,Le)=>{let He={content:Oe,inlineClassNameAffectsLetterSpacing:!0,inlineClassName:ke.className,cursorStops:Ve,attachedData:Ue,widthInEm:Le};K.push({item:Ie,classNameRef:ke,decoration:{range:Ie.anchor.range,options:{description:"InlayHint",showIfCollapsed:Ie.anchor.range.isEmpty(),collapseOnReplaceEdit:!Ie.anchor.range.isEmpty(),stickiness:0,[Ie.anchor.direction]:this._activeRenderMode===0?He:void 0}}})},Q=(Ie,ke)=>{let Oe=C/3|0,Ve=Oe/T,Ue=this._ruleFactory.createClassNameRef({width:`${Oe}px`,display:"inline-block"});q(Ie,Ue,"",ke?Uo.Right:Uo.None,Hl._whitespaceData,Ve)},te=this._editor.getOption(159).maximumLength,oe="--code-editorInlayHintsFontFamily";this._editor.getContainerDomNode().style.setProperty(oe,y);let ne={line:0,totalLen:0};for(let Ie=0;Ie<p.length;Ie++){let ke=p[Ie];if(ne.line!==ke.anchor.range.startLineNumber)ne={line:ke.anchor.range.startLineNumber,totalLen:0};if(te&&ne.totalLen>te)continue;if(ke.hint.paddingLeft)Q(ke,!1);let Oe=typeof ke.hint.label==="string"?[{label:ke.hint.label}]:ke.hint.label,Ve=v.get(ke),Ue=0;for(let Le=0;Le<Oe.length;Le++){let He=Oe[Le],Je=Le===0,tt=Le===Oe.length-1,ot={fontSize:`${C}px`,fontFamily:`var(${oe}), ${dr.fontFamily}`,verticalAlign:D?"baseline":"middle",unicodeBidi:"isolate"};if($n(ke.hint.textEdits))ot.cursor="default";if(this._fillInColors(ot,ke.hint),(He.command||He.location)&&this._activeInlayHintPart?.part.item===ke&&this._activeInlayHintPart.part.index===Le){if(ot.textDecoration="underline",this._activeInlayHintPart.hasTriggerModifier)ot.color=nn(E$),ot.cursor="pointer"}let qe=He.label;ne.totalLen+=qe.length;let nt=!1,ft=te!==0?ne.totalLen-te:0;if(ft>0)qe=qe.slice(0,-ft)+"…",nt=!0;if(Ue+=qe.length,Ve!==void 0){let st=Ue-Ve;if(st>=0)Ue-=st,qe=qe.slice(0,-(1+st))+"…",nt=!0}if(I)if(Je&&(tt||nt))ot.padding=`1px ${Math.max(1,C/4)|0}px`,ot.borderRadius=`${C/4|0}px`;else if(Je)ot.padding=`1px 0 1px ${Math.max(1,C/4)|0}px`,ot.borderRadius=`${C/4|0}px 0 0 ${C/4|0}px`;else if(tt||nt)ot.padding=`1px ${Math.max(1,C/4)|0}px 1px 0`,ot.borderRadius=`0 ${C/4|0}px ${C/4|0}px 0`;else ot.padding="1px 0 1px 0";if(q(ke,this._ruleFactory.createClassNameRef(ot),Kk(qe),tt&&!ke.hint.paddingRight?Uo.Right:Uo.None,new Du(ke,Le)),nt)break}if(Ve!==void 0&&Ue<Ve){let Le=Ve-Ue;q(ke,this._ruleFactory.createClassNameRef({})," ".repeat(Le),Uo.None)}if(ke.hint.paddingRight)Q(ke,!0);if(K.length>Hl._MAX_DECORATORS)break}let ae=[];for(let[Ie,ke]of this._decorationsMetadata){let Oe=this._editor.getModel()?.getDecorationRange(Ie);if(Oe&&u.some((Ve)=>Ve.containsRange(Oe)))ae.push(Ie),ke.classNameRef.dispose(),this._decorationsMetadata.delete(Ie)}let ge=$o.capture(this._editor);this._editor.changeDecorations((Ie)=>{let ke=Ie.deltaDecorations(ae,K.map((Oe)=>Oe.decoration));for(let Oe=0;Oe<ke.length;Oe++){let Ve=K[Oe];this._decorationsMetadata.set(ke[Oe],Ve)}}),ge.restore(this._editor)}_fillInColors(u,p){if(p.kind===hv.Parameter)u.backgroundColor=nn(N$),u.color=nn(D$);else if(p.kind===hv.Type)u.backgroundColor=nn(I$),u.color=nn($$);else u.backgroundColor=nn(M_),u.color=nn(P_)}_getLayoutInfo(){let u=this._editor.getOption(159),p=u.padding,v=this._editor.getOption(61),C=this._editor.getOption(58),y=u.fontSize;if(!y||y<5||y>v)y=v;let I=u.fontFamily||C;return{fontSize:y,fontFamily:I,padding:p,isUniform:!p&&I===C&&y===v}}_removeAllDecorations(){this._editor.removeDecorations(Array.from(this._decorationsMetadata.keys()));for(let u of this._decorationsMetadata.values())u.classNameRef.dispose();this._decorationsMetadata.clear()}};nf=Hl=Vk([Fl(1,j),Fl(2,Wi),Fl(3,ZE),Fl(4,Ae),Fl(5,ut),Fl(6,L)],nf);function Kk(m){return m.replace(/[ \t]/g," ")}we.registerCommand("_executeInlayHintProvider",async(m,...u)=>{let[p,v]=u;Re(V.isUri(p)),Re(t.isIRange(v));let{inlayHintsProvider:C}=m.get(j),y=await m.get(bn).createModelReference(p);try{let I=await Dd.create(C,y.object.textEditorModel,[t.lift(v)],he.None),D=I.items.map((T)=>T.hint);return setTimeout(()=>I.dispose(),0),D}finally{y.dispose()}});var zk=function(m,u,p,v){var C=arguments.length,y=C<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,p):v,I;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")y=Reflect.decorate(m,u,p,v);else for(var D=m.length-1;D>=0;D--)if(I=m[D])y=(C<3?I(y):C>3?I(u,p,y):I(u,p))||y;return C>3&&y&&Object.defineProperty(u,p,y),y},Rd=function(m,u){return function(p,v){u(p,v,m)}};class xw extends pa{constructor(m,u,p,v){super(10,u,m.item.anchor.range,p,v,!0);this.part=m}}var cg=class m extends ma{constructor(u,p,v,C,y,I,D,T){super(u,p,y,D,v,C,T);this._resolverService=I,this.hoverOrdinal=6}suggestHoverAnchor(u){if(!nf.get(this._editor))return null;if(u.target.type!==6)return null;let v=u.target.detail.injectedText?.options;if(!(v instanceof pc&&v.attachedData instanceof Du))return null;return new xw(v.attachedData,this,u.event.posx,u.event.posy)}computeSync(){return[]}computeAsync(u,p,v,C){if(!(u instanceof xw))return jn.EMPTY;return new jn(async(y)=>{let{part:I}=u;if(await I.item.resolve(C),C.isCancellationRequested)return;let D;if(typeof I.item.hint.tooltip==="string")D=new xn().appendText(I.item.hint.tooltip);else if(I.item.hint.tooltip)D=I.item.hint.tooltip;if(D)y.emitOne(new _o(this,u.range,[D],!1,0));if($n(I.item.hint.textEdits))y.emitOne(new _o(this,u.range,[new xn().appendText(e(1220,"Double-click to insert"))],!1,10001));let T;if(typeof I.part.tooltip==="string")T=new xn().appendText(I.part.tooltip);else if(I.part.tooltip)T=I.part.tooltip;if(T)y.emitOne(new _o(this,u.range,[T],!1,1));if(I.part.location||I.part.command){let q,te=this._editor.getOption(86)==="altKey"?ue?e(1221,"cmd + click"):e(1222,"ctrl + click"):ue?e(1223,"option + click"):e(1224,"alt + click");if(I.part.location&&I.part.command)q=new xn().appendText(e(1225,"Go to Definition ({0}), right click for more",te));else if(I.part.location)q=new xn().appendText(e(1226,"Go to Definition ({0})",te));else if(I.part.command)q=new xn(`[${e(1227,"Execute Command")}](${GE(I.part.command)} "${I.part.command.title}") (${te})`,{isTrusted:!0});if(q)y.emitOne(new _o(this,u.range,[q],!1,1e4))}let K=this._resolveInlayHintLabelPartHover(I,C);for await(let q of K)y.emitOne(q)})}async*_resolveInlayHintLabelPartHover(u,p){if(!u.part.location)return;let{uri:v,range:C}=u.part.location,y=await this._resolverService.createModelReference(v);try{let I=y.object.textEditorModel;if(!this._languageFeaturesService.hoverProvider.has(I))return;for await(let D of _u(this._languageFeaturesService.hoverProvider,I,new o(C.startLineNumber,C.startColumn),p))if(!Cu(D.hover.contents))yield new _o(this,u.item.anchor.range,D.hover.contents,!1,2+D.ordinal)}finally{y.dispose()}}};cg=zk([Rd(1,vr),Rd(2,ce),Rd(3,wn),Rd(4,X),Rd(5,bn),Rd(6,j),Rd(7,Ae)],cg);var JE=function(m,u,p,v){var C=arguments.length,y=C<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,p):v,I;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")y=Reflect.decorate(m,u,p,v);else for(var D=m.length-1;D>=0;D--)if(I=m[D])y=(C<3?I(y):C>3?I(u,p,y):I(u,p))||y;return C>3&&y&&Object.defineProperty(u,p,y),y},Wl=function(m,u){return function(p,v){u(p,v,m)}},Iw,Lw,Dm=Iw=class m extends n{constructor(u,p,v,C,y,I,D){super();let T=p.hoverParts;this._renderedHoverParts=this._register(new Ew(u,v,T,C,y,I,D));let K=p.options,q=K.anchor,{showAtPosition:Q,showAtSecondaryPosition:te}=Iw.computeHoverPositions(u,q.range,T);this.shouldAppearBeforeContent=T.some((oe)=>oe.isBeforeContent),this.showAtPosition=Q,this.showAtSecondaryPosition=te,this.initialMousePosX=q.initialMousePosX,this.initialMousePosY=q.initialMousePosY,this.shouldFocus=K.shouldFocus,this.source=K.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(u){this._renderedHoverParts.focusHoverPartWithIndex(u)}async updateHoverVerbosityLevel(u,p,v){this._renderedHoverParts.updateHoverVerbosityLevel(u,p,v)}isColorPickerVisible(){return this._renderedHoverParts.isColorPickerVisible()}static computeHoverPositions(u,p,v){let C=1;if(u.hasModel()){let q=u._getViewModel(),Q=q.coordinatesConverter,te=Q.convertModelRangeToViewRange(p),oe=q.getLineMinColumn(te.startLineNumber),ne=new o(te.startLineNumber,oe);C=Q.convertViewPositionToModelPosition(ne).column}let{startLineNumber:y,startColumn:I}=p,D;for(let q of v){let Q=q.range,te=Q.startLineNumber===y,oe=Q.endLineNumber===y;if(te&&oe){let ae=Q.startColumn,ge=Math.min(I,ae);I=Math.max(ge,C)}if(q.forceShowAtRange)D=Q}let T,K;if(D){let q=D.getStartPosition();T=q,K=q}else T=p.getStartPosition(),K=new o(y,I);return{showAtPosition:T,showAtSecondaryPosition:K}}};Dm=Iw=JE([Wl(4,ce),Wl(5,wn),Wl(6,Qn)],Dm);class QE{constructor(m,u){this._statusBar=u,m.appendChild(this._statusBar.hoverElement)}get hoverElement(){return this._statusBar.hoverElement}get actions(){return this._statusBar.actions}dispose(){this._statusBar.dispose()}}var Ew=class m extends n{static{Lw=this}static{this._DECORATION_OPTIONS=re.register({description:"content-hover-highlight",className:"hoverHighlight"})}constructor(u,p,v,C,y,I,D){super();this._hoverService=I,this._clipboardService=D,this._renderedParts=[],this._perPartDisposables=new Map,this._focusedHoverPartIndex=-1,this._context=C,this._fragment=document.createDocumentFragment(),this._register(this._renderParts(p,v,C,y,this._hoverService)),this._register(this._registerListenersOnRenderedParts()),this._register(this._createEditorDecorations(u,v)),this._updateMarkdownAndColorParticipantInfo(p)}_createEditorDecorations(u,p){if(p.length===0)return n.None;let v=p[0].range;for(let y of p){let I=y.range;v=t.plusRange(v,I)}let C=u.createDecorationsCollection();return C.set([{range:v,options:Lw._DECORATION_OPTIONS}]),E(()=>{C.clear()})}_renderParts(u,p,v,C,y){let I=new ag(C,y),D={fragment:this._fragment,statusBar:I,...v},T=new c;T.add(I);for(let q of u){let Q=this._renderHoverPartsForParticipant(p,q,D);T.add(Q);for(let te of Q.renderedHoverParts)this._renderedParts.push({type:"hoverPart",participant:q,hoverPart:te.hoverPart,hoverElement:te.hoverElement})}let K=this._renderStatusBar(this._fragment,I);if(K)T.add(K),this._renderedParts.push({type:"statusBar",hoverElement:K.hoverElement,actions:K.actions});return T}_renderHoverPartsForParticipant(u,p,v){let C=u.filter((I)=>I.owner===p);if(!(C.length>0))return new Xo([]);return p.renderHoverParts(v,C)}_renderStatusBar(u,p){if(!p.hasContent)return;return new QE(u,p)}_registerListenersOnRenderedParts(){return this._renderedParts.forEach((u,p)=>{this._createListenersForPart(p,u)}),E(()=>{for(let u of this._perPartDisposables.values())u.dispose();this._perPartDisposables.clear()})}_createListenersForPart(u,p){let v=new c,C=p.hoverElement;if(C.tabIndex=0,v.add(l(C,x.FOCUS_IN,(y)=>{y.stopPropagation(),this._focusedHoverPartIndex=u})),v.add(l(C,x.FOCUS_OUT,(y)=>{y.stopPropagation(),this._focusedHoverPartIndex=-1})),p.type==="hoverPart"&&!(p.hoverPart instanceof Pl)&&!p.participant.hideCopyButton)v.add(new ym(C,()=>p.participant.getAccessibleContent(p.hoverPart),this._clipboardService,this._hoverService));this._perPartDisposables.set(u,v)}_updateMarkdownAndColorParticipantInfo(u){let p=u.find((v)=>v instanceof ma&&!(v instanceof cg));if(p)this._markdownHoverParticipant=p;this._colorHoverParticipant=u.find((v)=>v instanceof lg)}focusHoverPartWithIndex(u){if(u<0||u>=this._renderedParts.length)return;this._renderedParts[u].hoverElement.focus()}async updateHoverVerbosityLevel(u,p,v){if(!this._markdownHoverParticipant)return;let C;if(p>=0)C={start:p,endExclusive:p+1};else C=this._findRangeOfMarkdownHoverParts(this._markdownHoverParticipant);for(let y=C.start;y<C.endExclusive;y++){let I=this._normalizedIndexToMarkdownHoverIndexRange(this._markdownHoverParticipant,y);if(I===void 0)continue;let D=await this._markdownHoverParticipant.updateMarkdownHoverVerbosityLevel(u,I);if(!D)continue;let T=this._perPartDisposables.get(y);if(T)T.dispose(),this._perPartDisposables.delete(y);this._renderedParts[y]={type:"hoverPart",participant:this._markdownHoverParticipant,hoverPart:D.hoverPart,hoverElement:D.hoverElement},this._createListenersForPart(y,this._renderedParts[y])}if(v)if(p>=0)this.focusHoverPartWithIndex(p);else this._context.focus();this._context.onContentsChanged()}isColorPickerVisible(){return this._colorHoverParticipant?.isColorPickerVisible()??!1}_normalizedIndexToMarkdownHoverIndexRange(u,p){let v=this._renderedParts[p];if(!v||v.type!=="hoverPart")return;if(v.participant!==u)return;let y=this._renderedParts.findIndex((I)=>I.type==="hoverPart"&&I.participant===u);if(y===-1)throw new M;return p-y}_findRangeOfMarkdownHoverParts(u){let p=this._renderedParts.slice(),v=p.findIndex((I)=>I.type==="hoverPart"&&I.participant===u),C=p.reverse().findIndex((I)=>I.type==="hoverPart"&&I.participant===u),y=C>=0?p.length-C:C;return{start:v,endExclusive:y+1}}get domNode(){return this._fragment}get domNodeHasChildren(){return this._fragment.hasChildNodes()}get focusedHoverPartIndex(){return this._focusedHoverPartIndex}get hoverPartsCount(){return this._renderedParts.length}};Ew=Lw=JE([Wl(4,ce),Wl(5,wn),Wl(6,Qn)],Ew);var Uk=function(m,u,p,v){var C=arguments.length,y=C<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,p):v,I;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")y=Reflect.decorate(m,u,p,v);else for(var D=m.length-1;D>=0;D--)if(I=m[D])y=(C<3?I(y):C>3?I(u,p,y):I(u,p))||y;return C>3&&y&&Object.defineProperty(u,p,y),y},Rm=function(m,u){return function(p,v){u(p,v,m)}},km=class m extends n{constructor(u,p,v,C,y){super();this._editor=u,this._instantiationService=p,this._keybindingService=v,this._hoverService=C,this._clipboardService=y,this._currentResult=null,this._renderedContentHover=this._register(new ie),this._onContentsChanged=this._register(new i),this.onContentsChanged=this._onContentsChanged.event,this._contentHoverWidget=this._register(this._instantiationService.createInstance(wm,this._editor)),this._participants=this._initializeHoverParticipants(),this._hoverOperation=this._register(new tu(this._editor,new fu(this._editor,this._participants))),this._registerListeners()}_initializeHoverParticipants(){let u=[];for(let p of Ra.getAll()){let v=this._instantiationService.createInstance(p,this._editor);u.push(v)}return u.sort((p,v)=>p.hoverOrdinal-v.hoverOrdinal),this._register(this._contentHoverWidget.onDidResize(()=>{this._participants.forEach((p)=>p.handleResize?.())})),this._register(this._contentHoverWidget.onDidScroll((p)=>{this._participants.forEach((v)=>v.handleScroll?.(p))})),this._register(this._contentHoverWidget.onContentsChanged(()=>{this._participants.forEach((p)=>p.handleContentsChanged?.())})),u}_registerListeners(){this._register(this._hoverOperation.onResult((p)=>{let v=p.hasLoadingMessage?this._addLoadingMessage(p):p.value;this._withResult(new Cm(v,p.isComplete,p.options))}));let u=this._contentHoverWidget.getDomNode();this._register(mt(u,"keydown",(p)=>{if(p.equals(9))this.hide()})),this._register(mt(u,"mouseleave",(p)=>{this._onMouseLeave(p)})),this._register(Nt.onDidChange(()=>{if(this._contentHoverWidget.position&&this._currentResult)this._setCurrentResult(this._currentResult)})),this._register(this._contentHoverWidget.onContentsChanged(()=>{this._onContentsChanged.fire()}))}_startShowingOrUpdateHover(u,p,v,C,y){if(!(this._contentHoverWidget.position&&this._currentResult)){if(u)return this._startHoverOperationIfNecessary(u,p,v,C,!1),!0;return!1}let D=this._editor.getOption(69).sticky,T=y&&this._contentHoverWidget.isMouseGettingCloser(y.event.posx,y.event.posy);if(D&&T){if(u)this._startHoverOperationIfNecessary(u,p,v,C,!0);return!0}if(!u)return this._setCurrentResult(null),!1;if(this._currentResult&&this._currentResult.options.anchor.equals(u))return!0;if(!(this._currentResult&&u.canAdoptVisibleHover(this._currentResult.options.anchor,this._contentHoverWidget.position)))return this._setCurrentResult(null),this._startHoverOperationIfNecessary(u,p,v,C,!1),!0;if(this._currentResult)this._setCurrentResult(this._currentResult.filter(u));return this._startHoverOperationIfNecessary(u,p,v,C,!1),!0}_startHoverOperationIfNecessary(u,p,v,C,y){if(this._hoverOperation.options&&this._hoverOperation.options.anchor.equals(u))return;this._hoverOperation.cancel();let D={anchor:u,source:v,shouldFocus:C,insistOnKeepingHoverVisible:y};this._hoverOperation.start(p,D)}_setCurrentResult(u){let p=u;if(this._currentResult===p)return;if(p&&p.hoverParts.length===0)p=null;if(this._currentResult=p,this._currentResult)this._showHover(this._currentResult);else this._hideHover()}_addLoadingMessage(u){for(let p of this._participants){if(!p.createLoadingMessage)continue;let v=p.createLoadingMessage(u.options.anchor);if(!v)continue;return u.value.slice(0).concat([v])}return u.value}_withResult(u){if(!(this._contentHoverWidget.position&&this._currentResult&&this._currentResult.isComplete))this._setCurrentResult(u);if(!u.isComplete)return;let C=u.hoverParts.length===0,y=u.options.insistOnKeepingHoverVisible;if(C&&y)return;this._setCurrentResult(u)}_showHover(u){let p=this._getHoverContext();if(this._renderedContentHover.value=new Dm(this._editor,u,this._participants,p,this._keybindingService,this._hoverService,this._clipboardService),this._renderedContentHover.value.domNodeHasChildren)this._contentHoverWidget.show(this._renderedContentHover.value);else this._renderedContentHover.clear()}_hideHover(){this._contentHoverWidget.hide(),this._participants.forEach((u)=>u.handleHide?.())}_getHoverContext(){return{hide:()=>{this.hide()},onContentsChanged:()=>{this._contentHoverWidget.handleContentsChanged()},setMinimumDimensions:(y)=>{this._contentHoverWidget.setMinimumDimensions(y)},focus:()=>this.focus()}}showsOrWillShow(u){if(this._contentHoverWidget.isResizing)return!0;if(this._isMouseOnCodeActionWidget(u))return!0;let v=this._findHoverAnchorCandidates(u);if(!(v.length>0))return this._startShowingOrUpdateHover(null,0,0,!1,u);let y=v[0];return this._startShowingOrUpdateHover(y,0,0,!1,u)}_findHoverAnchorCandidates(u){let p=[];for(let C of this._participants){if(!C.suggestHoverAnchor)continue;let y=C.suggestHoverAnchor(u);if(!y)continue;p.push(y)}let v=u.target;switch(v.type){case 6:{p.push(new nu(0,v.range,u.event.posx,u.event.posy));break}case 7:{let C=this._editor.getOption(59).typicalHalfwidthCharacterWidth/2;if(!(!v.detail.isAfterLines&&typeof v.detail.horizontalDistanceToText==="number"&&v.detail.horizontalDistanceToText<C))break;p.push(new nu(0,v.range,u.event.posx,u.event.posy));break}}return p.sort((C,y)=>y.priority-C.priority),p}_isMouseOnCodeActionWidget(u){let p=u.event.browserEvent.target;if(p instanceof Element&&!!p.closest(".action-widget"))return!0;return!1}_onMouseLeave(u){let p=this._editor.getDomNode();if(!p||!ga(p,u.x,u.y))this.hide()}startShowingAtRange(u,p,v,C){this._startShowingOrUpdateHover(new nu(0,u,void 0,void 0),p,v,C,null)}async updateHoverVerbosityLevel(u,p,v){this._renderedContentHover.value?.updateHoverVerbosityLevel(u,p,v)}focusedHoverPartIndex(){return this._renderedContentHover.value?.focusedHoverPartIndex??-1}containsNode(u){return u?this._contentHoverWidget.getDomNode().contains(u):!1}focus(){if(this._renderedContentHover.value?.hoverPartsCount===1){this.focusHoverPartWithIndex(0);return}this._contentHoverWidget.focus()}focusHoverPartWithIndex(u){this._renderedContentHover.value?.focusHoverPartWithIndex(u)}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}};km=Uk([Rm(1,L),Rm(2,ce),Rm(3,wn),Rm(4,Qn)],km);function b_(m){let u=m.target;return!!u&&u.type===6&&u.detail.injectedText?.options.attachedData===gw}var $k=function(m,u,p,v){var C=arguments.length,y=C<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,p):v,I;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")y=Reflect.decorate(m,u,p,v);else for(var D=m.length-1;D>=0;D--)if(I=m[D])y=(C<3?I(y):C>3?I(u,p,y):I(u,p))||y;return C>3&&y&&Object.defineProperty(u,p,y),y},Dw=function(m,u){return function(p,v){u(p,v,m)}},Rw,lr=class m extends n{static{Rw=this}static{this.ID="editor.contrib.contentHover"}constructor(u,p,v,C){super();this._editor=u,this._instantiationService=v,this._keybindingService=C,this._onHoverContentsChanged=this._register(new i),this.shouldKeepOpenOnEditorMouseMoveOrLeave=!1,this._listenersStore=new c,this._isMouseDown=!1,this._ignoreMouseEvents=!1,this._reactToEditorMouseMoveRunner=this._register(new be(()=>{if(this._mouseMoveEvent)this._reactToEditorMouseMove(this._mouseMoveEvent)},0)),this._register(p.onDidShowContextMenu(()=>{this.hideContentHover(),this._ignoreMouseEvents=!0})),this._register(p.onDidHideContextMenu(()=>{this._ignoreMouseEvents=!1})),this._hookListeners(),this._register(this._editor.onDidChangeConfiguration((y)=>{if(y.hasChanged(69))this._unhookListeners(),this._hookListeners()}))}static get(u){return u.getContribution(Rw.ID)}_hookListeners(){let u=this._editor.getOption(69);if(this._hoverSettings={enabled:u.enabled,sticky:u.sticky,hidingDelay:u.hidingDelay},u.enabled==="off")this._cancelSchedulerAndHide();this._listenersStore.add(this._editor.onMouseDown((p)=>this._onEditorMouseDown(p))),this._listenersStore.add(this._editor.onMouseUp(()=>this._onEditorMouseUp())),this._listenersStore.add(this._editor.onMouseMove((p)=>this._onEditorMouseMove(p))),this._listenersStore.add(this._editor.onKeyDown((p)=>this._onKeyDown(p))),this._listenersStore.add(this._editor.onMouseLeave((p)=>this._onEditorMouseLeave(p))),this._listenersStore.add(this._editor.onDidChangeModel(()=>this._cancelSchedulerAndHide())),this._listenersStore.add(this._editor.onDidChangeModelContent(()=>this._cancelScheduler())),this._listenersStore.add(this._editor.onDidScrollChange((p)=>this._onEditorScrollChanged(p)))}_unhookListeners(){this._listenersStore.clear()}_cancelSchedulerAndHide(){this._cancelScheduler(),this.hideContentHover()}_cancelScheduler(){this._mouseMoveEvent=void 0,this._reactToEditorMouseMoveRunner.cancel()}_onEditorScrollChanged(u){if(this._ignoreMouseEvents)return;if(u.scrollTopChanged||u.scrollLeftChanged)this.hideContentHover()}_onEditorMouseDown(u){if(this._ignoreMouseEvents)return;if(this._isMouseDown=!0,this._shouldKeepHoverWidgetVisible(u))return;this.hideContentHover()}_shouldKeepHoverWidgetVisible(u){return this._isMouseOnContentHoverWidget(u)||this._isContentWidgetResizing()||b_(u)}_isMouseOnContentHoverWidget(u){if(!this._contentWidget||!this._contentWidget.getDomNode().isConnected)return!1;return ga(this._contentWidget.getDomNode(),u.event.posx,u.event.posy)}_onEditorMouseUp(){if(this._ignoreMouseEvents)return;this._isMouseDown=!1}_onEditorMouseLeave(u){if(this._ignoreMouseEvents)return;if(this.shouldKeepOpenOnEditorMouseMoveOrLeave)return;if(this._cancelScheduler(),this._shouldKeepHoverWidgetVisible(u))return;this.hideContentHover()}_shouldKeepCurrentHover(u){let p=this._contentWidget;if(!p)return!1;let v=this._hoverSettings.sticky,C=(q,Q)=>{let te=this._isMouseOnContentHoverWidget(q);return Q&&te},y=(q)=>{let Q=p.isColorPickerVisible,te=this._isMouseOnContentHoverWidget(q),oe=Q&&te,ne=Q&&this._isMouseDown;return oe||ne},I=(q,Q)=>{let te=q.event.browserEvent.view;if(!te)return!1;return Q&&p.containsNode(te.document.activeElement)&&!te.getSelection()?.isCollapsed},{isFocused:D,isResizing:T}=p,K=this._hoverSettings.sticky&&p.isVisibleFromKeyboard;return this.shouldKeepOpenOnEditorMouseMoveOrLeave||D||T||K||C(u,v)||y(u)||I(u,v)}_onEditorMouseMove(u){if(this._ignoreMouseEvents)return;if(this._isMouseDown&&!this._shouldKeepHoverWidgetVisible(u)){this._cancelSchedulerAndHide();return}if(this._mouseMoveEvent=u,this._shouldKeepCurrentHover(u)){this._reactToEditorMouseMoveRunner.cancel();return}if(this._shouldRescheduleHoverComputation()){if(!this._reactToEditorMouseMoveRunner.isScheduled())this._reactToEditorMouseMoveRunner.schedule(this._hoverSettings.hidingDelay);return}this._reactToEditorMouseMove(u)}_shouldRescheduleHoverComputation(){let u=this._hoverSettings.hidingDelay;return(this._contentWidget?.isVisible??!1)&&this._hoverSettings.sticky&&u>0}_reactToEditorMouseMove(u){if(bm(this._hoverSettings.enabled,this._editor.getOption(86),u)){if(this._getOrCreateContentWidget().showsOrWillShow(u))return}this.hideContentHover()}_onKeyDown(u){if(this._ignoreMouseEvents||!this._contentWidget)return;if(this._hoverSettings.enabled==="onKeyboardModifier"&&eu(this._editor.getOption(86),u)&&this._mouseMoveEvent){if(!this._contentWidget.isVisible)this._contentWidget.showsOrWillShow(this._mouseMoveEvent);return}let p=this._isPotentialKeyboardShortcut(u),v=lu(u.keyCode);if(p||v)return;if(this._contentWidget.isFocused&&u.keyCode===2)return;this.hideContentHover()}_isPotentialKeyboardShortcut(u){if(!this._editor.hasModel()||!this._contentWidget)return!1;let p=this._keybindingService.softDispatch(u,this._editor.getDomNode()),v=p.kind===1,C=p.kind===2&&(p.commandId===im||p.commandId===bd||p.commandId===vd)&&this._contentWidget.isVisible;return v||C}hideContentHover(){if(Cs.dropDownVisible)return;this._contentWidget?.hide()}_getOrCreateContentWidget(){if(!this._contentWidget)this._contentWidget=this._instantiationService.createInstance(km,this._editor),this._listenersStore.add(this._contentWidget.onContentsChanged(()=>this._onHoverContentsChanged.fire()));return this._contentWidget}showContentHover(u,p,v,C){this._getOrCreateContentWidget().startShowingAtRange(u,p,v,C)}_isContentWidgetResizing(){return this._contentWidget?.widget.isResizing||!1}focusedHoverPartIndex(){return this._getOrCreateContentWidget().focusedHoverPartIndex()}updateHoverVerbosityLevel(u,p,v){this._getOrCreateContentWidget().updateHoverVerbosityLevel(u,p,v)}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()}};lr=Rw=$k([Dw(1,On),Dw(2,L),Dw(3,ce)],lr);var Ir;(function(m){m.NoAutoFocus="noAutoFocus",m.FocusIfVisible="focusIfVisible",m.AutoFocusImmediately="autoFocusImmediately"})(Ir||(Ir={}));class kw extends W{constructor(){super({id:im,label:h(1165,"Show or Focus Hover"),metadata:{description:h(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:[Ir.NoAutoFocus,Ir.FocusIfVisible,Ir.AutoFocusImmediately],enumDescriptions:[e(1162,"The hover will not automatically take focus."),e(1163,"The hover will take focus only if it is already visible."),e(1164,"The hover will automatically take focus when it appears.")],default:Ir.FocusIfVisible}}}}]},precondition:void 0,kbOpts:{kbExpr:r.editorTextFocus,primary:Zt(2089,2087),weight:100}})}run(m,u,p){if(!u.hasModel())return;let v=lr.get(u);if(!v)return;let C=p?.focus,y=Ir.FocusIfVisible;if(Object.values(Ir).includes(C))y=C;else if(typeof C==="boolean"&&C)y=Ir.AutoFocusImmediately;let I=(T)=>{let K=u.getPosition(),q=new t(K.lineNumber,K.column,K.lineNumber,K.column);v.showContentHover(q,1,2,T)},D=u.getOption(2)===2;if(v.isHoverVisible)if(y!==Ir.NoAutoFocus)v.focus();else I(D);else I(D||y===Ir.AutoFocusImmediately)}}class Tw extends W{constructor(){super({id:cE,label:h(1167,"Show Definition Preview Hover"),precondition:void 0,metadata:{description:h(1168,"Show the definition preview hover in the editor.")}})}run(m,u){let p=lr.get(u);if(!p)return;let v=u.getPosition();if(!v)return;let C=new t(v.lineNumber,v.column,v.lineNumber,v.column),y=wl.get(u);if(!y)return;y.startFindDefinitionFromCursor(v).then(()=>{p.showContentHover(C,1,2,!0)})}}class Nw extends W{constructor(){super({id:hE,label:h(1169,"Hide Hover"),alias:"Hide Content Hover",precondition:void 0})}run(m,u){lr.get(u)?.hideContentHover()}}class Ow extends W{constructor(){super({id:uE,label:h(1170,"Scroll Up Hover"),precondition:r.hoverFocused,kbOpts:{kbExpr:r.hoverFocused,primary:16,weight:100},metadata:{description:h(1171,"Scroll up the editor hover.")}})}run(m,u){let p=lr.get(u);if(!p)return;p.scrollUp()}}class Mw extends W{constructor(){super({id:gE,label:h(1172,"Scroll Down Hover"),precondition:r.hoverFocused,kbOpts:{kbExpr:r.hoverFocused,primary:18,weight:100},metadata:{description:h(1173,"Scroll down the editor hover.")}})}run(m,u){let p=lr.get(u);if(!p)return;p.scrollDown()}}class Pw extends W{constructor(){super({id:pE,label:h(1174,"Scroll Left Hover"),precondition:r.hoverFocused,kbOpts:{kbExpr:r.hoverFocused,primary:15,weight:100},metadata:{description:h(1175,"Scroll left the editor hover.")}})}run(m,u){let p=lr.get(u);if(!p)return;p.scrollLeft()}}class Aw extends W{constructor(){super({id:mE,label:h(1176,"Scroll Right Hover"),precondition:r.hoverFocused,kbOpts:{kbExpr:r.hoverFocused,primary:17,weight:100},metadata:{description:h(1177,"Scroll right the editor hover.")}})}run(m,u){let p=lr.get(u);if(!p)return;p.scrollRight()}}class Fw extends W{constructor(){super({id:fE,label:h(1178,"Page Up Hover"),precondition:r.hoverFocused,kbOpts:{kbExpr:r.hoverFocused,primary:11,secondary:[528],weight:100},metadata:{description:h(1179,"Page up the editor hover.")}})}run(m,u){let p=lr.get(u);if(!p)return;p.pageUp()}}class Hw extends W{constructor(){super({id:_E,label:h(1180,"Page Down Hover"),precondition:r.hoverFocused,kbOpts:{kbExpr:r.hoverFocused,primary:12,secondary:[530],weight:100},metadata:{description:h(1181,"Page down the editor hover.")}})}run(m,u){let p=lr.get(u);if(!p)return;p.pageDown()}}class Ww extends W{constructor(){super({id:bE,label:h(1182,"Go To Top Hover"),precondition:r.hoverFocused,kbOpts:{kbExpr:r.hoverFocused,primary:14,secondary:[2064],weight:100},metadata:{description:h(1183,"Go to the top of the editor hover.")}})}run(m,u){let p=lr.get(u);if(!p)return;p.goToTop()}}class Bw extends W{constructor(){super({id:vE,label:h(1184,"Go To Bottom Hover"),precondition:r.hoverFocused,kbOpts:{kbExpr:r.hoverFocused,primary:13,secondary:[2066],weight:100},metadata:{description:h(1185,"Go to the bottom of the editor hover.")}})}run(m,u){let p=lr.get(u);if(!p)return;p.goToBottom()}}class Vw extends W{constructor(){super({id:bd,label:SE,alias:"Increase Hover Verbosity Level",precondition:r.hoverVisible})}run(m,u,p){let v=lr.get(u);if(!v)return;let C=p?.index!==void 0?p.index:v.focusedHoverPartIndex();v.updateHoverVerbosityLevel(Ho.Increase,C,p?.focus)}}class Kw extends W{constructor(){super({id:vd,label:wE,alias:"Decrease Hover Verbosity Level",precondition:r.hoverVisible})}run(m,u,p){let v=lr.get(u);if(!v)return;let C=p?.index!==void 0?p.index:v.focusedHoverPartIndex();lr.get(u)?.updateHoverVerbosityLevel(Ho.Decrease,C,p?.focus)}}var jk=function(m,u,p,v){var C=arguments.length,y=C<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,p):v,I;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")y=Reflect.decorate(m,u,p,v);else for(var D=m.length-1;D>=0;D--)if(I=m[D])y=(C<3?I(y):C>3?I(u,p,y):I(u,p))||y;return C>3&&y&&Object.defineProperty(u,p,y),y},Ru=function(m,u){return function(p,v){u(p,v,m)}},Rn=g;class g0{constructor(m,u,p){this.owner=m,this.range=u,this.marker=p}isValidForHoverAnchor(m){return m.type===1&&this.range.startColumn<=m.range.startColumn&&this.range.endColumn>=m.range.endColumn}}var n0={type:1,filter:{include:Dt.QuickFix},triggerAction:Bi.QuickFixHover},Tm=class m{constructor(u,p,v,C,y,I){this._editor=u,this._markerDecorationsService=p,this._openerService=v,this._languageFeaturesService=C,this._menuService=y,this._contextKeyService=I,this.hoverOrdinal=1,this.recentMarkerCodeActionsInfo=void 0}computeSync(u,p){if(!this._editor.hasModel()||u.type!==1&&!u.supportsMarkerHover)return[];let v=this._editor.getModel(),C=u.range;if(!v.isValidRange(u.range))return[];let y=C.startLineNumber,I=v.getLineMaxColumn(y),D=[];for(let T of p){let K=T.range.startLineNumber===y?T.range.startColumn:1,q=T.range.endLineNumber===y?T.range.endColumn:I,Q=this._markerDecorationsService.getMarker(v.uri,T);if(!Q)continue;let te=new t(u.range.startLineNumber,K,u.range.startLineNumber,q);D.push(new g0(this,te,Q))}return D}renderHoverParts(u,p){if(!p.length)return new Xo([]);let v=[];p.forEach((I)=>{let D=this._renderMarkerHover(I);u.fragment.appendChild(D.hoverElement),v.push(D)});let C=p.length===1?p[0]:p.sort((I,D)=>Gt.compare(I.marker.severity,D.marker.severity))[0],y=this._renderMarkerStatusbar(u,C);return new Xo(v,y)}getAccessibleContent(u){let{marker:p}=u,v=$n(p.relatedInformation)?p.relatedInformation.map((C)=>`${mi(C.resource)}(${C.startLineNumber}, ${C.startColumn}): ${C.message}`).join(`
|
|
32
|
-
`):void 0;return[p.message,v].filter((C)=>!!C).join(`
|
|
33
|
-
`)}_renderMarkerHover(u){let p=new c,v=Rn("div.hover-row"),C=w(v,Rn("div.marker.hover-contents")),{source:y,message:I,code:D,relatedInformation:T}=u.marker;this._editor.applyFontInfo(C);let K=w(C,Rn("span"));if(K.style.whiteSpace="pre-wrap",K.innerText=I,y||D)if(D&&typeof D!=="string"){let Q=Rn("span");if(y){let ae=w(Q,Rn("span"));ae.innerText=y}let te=w(Q,Rn("a.code-link"));te.setAttribute("href",D.target.toString(!0)),p.add(l(te,"click",(ae)=>{this._openerService.open(D.target),ae.preventDefault(),ae.stopPropagation()}));let oe=w(te,Rn("span"));oe.innerText=D.value;let ne=w(C,Q);ne.style.opacity="0.6",ne.style.paddingLeft="6px"}else{let Q=w(C,Rn("span"));Q.style.opacity="0.6",Q.style.paddingLeft="6px",Q.innerText=y&&D?`${y}(${D})`:y?y:`(${D})`}if($n(T))for(let{message:Q,resource:te,startLineNumber:oe,startColumn:ne}of T){let ae=w(C,Rn("div"));ae.style.marginTop="8px";let ge=w(ae,Rn("a"));ge.innerText=`${mi(te)}(${oe}, ${ne}): `,ge.style.cursor="pointer",p.add(l(ge,"click",(ke)=>{if(ke.stopPropagation(),ke.preventDefault(),this._openerService){let Oe={selection:{startLineNumber:oe,startColumn:ne}};this._openerService.open(te,{fromUserGesture:!0,editorOptions:Oe}).catch(J)}}));let Ie=w(ae,Rn("span"));Ie.innerText=Q,this._editor.applyFontInfo(Ie)}return{hoverPart:u,hoverElement:v,dispose:()=>p.dispose()}}_renderMarkerStatusbar(u,p){let v=new c;if(p.marker.severity===Gt.Error||p.marker.severity===Gt.Warning||p.marker.severity===Gt.Info){let I=Xs.get(this._editor);if(I)u.statusBar.addAction({label:e(1195,"View Problem"),commandId:bs.ID,run:()=>{u.hide(),I.showAtMarker(p.marker),this._editor.focus()}})}let C=[];for(let[,I]of this._menuService.getMenuActions(a.MarkerHoverStatusBar,this._contextKeyService))for(let D of I)if(D instanceof Ti&&D.enabled)C.push(D);let y=()=>{for(let I of C)u.statusBar.addAction({label:I.label,commandId:I.id,iconClass:I.class,run:()=>{u.hide(),this._editor.setSelection(t.lift(p.range)),I.run()}})};if(!this._editor.getOption(104)){let I=u.statusBar.append(Rn("div"));if(this.recentMarkerCodeActionsInfo)if(Zv.makeKey(this.recentMarkerCodeActionsInfo.marker)===Zv.makeKey(p.marker)){if(!this.recentMarkerCodeActionsInfo.hasCodeActions){if(C.length===0)I.textContent=e(1196,"No quick fixes available")}}else this.recentMarkerCodeActionsInfo=void 0;let D=this.recentMarkerCodeActionsInfo&&!this.recentMarkerCodeActionsInfo.hasCodeActions?n.None:Yn(()=>I.textContent=e(1197,"Checking for quick fixes..."),200,v);if(!I.textContent)I.textContent=String.fromCharCode(160);let T=this.getCodeActions(p.marker);v.add(E(()=>T.cancel())),T.then((K)=>{if(D.dispose(),this.recentMarkerCodeActionsInfo={marker:p.marker,hasCodeActions:K.validActions.length>0},!this.recentMarkerCodeActionsInfo.hasCodeActions){if(K.dispose(),C.length===0)I.textContent=e(1198,"No quick fixes available");else I.style.display="none";y();return}I.style.display="none";let q=!1;v.add(E(()=>{if(!q)K.dispose()})),u.statusBar.addAction({label:e(1199,"Quick Fix..."),commandId:Js,run:(te)=>{q=!0;let oe=Zr.get(this._editor),ne=gt(te);oe?.showCodeActions(n0,K,{x:ne.left,y:ne.top,width:ne.width,height:ne.height})}});let Q=K.validActions.find((te)=>te.action.isAI);if(Q)u.statusBar.addAction({label:Q.action.title,commandId:Q.action.command?.id??"",iconClass:G.asClassName(b.sparkle),run:()=>{Zr.get(this._editor)?.applyCodeAction(Q,!1,!1,Gr.FromProblemsHover)}});else y();u.onContentsChanged()},J)}else y();return v}getCodeActions(u){return jt((p)=>Qs(this._languageFeaturesService.codeActionProvider,this._editor.getModel(),new t(u.startLineNumber,u.startColumn,u.endLineNumber,u.endColumn),n0,la.None,p))}};Tm=jk([Ru(1,Tg),Ru(2,Lr),Ru(3,j),Ru(4,fi),Ru(5,z)],Tm);class zw{constructor(m){this._editor=m}computeSync(m){let u=(y)=>({value:y}),p=this._editor.getLineDecorations(m.lineNumber),v=[],C=m.laneOrLine==="lineNo";if(!p)return v;for(let y of p){let I=y.options.glyphMargin?.position??To.Center;if(!C&&I!==m.laneOrLine)continue;let D=C?y.options.lineNumberHoverMessage:y.options.glyphMarginHoverMessage;if(!D||Cu(D))continue;v.push(...ug(D).map(u))}return v}}var Gk=function(m,u,p,v){var C=arguments.length,y=C<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,p):v,I;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")y=Reflect.decorate(m,u,p,v);else for(var D=m.length-1;D>=0;D--)if(I=m[D])y=(C<3?I(y):C>3?I(u,p,y):I(u,p))||y;return C>3&&y&&Object.defineProperty(u,p,y),y},qk=function(m,u){return function(p,v){u(p,v,m)}},Uw,m0=g,Nm=class m extends n{static{Uw=this}static{this.ID="editor.contrib.modesGlyphHoverWidget"}constructor(u,p){super();this._markdownRendererService=p,this.allowEditorOverflow=!0,this._renderDisposeables=this._register(new c),this._editor=u,this._isVisible=!1,this._messages=[],this._hover=this._register(new Rf(!0)),this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible),this._hoverOperation=this._register(new tu(this._editor,new zw(this._editor))),this._register(this._hoverOperation.onResult((v)=>this._withResult(v))),this._register(this._editor.onDidChangeModelDecorations(()=>this._onModelDecorationsChanged())),this._register(this._editor.onDidChangeConfiguration((v)=>{if(v.hasChanged(59))this._updateFont()})),this._register(mt(this._hover.containerDomNode,"mouseleave",(v)=>{this._onMouseLeave(v)})),this._editor.addOverlayWidget(this)}dispose(){this._hoverComputerOptions=void 0,this._editor.removeOverlayWidget(this),super.dispose()}getId(){return Uw.ID}getDomNode(){return this._hover.containerDomNode}getPosition(){return null}_updateFont(){Array.prototype.slice.call(this._hover.contentsDomNode.getElementsByClassName("code")).forEach((p)=>this._editor.applyFontInfo(p))}_onModelDecorationsChanged(){if(this._isVisible&&this._hoverComputerOptions)this._hoverOperation.cancel(),this._hoverOperation.start(0,this._hoverComputerOptions)}showsOrWillShow(u){let p=u.target;if(p.type===2&&p.detail.glyphMarginLane)return this._startShowingAt(p.position.lineNumber,p.detail.glyphMarginLane),!0;if(p.type===3)return this._startShowingAt(p.position.lineNumber,"lineNo"),!0;return!1}_startShowingAt(u,p){if(this._hoverComputerOptions&&this._hoverComputerOptions.lineNumber===u&&this._hoverComputerOptions.laneOrLine===p)return;this._hoverOperation.cancel(),this.hide(),this._hoverComputerOptions={lineNumber:u,laneOrLine:p},this._hoverOperation.start(0,this._hoverComputerOptions)}hide(){if(this._hoverComputerOptions=void 0,this._hoverOperation.cancel(),!this._isVisible)return;this._isVisible=!1,this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible)}_withResult(u){if(this._messages=u.value,this._messages.length>0)this._renderMessages(u.options.lineNumber,u.options.laneOrLine,this._messages);else this.hide()}_renderMessages(u,p,v){this._renderDisposeables.clear();let C=document.createDocumentFragment();for(let y of v){let I=m0("div.hover-row.markdown-hover"),D=w(I,m0("div.hover-contents")),T=this._renderDisposeables.add(this._markdownRendererService.render(y.value,{context:this._editor}));D.appendChild(T.element),C.appendChild(I)}this._updateContents(C),this._showAt(u,p)}_updateContents(u){this._hover.contentsDomNode.textContent="",this._hover.contentsDomNode.appendChild(u),this._updateFont()}_showAt(u,p){if(!this._isVisible)this._isVisible=!0,this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible);let v=this._editor.getLayoutInfo(),C=this._editor.getTopForLineNumber(u),y=this._editor.getScrollTop(),I=this._editor.getOption(75),D=this._hover.containerDomNode.clientHeight,T=C-y-(D-I)/2,K=v.glyphMarginLeft+v.glyphMarginWidth+(p==="lineNo"?v.lineNumbersWidth:0),Q=v.height-D,te=Math.max(0,Math.min(Math.round(T),Q));if(this._editor.getOption(51)){let ne=this._editor.getDomNode();if(ne){let ae=gt(ne);this._hover.containerDomNode.style.position="fixed",this._hover.containerDomNode.style.left=`${ae.left+K}px`,this._hover.containerDomNode.style.top=`${ae.top+te}px`}}else this._hover.containerDomNode.style.position="absolute",this._hover.containerDomNode.style.left=`${K}px`,this._hover.containerDomNode.style.top=`${te}px`;this._hover.containerDomNode.style.zIndex="11"}_onMouseLeave(u){let p=this._editor.getDomNode();if(!p||!ga(p,u.x,u.y))this.hide()}};Nm=Uw=Gk([qk(1,vr)],Nm);var Zk=function(m,u,p,v){var C=arguments.length,y=C<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,p):v,I;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")y=Reflect.decorate(m,u,p,v);else for(var D=m.length-1;D>=0;D--)if(I=m[D])y=(C<3?I(y):C>3?I(u,p,y):I(u,p))||y;return C>3&&y&&Object.defineProperty(u,p,y),y},Xk=function(m,u){return function(p,v){u(p,v,m)}},Nu=class m extends n{static{this.ID="editor.contrib.marginHover"}constructor(u,p){super();this._editor=u,this._instantiationService=p,this.shouldKeepOpenOnEditorMouseMoveOrLeave=!1,this._listenersStore=new c,this._hoverState={mouseDown:!1},this._reactToEditorMouseMoveRunner=this._register(new be(()=>this._reactToEditorMouseMove(this._mouseMoveEvent),0)),this._hookListeners(),this._register(this._editor.onDidChangeConfiguration((v)=>{if(v.hasChanged(69))this._unhookListeners(),this._hookListeners()}))}_hookListeners(){let u=this._editor.getOption(69);if(this._hoverSettings={enabled:u.enabled,sticky:u.sticky,hidingDelay:u.hidingDelay},u.enabled!=="off")this._listenersStore.add(this._editor.onMouseDown((p)=>this._onEditorMouseDown(p))),this._listenersStore.add(this._editor.onMouseUp(()=>this._onEditorMouseUp())),this._listenersStore.add(this._editor.onMouseMove((p)=>this._onEditorMouseMove(p))),this._listenersStore.add(this._editor.onKeyDown((p)=>this._onKeyDown(p)));else this._listenersStore.add(this._editor.onMouseMove((p)=>this._onEditorMouseMove(p))),this._listenersStore.add(this._editor.onKeyDown((p)=>this._onKeyDown(p)));this._listenersStore.add(this._editor.onMouseLeave((p)=>this._onEditorMouseLeave(p))),this._listenersStore.add(this._editor.onDidChangeModel(()=>{this._cancelScheduler(),this.hideGlyphHover()})),this._listenersStore.add(this._editor.onDidChangeModelContent(()=>this._cancelScheduler())),this._listenersStore.add(this._editor.onDidScrollChange((p)=>this._onEditorScrollChanged(p)))}_unhookListeners(){this._listenersStore.clear()}_cancelScheduler(){this._mouseMoveEvent=void 0,this._reactToEditorMouseMoveRunner.cancel()}_onEditorScrollChanged(u){if(u.scrollTopChanged||u.scrollLeftChanged)this.hideGlyphHover()}_onEditorMouseDown(u){if(this._hoverState.mouseDown=!0,this._isMouseOnGlyphHoverWidget(u))return;this.hideGlyphHover()}_isMouseOnGlyphHoverWidget(u){let p=this._glyphWidget?.getDomNode();if(p)return ga(p,u.event.posx,u.event.posy);return!1}_onEditorMouseUp(){this._hoverState.mouseDown=!1}_onEditorMouseLeave(u){if(this.shouldKeepOpenOnEditorMouseMoveOrLeave)return;if(this._cancelScheduler(),this._isMouseOnGlyphHoverWidget(u))return;this.hideGlyphHover()}_shouldNotRecomputeCurrentHoverWidget(u){let p=this._hoverSettings.sticky,v=this._isMouseOnGlyphHoverWidget(u);return p&&v}_onEditorMouseMove(u){if(this.shouldKeepOpenOnEditorMouseMoveOrLeave)return;if(this._mouseMoveEvent=u,this._shouldNotRecomputeCurrentHoverWidget(u)){this._reactToEditorMouseMoveRunner.cancel();return}this._reactToEditorMouseMove(u)}_reactToEditorMouseMove(u){if(!u)return;if(!bm(this._hoverSettings.enabled,this._editor.getOption(86),u)){this.hideGlyphHover();return}if(this._tryShowHoverWidget(u))return;this.hideGlyphHover()}_tryShowHoverWidget(u){return this._getOrCreateGlyphWidget().showsOrWillShow(u)}_onKeyDown(u){if(!this._editor.hasModel())return;if(this._hoverSettings.enabled==="onKeyboardModifier"&&eu(this._editor.getOption(86),u)&&this._mouseMoveEvent){this._tryShowHoverWidget(this._mouseMoveEvent);return}if(lu(u.keyCode))return;this.hideGlyphHover()}hideGlyphHover(){this._glyphWidget?.hide()}_getOrCreateGlyphWidget(){if(!this._glyphWidget)this._glyphWidget=this._instantiationService.createInstance(Nm,this._editor);return this._glyphWidget}dispose(){super.dispose(),this._unhookListeners(),this._listenersStore.dispose(),this._glyphWidget?.dispose()}};Nu=Zk([Xk(1,L)],Nu);var Bl=new class m{constructor(){this._implementations=[]}register(u){return this._implementations.push(u),{dispose:()=>{let p=this._implementations.indexOf(u);if(p!==-1)this._implementations.splice(p,1)}}}getImplementations(){return this._implementations}};class $w{}class jw{}class Gw{}le(lr.ID,lr,2);le(Nu.ID,Nu,2);R(kw);R(Tw);R(Nw);R(Ow);R(Mw);R(Pw);R(Aw);R(Fw);R(Hw);R(Ww);R(Bw);R(Vw);R(Kw);Ra.register(ma);Ra.register(Tm);we.registerCommand(wh,(m)=>{m.get(X).updateValue("editor.hover.showLongLineWarning",!1)});si((m,u)=>{let p=m.getColor(Bh);if(p)u.addRule(`.monaco-editor .monaco-hover .hover-row:not(:first-child):not(:empty) { border-top: 1px solid ${p.transparent(0.5)}; }`),u.addRule(`.monaco-editor .monaco-hover hr { border-top: 1px solid ${p.transparent(0.5)}; }`),u.addRule(`.monaco-editor .monaco-hover hr { border-bottom: 0px solid ${p.transparent(0.5)}; }`)});Bl.register(new $w);Bl.register(new jw);Bl.register(new Gw);class _0{constructor(m,u){this._link=m,this._provider=u}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(m){if(this._link.url)return this._link.url;if(typeof this._provider.resolveLink==="function")return Promise.resolve(this._provider.resolveLink(this._link,m)).then((u)=>{if(this._link=u||this._link,this._link.url)return this.resolve(m);return Promise.reject(Error("missing"))});return Promise.reject(Error("missing"))}}class Ou{static{this.Empty=new Ou([])}constructor(m){this._disposables=new c;let u=[];for(let[p,v]of m){let C=p.links.map((y)=>new _0(y,v));if(u=Ou._union(u,C),Ts(p))this._disposables??=new c,this._disposables.add(p)}this.links=u}dispose(){this._disposables?.dispose(),this.links.length=0}static _union(m,u){let p=[],v,C,y,I;for(v=0,y=0,C=m.length,I=u.length;v<C&&y<I;){let D=m[v],T=u[y];if(t.areIntersectingOrTouching(D.range,T.range)){v++;continue}if(t.compareRangesUsingStarts(D.range,T.range)<0)p.push(D),v++;else p.push(T),y++}for(;v<C;v++)p.push(m[v]);for(;y<I;y++)p.push(u[y]);return p}}async function qw(m,u,p){let v=[],C=m.ordered(u).reverse().map(async(I,D)=>{try{let T=await I.provideLinks(u,p);if(T)v[D]=[T,I]}catch(T){dt(T)}});await Promise.all(C);let y=new Ou(er(v));if(p.isCancellationRequested)y.dispose(),y=Ou.Empty;return y}we.registerCommand("_executeLinkProvider",async(m,...u)=>{let[p,v]=u;if(Re(p instanceof V),typeof v!=="number")v=0;let{linkProvider:C}=m.get(j),y=m.get(bt).getModel(p);if(!y)return[];let I=await qw(C,y,he.None);if(!I)return[];for(let T=0;T<Math.min(v,I.links.length);T++)await I.links[T].resolve(he.None);let D=I.links.slice(0);return I.dispose(),D});var Yk=function(m,u,p,v){var C=arguments.length,y=C<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,p):v,I;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")y=Reflect.decorate(m,u,p,v);else for(var D=m.length-1;D>=0;D--)if(I=m[D])y=(C<3?I(y):C>3?I(u,p,y):I(u,p))||y;return C>3&&y&&Object.defineProperty(u,p,y),y},Om=function(m,u){return function(p,v){u(p,v,m)}},Zw,Mu=class m extends n{static{Zw=this}static{this.ID="editor.linkDetector"}static get(u){return u.getContribution(Zw.ID)}constructor(u,p,v,C,y){super();this.editor=u,this.openerService=p,this.notificationService=v,this.languageFeaturesService=C,this.providers=this.languageFeaturesService.linkProvider,this.debounceInformation=y.for(this.providers,"Links",{min:1000,max:4000}),this.computeLinks=this._register(new be(()=>this.computeLinksNow(),1000)),this.computePromise=null,this.activeLinksList=null,this.currentOccurrences={},this.activeLinkDecorationId=null;let I=this._register(new Ss(u));this._register(I.onMouseMoveOrRelevantKeyDown(([D,T])=>{this._onEditorMouseMove(D,T)})),this._register(I.onExecute((D)=>{this.onEditorMouseUp(D)})),this._register(I.onCancel((D)=>{this.cleanUpActiveLinkDecoration()})),this._register(u.onDidChangeConfiguration((D)=>{if(!D.hasChanged(79))return;this.updateDecorations([]),this.stop(),this.computeLinks.schedule(0)})),this._register(u.onDidChangeModelContent((D)=>{if(!this.editor.hasModel())return;this.computeLinks.schedule(this.debounceInformation.get(this.editor.getModel()))})),this._register(u.onDidChangeModel((D)=>{this.currentOccurrences={},this.activeLinkDecorationId=null,this.stop(),this.computeLinks.schedule(0)})),this._register(u.onDidChangeModelLanguage((D)=>{this.stop(),this.computeLinks.schedule(0)})),this._register(this.providers.onDidChange((D)=>{this.stop(),this.computeLinks.schedule(0)})),this.computeLinks.schedule(0)}async computeLinksNow(){if(!this.editor.hasModel()||!this.editor.getOption(79))return;let u=this.editor.getModel();if(u.isTooLargeForSyncing())return;if(!this.providers.has(u))return;if(this.activeLinksList)this.activeLinksList.dispose(),this.activeLinksList=null;this.computePromise=jt((p)=>qw(this.providers,u,p));try{let p=new Yt(!1);if(this.activeLinksList=await this.computePromise,this.debounceInformation.update(u,p.elapsed()),u.isDisposed())return;this.updateDecorations(this.activeLinksList.links)}catch(p){J(p)}finally{this.computePromise=null}}updateDecorations(u){let p=this.editor.getOption(86)==="altKey",v=[],C=Object.keys(this.currentOccurrences);for(let I of C){let D=this.currentOccurrences[I];v.push(D.decorationId)}let y=[];if(u)for(let I of u)y.push(Vl.decoration(I,p));this.editor.changeDecorations((I)=>{let D=I.deltaDecorations(v,y);this.currentOccurrences={},this.activeLinkDecorationId=null;for(let T=0,K=D.length;T<K;T++){let q=new Vl(u[T],D[T]);this.currentOccurrences[q.decorationId]=q}})}_onEditorMouseMove(u,p){let v=this.editor.getOption(86)==="altKey";if(this.isEnabled(u,p)){this.cleanUpActiveLinkDecoration();let C=this.getLinkOccurrence(u.target.position);if(C)this.editor.changeDecorations((y)=>{C.activate(y,v),this.activeLinkDecorationId=C.decorationId})}else this.cleanUpActiveLinkDecoration()}cleanUpActiveLinkDecoration(){let u=this.editor.getOption(86)==="altKey";if(this.activeLinkDecorationId){let p=this.currentOccurrences[this.activeLinkDecorationId];if(p)this.editor.changeDecorations((v)=>{p.deactivate(v,u)});this.activeLinkDecorationId=null}}onEditorMouseUp(u){if(!this.isEnabled(u))return;let p=this.getLinkOccurrence(u.target.position);if(!p)return;this.openLinkOccurrence(p,u.hasSideBySideModifier,!0)}openLinkOccurrence(u,p,v=!1){if(!this.openerService)return;let{link:C}=u;C.resolve(he.None).then((y)=>{if(typeof y==="string"&&this.editor.hasModel()){let I=this.editor.getModel().uri;if(I.scheme===ee.file&&y.startsWith(`${ee.file}:`)){let D=V.parse(y);if(D.scheme===ee.file){let T=ac(D),K=null;if(T.startsWith("/./")||T.startsWith("\\.\\"))K=`.${T.substr(1)}`;else if(T.startsWith("//./")||T.startsWith("\\\\.\\"))K=`.${T.substr(2)}`;if(K)y=$_(I,K)}}}return this.openerService.open(y,{openToSide:p,fromUserGesture:v,allowContributedOpeners:!0,allowCommands:!0,fromWorkspace:!0})},(y)=>{let I=y instanceof Error?y.message:y;if(I==="invalid")this.notificationService.warn(e(1343,"Failed to open this link because it is not well-formed: {0}",C.url.toString()));else if(I==="missing")this.notificationService.warn(e(1344,"Failed to open this link because its target is missing."));else J(y)})}getLinkOccurrence(u){if(!this.editor.hasModel()||!u)return null;let p=this.editor.getModel().getDecorationsInRange({startLineNumber:u.lineNumber,startColumn:u.column,endLineNumber:u.lineNumber,endColumn:u.column},0,!0);for(let v of p){let C=this.currentOccurrences[v.id];if(C)return C}return null}isEnabled(u,p){return Boolean(u.target.type===6&&(u.hasTriggerModifier||p&&p.keyCodeIsTriggerKey||u.isMiddleClick&&u.mouseMiddleClickAction==="openLink"))}stop(){if(this.computeLinks.cancel(),this.activeLinksList)this.activeLinksList?.dispose(),this.activeLinksList=null;if(this.computePromise)this.computePromise.cancel(),this.computePromise=null}dispose(){super.dispose(),this.stop()}};Mu=Zw=Yk([Om(1,Lr),Om(2,ut),Om(3,j),Om(4,Wi)],Mu);var b0={general:re.register({description:"detected-link",stickiness:1,collapseOnReplaceEdit:!0,inlineClassName:"detected-link"}),active:re.register({description:"detected-link-active",stickiness:1,collapseOnReplaceEdit:!0,inlineClassName:"detected-link-active"})};class Vl{static decoration(m,u){return{range:m.range,options:Vl._getOptions(m,u,!1)}}static _getOptions(m,u,p){let v={...p?b0.active:b0.general};return v.hoverMessage=Jk(m,u),v}constructor(m,u){this.link=m,this.decorationId=u}activate(m,u){m.changeDecorationOptions(this.decorationId,Vl._getOptions(this.link,u,!0))}deactivate(m,u){m.changeDecorationOptions(this.decorationId,Vl._getOptions(this.link,u,!1))}}function Jk(m,u){let p=m.url&&/^command:/i.test(m.url.toString()),v=m.tooltip?m.tooltip:p?e(1345,"Execute command"):e(1346,"Follow link"),C=u?ue?e(1347,"cmd + click"):e(1348,"ctrl + click"):ue?e(1349,"option + click"):e(1350,"alt + click");if(m.url){let y="";if(/^command:/i.test(m.url.toString())){let D=m.url.toString().match(/^command:([^?#]+)/);if(D){let T=D[1];y=e(1351,"Execute command {0}",T)}}return new xn("",!0).appendLink(m.url.toString(!0).replace(/ /g,"%20"),v,y).appendMarkdown(` (${C})`)}else return new xn().appendText(`${v} (${C})`)}class S0 extends W{constructor(){super({id:"editor.action.openLink",label:h(1352,"Open Link"),precondition:void 0})}run(m,u){let p=Mu.get(u);if(!p)return;if(!u.hasModel())return;let v=u.getSelections();for(let C of v){let y=p.getLinkOccurrence(C.getEndPosition());if(y)p.openLinkOccurrence(y,!1)}}}le(Mu.ID,Mu,1);R(S0);var ys={Visible:new N("parameterHintsVisible",!1),MultipleSignatures:new N("parameterHintsMultipleSignatures",!1)};async function Xw(m,u,p,v,C){let y=m.ordered(u);for(let I of y)try{let D=await I.provideSignatureHelp(u,p,C,v);if(D)return D}catch(D){dt(D)}return}we.registerCommand("_executeSignatureHelpProvider",async(m,...u)=>{let[p,v,C]=u;Re(V.isUri(p)),Re(o.isIPosition(v)),Re(typeof C==="string"||!C);let y=m.get(j),I=await m.get(bn).createModelReference(p);try{let D=await Xw(y.signatureHelpProvider,I.object.textEditorModel,o.lift(v),{triggerKind:Da.Invoke,isRetrigger:!1,triggerCharacter:C},he.None);if(!D)return;return setTimeout(()=>D.dispose(),0),D.value}finally{I.dispose()}});var fa;(function(m){m.Default={type:0};class u{constructor(v,C){this.request=v,this.previouslyActiveHints=C,this.type=2}}m.Pending=u;class p{constructor(v){this.hints=v,this.type=1}}m.Active=p})(fa||(fa={}));class Mm extends n{static{this.DEFAULT_DELAY=120}constructor(m,u,p=Mm.DEFAULT_DELAY){super();this._onChangedHints=this._register(new i),this.onChangedHints=this._onChangedHints.event,this.triggerOnType=!1,this._state=fa.Default,this._pendingTriggers=[],this._lastSignatureHelpResult=this._register(new ie),this.triggerChars=new Oh,this.retriggerChars=new Oh,this.triggerId=0,this.editor=m,this.providers=u,this.throttledDelayer=this._register(new ki(p)),this._register(this.editor.onDidBlurEditorWidget(()=>this.cancel())),this._register(this.editor.onDidChangeConfiguration(()=>this.onEditorConfigurationChange())),this._register(this.editor.onDidChangeModel((v)=>this.onModelChanged())),this._register(this.editor.onDidChangeModelLanguage((v)=>this.onModelChanged())),this._register(this.editor.onDidChangeCursorSelection((v)=>this.onCursorChange(v))),this._register(this.editor.onDidChangeModelContent((v)=>this.onModelContentChange())),this._register(this.providers.onDidChange(this.onModelChanged,this)),this._register(this.editor.onDidType((v)=>this.onDidType(v))),this.onEditorConfigurationChange(),this.onModelChanged()}get state(){return this._state}set state(m){if(this._state.type===2)this._state.request.cancel();this._state=m}cancel(m=!1){if(this.state=fa.Default,this.throttledDelayer.cancel(),!m)this._onChangedHints.fire(void 0)}trigger(m,u){let p=this.editor.getModel();if(!p||!this.providers.has(p))return;let v=++this.triggerId;this._pendingTriggers.push(m),this.throttledDelayer.trigger(()=>this.doTrigger(v),u).catch(J)}next(){if(this.state.type!==1)return;let m=this.state.hints.signatures.length,u=this.state.hints.activeSignature,p=u%m===m-1,v=this.editor.getOption(98).cycle;if((m<2||p)&&!v){this.cancel();return}this.updateActiveSignature(p&&v?0:u+1)}previous(){if(this.state.type!==1)return;let m=this.state.hints.signatures.length,u=this.state.hints.activeSignature,p=u===0,v=this.editor.getOption(98).cycle;if((m<2||p)&&!v){this.cancel();return}this.updateActiveSignature(p&&v?m-1:u-1)}updateActiveSignature(m){if(this.state.type!==1)return;this.state=new fa.Active({...this.state.hints,activeSignature:m}),this._onChangedHints.fire(this.state.hints)}async doTrigger(m){let u=this.state.type===1||this.state.type===2,p=this.getLastActiveHints();if(this.cancel(!0),this._pendingTriggers.length===0)return!1;let v=this._pendingTriggers.reduce(Qk);this._pendingTriggers=[];let C={triggerKind:v.triggerKind,triggerCharacter:v.triggerCharacter,isRetrigger:u,activeSignatureHelp:p};if(!this.editor.hasModel())return!1;let y=this.editor.getModel(),I=this.editor.getPosition();this.state=new fa.Pending(jt((D)=>Xw(this.providers,y,I,C,D)),p);try{let D=await this.state.request;if(m!==this.triggerId)return D?.dispose(),!1;if(!D||!D.value.signatures||D.value.signatures.length===0)return D?.dispose(),this._lastSignatureHelpResult.clear(),this.cancel(),!1;else return this.state=new fa.Active(D.value),this._lastSignatureHelpResult.value=D,this._onChangedHints.fire(this.state.hints),!0}catch(D){if(m===this.triggerId)this.state=fa.Default;return J(D),!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 m=this.editor.getModel();if(!m)return;for(let u of this.providers.ordered(m)){for(let p of u.signatureHelpTriggerCharacters||[])if(p.length){let v=p.charCodeAt(0);this.triggerChars.add(v),this.retriggerChars.add(v)}for(let p of u.signatureHelpRetriggerCharacters||[])if(p.length)this.retriggerChars.add(p.charCodeAt(0))}}onDidType(m){if(!this.triggerOnType)return;let u=m.length-1,p=m.charCodeAt(u);if(this.triggerChars.has(p)||this.isTriggered&&this.retriggerChars.has(p))this.trigger({triggerKind:Da.TriggerCharacter,triggerCharacter:m.charAt(u)})}onCursorChange(m){if(m.source==="mouse")this.cancel();else if(this.isTriggered)this.trigger({triggerKind:Da.ContentChange})}onModelContentChange(){if(this.isTriggered)this.trigger({triggerKind:Da.ContentChange})}onEditorConfigurationChange(){if(this.triggerOnType=this.editor.getOption(98).enabled,!this.triggerOnType)this.cancel()}dispose(){this.cancel(!0),super.dispose()}}function Qk(m,u){switch(u.triggerKind){case Da.Invoke:return u;case Da.ContentChange:return m;case Da.TriggerCharacter:default:return u}}var eT=function(m,u,p,v){var C=arguments.length,y=C<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,p):v,I;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")y=Reflect.decorate(m,u,p,v);else for(var D=m.length-1;D>=0;D--)if(I=m[D])y=(C<3?I(y):C>3?I(u,p,y):I(u,p))||y;return C>3&&y&&Object.defineProperty(u,p,y),y},C0=function(m,u){return function(p,v){u(p,v,m)}},Yw,No=g,tT=$t("parameter-hints-next",b.chevronDown,e(1378,"Icon for show next parameter hint.")),iT=$t("parameter-hints-previous",b.chevronUp,e(1379,"Icon for show previous parameter hint.")),Pm=class m extends n{static{Yw=this}static{this.ID="editor.widget.parameterHintsWidget"}constructor(u,p,v,C){super();this.editor=u,this.model=p,this.markdownRendererService=C,this.renderDisposeables=this._register(new c),this.visible=!1,this.announcedLabel=null,this.allowEditorOverflow=!0,this.keyVisible=ys.Visible.bindTo(v),this.keyMultipleSignatures=ys.MultipleSignatures.bindTo(v)}createParameterHintDOMNodes(){let u=No(".editor-widget.parameter-hints-widget"),p=w(u,No(".phwrapper"));p.tabIndex=-1;let v=w(p,No(".controls")),C=w(v,No(".button"+G.asCSSSelector(iT))),y=w(v,No(".overloads")),I=w(v,No(".button"+G.asCSSSelector(tT)));this._register(l(C,"click",(te)=>{ye.stop(te),this.previous()})),this._register(l(I,"click",(te)=>{ye.stop(te),this.next()}));let D=No(".body"),T=new Ba(D,{alwaysConsumeMouseWheel:!0});this._register(T),p.appendChild(T.getDomNode());let K=w(D,No(".signature")),q=w(D,No(".docs"));u.style.userSelect="text",this.domNodes={element:u,signature:K,overloads:y,docs:q,scrollbar:T},this.editor.addContentWidget(this),this.hide(),this._register(this.editor.onDidChangeCursorSelection((te)=>{if(this.visible)this.editor.layoutContentWidget(this)}));let Q=()=>{if(!this.domNodes)return;let te=this.editor.getOption(59),oe=this.domNodes.element;oe.style.fontSize=`${te.fontSize}px`,oe.style.lineHeight=`${te.lineHeight/te.fontSize}`,oe.style.setProperty("--vscode-parameterHintsWidget-editorFontFamily",te.fontFamily),oe.style.setProperty("--vscode-parameterHintsWidget-editorFontFamilyDefault",dr.fontFamily)};Q(),this._register(S.chain(this.editor.onDidChangeConfiguration.bind(this.editor),(te)=>te.filter((oe)=>oe.hasChanged(59)))(Q)),this._register(this.editor.onDidLayoutChange((te)=>this.updateMaxHeight())),this.updateMaxHeight()}show(){if(this.visible)return;if(!this.domNodes)this.createParameterHintDOMNodes();this.keyVisible.set(!0),this.visible=!0,setTimeout(()=>{this.domNodes?.element.classList.add("visible")},100),this.editor.layoutContentWidget(this)}hide(){if(this.renderDisposeables.clear(),!this.visible)return;this.keyVisible.reset(),this.visible=!1,this.announcedLabel=null,this.domNodes?.element.classList.remove("visible"),this.editor.layoutContentWidget(this)}getPosition(){if(this.visible)return{position:this.editor.getPosition(),preference:[1,2]};return null}render(u){if(this.renderDisposeables.clear(),!this.domNodes)return;let p=u.signatures.length>1;this.domNodes.element.classList.toggle("multiple",p),this.keyMultipleSignatures.set(p),this.domNodes.signature.innerText="",this.domNodes.docs.innerText="";let v=u.signatures[u.activeSignature];if(!v)return;let C=w(this.domNodes.signature,No(".code")),y=v.parameters.length>0,I=v.activeParameter??u.activeParameter;if(!y){let K=w(C,No("span"));K.textContent=v.label}else this.renderParameters(C,v,I);let D=v.parameters[I];if(D?.documentation){let K=No("span.documentation");if(typeof D.documentation==="string")K.textContent=D.documentation;else{let q=this.renderMarkdownDocs(D.documentation);K.appendChild(q.element)}w(this.domNodes.docs,No("p",{},K))}if(v.documentation===void 0);else if(typeof v.documentation==="string")w(this.domNodes.docs,No("p",{},v.documentation));else{let K=this.renderMarkdownDocs(v.documentation);w(this.domNodes.docs,K.element)}let T=this.hasDocs(v,D);if(this.domNodes.signature.classList.toggle("has-docs",T),this.domNodes.docs.classList.toggle("empty",!T),this.domNodes.overloads.textContent=String(u.activeSignature+1).padStart(u.signatures.length.toString().length,"0")+"/"+u.signatures.length,D){let K="",q=v.parameters[I];if(Array.isArray(q.label))K=v.label.substring(q.label[0],q.label[1]);else K=q.label;if(q.documentation)K+=typeof q.documentation==="string"?`, ${q.documentation}`:`, ${q.documentation.value}`;if(v.documentation)K+=typeof v.documentation==="string"?`, ${v.documentation}`:`, ${v.documentation.value}`;if(this.announcedLabel!==K)Ln(e(1380,"{0}, hint",K)),this.announcedLabel=K}this.editor.layoutContentWidget(this),this.domNodes.scrollbar.scanDomNode()}renderMarkdownDocs(u){let p=this.renderDisposeables.add(this.markdownRendererService.render(u,{context:this.editor,asyncRenderCallback:()=>{this.domNodes?.scrollbar.scanDomNode()}}));return p.element.classList.add("markdown-docs"),p}hasDocs(u,p){if(p&&typeof p.documentation==="string"&&ml(p.documentation).length>0)return!0;if(p&&typeof p.documentation==="object"&&ml(p.documentation).value.length>0)return!0;if(u.documentation&&typeof u.documentation==="string"&&ml(u.documentation).length>0)return!0;if(u.documentation&&typeof u.documentation==="object"&&ml(u.documentation.value).length>0)return!0;return!1}renderParameters(u,p,v){let[C,y]=this.getParameterLabelOffsets(p,v),I=document.createElement("span");I.textContent=p.label.substring(0,C);let D=document.createElement("span");D.textContent=p.label.substring(C,y),D.className="parameter active";let T=document.createElement("span");T.textContent=p.label.substring(y),w(u,I,D,T)}getParameterLabelOffsets(u,p){let v=u.parameters[p];if(!v)return[0,0];else if(Array.isArray(v.label))return v.label;else if(!v.label.length)return[0,0];else{let C=new RegExp(`(\\W|^)${Ci(v.label)}(?=\\W|$)`,"g");C.test(u.label);let y=C.lastIndex-v.label.length;return y>=0?[y,C.lastIndex]:[0,0]}}next(){this.editor.focus(),this.model.next()}previous(){this.editor.focus(),this.model.previous()}getDomNode(){if(!this.domNodes)this.createParameterHintDOMNodes();return this.domNodes.element}getId(){return Yw.ID}updateMaxHeight(){if(!this.domNodes)return;let p=`${Math.max(this.editor.getLayoutInfo().height/4,250)}px`;this.domNodes.element.style.maxHeight=p;let v=this.domNodes.element.getElementsByClassName("phwrapper");if(v.length)v[0].style.maxHeight=p}};Pm=Yw=eT([C0(2,z),C0(3,vr)],Pm);s("editorHoverWidget.highlightForeground",Wh,e(1381,"Foreground color of the active item in the parameter hint."));var oT=function(m,u,p,v){var C=arguments.length,y=C<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,p):v,I;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")y=Reflect.decorate(m,u,p,v);else for(var D=m.length-1;D>=0;D--)if(I=m[D])y=(C<3?I(y):C>3?I(u,p,y):I(u,p))||y;return C>3&&y&&Object.defineProperty(u,p,y),y},I0=function(m,u){return function(p,v){u(p,v,m)}},Jw,Kl=class m extends n{static{Jw=this}static{this.ID="editor.controller.parameterHints"}static get(u){return u.getContribution(Jw.ID)}constructor(u,p,v){super();this.editor=u,this.model=this._register(new Mm(u,v.signatureHelpProvider)),this._register(this.model.onChangedHints((C)=>{if(C)this.widget.value.show(),this.widget.value.render(C);else this.widget.rawValue?.hide()})),this.widget=new Fn(()=>this._register(p.createInstance(Pm,this.editor,this.model)))}cancel(){this.model.cancel()}previous(){this.widget.rawValue?.previous()}next(){this.widget.rawValue?.next()}trigger(u){this.model.trigger(u,0)}};Kl=Jw=oT([I0(1,L),I0(2,j)],Kl);class L0 extends W{constructor(){super({id:"editor.action.triggerParameterHints",label:h(1377,"Trigger Parameter Hints"),precondition:r.hasSignatureHelpProvider,kbOpts:{kbExpr:r.editorTextFocus,primary:3082,weight:100}})}run(m,u){Kl.get(u)?.trigger({triggerKind:Da.Invoke})}}le(Kl.ID,Kl,2);R(L0);var Qw=175,eC=Vt.bindToContribution(Kl.get);U(new eC({id:"closeParameterHints",precondition:ys.Visible,handler:(m)=>m.cancel(),kbOpts:{weight:Qw,kbExpr:r.focus,primary:9,secondary:[1033]}}));U(new eC({id:"showPrevParameterHint",precondition:_.and(ys.Visible,ys.MultipleSignatures),handler:(m)=>m.previous(),kbOpts:{weight:Qw,kbExpr:r.focus,primary:16,secondary:[528],mac:{primary:16,secondary:[528,302]}}}));U(new eC({id:"showNextParameterHint",precondition:_.and(ys.Visible,ys.MultipleSignatures),handler:(m)=>m.next(),kbOpts:{weight:Qw,kbExpr:r.focus,primary:18,secondary:[530],mac:{primary:18,secondary:[530,300]}}}));var rt={Visible:Ep,HasFocusedSuggestion:new N("suggestWidgetHasFocusedSuggestion",!1,e(1525,"Whether any suggestion is focused")),DetailsVisible:new N("suggestWidgetDetailsVisible",!1,e(1526,"Whether suggestion details are visible")),DetailsFocused:new N("suggestWidgetDetailsFocused",!1,e(1527,"Whether the details pane of the suggest widget has focus")),MultipleSuggestions:new N("suggestWidgetMultipleSuggestions",!1,e(1528,"Whether there are multiple suggestions to pick from")),MakesTextEdit:new N("suggestionMakesTextEdit",!0,e(1529,"Whether inserting the current suggestion yields in a change or has everything already been typed")),AcceptSuggestionsOnEnter:new N("acceptSuggestionOnEnter",!0,e(1530,"Whether suggestions are inserted when pressing Enter")),HasInsertAndReplaceRange:new N("suggestionHasInsertAndReplaceRange",!1,e(1531,"Whether the current suggestion has insert and replace behaviour")),InsertMode:new N("suggestionInsertMode",void 0,{type:"string",description:e(1532,"Whether the default behaviour is to insert or replace")}),CanResolve:new N("suggestionCanResolve",!1,e(1533,"Whether the current suggestion supports to resolve further details"))},Dr=new a("suggestWidgetStatusBar");class E0{constructor(m,u,p,v){if(this.position=m,this.completion=u,this.container=p,this.provider=v,this.isInvalid=!1,this.score=Ro.Default,this.distance=0,this.textLabel=typeof u.label==="string"?u.label:u.label?.label,this.labelLow=this.textLabel.toLowerCase(),this.isInvalid=!this.textLabel,this.sortTextLow=u.sortText&&u.sortText.toLowerCase(),this.filterTextLow=u.filterText&&u.filterText.toLowerCase(),this.extensionId=u.extensionId,t.isIRange(u.range))this.editStart=new o(u.range.startLineNumber,u.range.startColumn),this.editInsertEnd=new o(u.range.endLineNumber,u.range.endColumn),this.editReplaceEnd=new o(u.range.endLineNumber,u.range.endColumn),this.isInvalid=this.isInvalid||t.spansMultipleLines(u.range)||u.range.startLineNumber!==m.lineNumber;else this.editStart=new o(u.range.insert.startLineNumber,u.range.insert.startColumn),this.editInsertEnd=new o(u.range.insert.endLineNumber,u.range.insert.endColumn),this.editReplaceEnd=new o(u.range.replace.endLineNumber,u.range.replace.endColumn),this.isInvalid=this.isInvalid||t.spansMultipleLines(u.range.insert)||t.spansMultipleLines(u.range.replace)||u.range.insert.startLineNumber!==m.lineNumber||u.range.replace.startLineNumber!==m.lineNumber||u.range.insert.startColumn!==u.range.replace.startColumn;if(typeof v.resolveCompletionItem!=="function")this._resolveCache=Promise.resolve(),this._resolveDuration=0}get isResolved(){return this._resolveDuration!==void 0}get resolveDuration(){return this._resolveDuration!==void 0?this._resolveDuration:-1}async resolve(m){if(!this._resolveCache){let u=m.onCancellationRequested(()=>{this._resolveCache=void 0,this._resolveDuration=void 0}),p=new Yt(!0);this._resolveCache=Promise.resolve(this.provider.resolveCompletionItem(this.completion,m)).then((v)=>{Object.assign(this.completion,v),this._resolveDuration=p.elapsed()},(v)=>{if(Jn(v))this._resolveCache=void 0,this._resolveDuration=void 0}).finally(()=>{u.dispose()})}return this._resolveCache}}class kd{static{this.default=new kd}constructor(m=2,u=new Set,p=new Set,v=new Map,C=!0){this.snippetSortOrder=m,this.kindFilter=u,this.providerFilter=p,this.providerItemsToReuse=v,this.showDeprecated=C}}class D0{constructor(m,u,p,v){this.items=m,this.needsClipboard=u,this.durations=p,this.disposable=v}}async function Pu(m,u,p,v=kd.default,C={triggerKind:0},y=he.None){let I=new Yt;p=p.clone();let D=u.getWordAtPosition(p),T=D?new t(p.lineNumber,D.startColumn,p.lineNumber,D.endColumn):t.fromPositions(p),K={replace:T,insert:T.setEndPosition(p.lineNumber,p.column)},q=[],Q=new c,te=[],oe=!1,ne=(ge,Ie,ke)=>{let Oe=!1;if(!Ie)return Oe;for(let Ve of Ie.suggestions)if(!v.kindFilter.has(Ve.kind)){if(!v.showDeprecated&&Ve?.tags?.includes(1))continue;if(!Ve.range)Ve.range=K;if(!Ve.sortText)Ve.sortText=typeof Ve.label==="string"?Ve.label:Ve.label.label;if(!oe&&Ve.insertTextRules&&Ve.insertTextRules&4)oe=Co.guessNeedsClipboard(Ve.insertText);q.push(new E0(p,Ve,Ie,ge)),Oe=!0}if(Ts(Ie))Q.add(Ie);return te.push({providerName:ge._debugDisplayName??"unknown_provider",elapsedProvider:Ie.duration??-1,elapsedOverall:ke.elapsed()}),Oe},ae=(async()=>{return})();for(let ge of m.orderedGroups(u)){let Ie=!1;if(await Promise.all(ge.map(async(ke)=>{if(v.providerItemsToReuse.has(ke)){let Oe=v.providerItemsToReuse.get(ke);Oe.forEach((Ve)=>q.push(Ve)),Ie=Ie||Oe.length>0;return}if(v.providerFilter.size>0&&!v.providerFilter.has(ke))return;try{let Oe=new Yt,Ve=await ke.provideCompletionItems(u,p,C,y);Ie=ne(ke,Ve,Oe)||Ie}catch(Oe){dt(Oe)}})),Ie||y.isCancellationRequested)break}if(await ae,y.isCancellationRequested)return Q.dispose(),Promise.reject(new io);return new D0(q.sort(sT(v.snippetSortOrder)),oe,{entries:te,elapsed:I.elapsed()},Q)}function tC(m,u){if(m.sortTextLow&&u.sortTextLow){if(m.sortTextLow<u.sortTextLow)return-1;else if(m.sortTextLow>u.sortTextLow)return 1}if(m.textLabel<u.textLabel)return-1;else if(m.textLabel>u.textLabel)return 1;return m.completion.kind-u.completion.kind}function nT(m,u){if(m.completion.kind!==u.completion.kind){if(m.completion.kind===28)return-1;else if(u.completion.kind===28)return 1}return tC(m,u)}function rT(m,u){if(m.completion.kind!==u.completion.kind){if(m.completion.kind===28)return 1;else if(u.completion.kind===28)return-1}return tC(m,u)}var Am=new Map;Am.set(0,nT);Am.set(2,rT);Am.set(1,tC);function sT(m){return Am.get(m)}we.registerCommand("_executeCompletionItemProvider",async(m,...u)=>{let[p,v,C,y]=u;Re(V.isUri(p)),Re(o.isIPosition(v)),Re(typeof C==="string"||!C),Re(typeof y==="number"||!y);let{completionProvider:I}=m.get(j),D=await m.get(bn).createModelReference(p);try{let T={incomplete:!1,suggestions:[]},K=[],q=D.object.textEditorModel.validatePosition(v),Q=await Pu(I,D.object.textEditorModel,q,void 0,{triggerCharacter:C??void 0,triggerKind:C?1:0});for(let te of Q.items){if(K.length<(y??0))K.push(te.resolve(he.None));T.incomplete=T.incomplete||te.container.incomplete,T.suggestions.push(te.completion)}try{return await Promise.all(K),T}finally{setTimeout(()=>Q.disposable.dispose(),100)}}finally{D.dispose()}});function R0(m,u){m.getContribution("editor.contrib.suggestController")?.triggerSuggest(new Set().add(u),void 0,!0)}class xs{static isAllOff(m){return m.other==="off"&&m.comments==="off"&&m.strings==="off"}static isAllOn(m){return m.other==="on"&&m.comments==="on"&&m.strings==="on"}static valueFor(m,u){switch(u){case 1:return m.comments;case 2:return m.strings;default:return m.other}}}function iC(m,u=Ut){if(b$(m,u))return m.charAt(0).toUpperCase()+m.slice(1);return m}var aT=function(m,u,p,v){var C=arguments.length,y=C<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,p):v,I;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")y=Reflect.decorate(m,u,p,v);else for(var D=m.length-1;D>=0;D--)if(I=m[D])y=(C<3?I(y):C>3?I(u,p,y):I(u,p))||y;return C>3&&y&&Object.defineProperty(u,p,y),y},dT=function(m,u){return function(p,v){u(p,v,m)}};class Fm{constructor(m){this._delegates=m}resolve(m){for(let u of this._delegates){let p=u.resolve(m);if(p!==void 0)return p}return}}class Hm{constructor(m,u,p,v){this._model=m,this._selection=u,this._selectionIdx=p,this._overtypingCapturer=v}resolve(m){let{name:u}=m;if(u==="SELECTION"||u==="TM_SELECTED_TEXT"){let p=this._model.getValueInRange(this._selection)||void 0,v=this._selection.startLineNumber!==this._selection.endLineNumber;if(!p&&this._overtypingCapturer){let C=this._overtypingCapturer.getLastOvertypedInfo(this._selectionIdx);if(C)p=C.value,v=C.multiline}if(p&&v&&m.snippet){let C=this._model.getLineContent(this._selection.startLineNumber),y=kt(C,0,this._selection.startColumn-1),I=y;m.snippet.walk((T)=>{if(T===m)return!1;if(T instanceof Pi)I=kt(ni(T.value).pop());return!0});let D=ur(I,y);p=p.replace(/(\r\n|\r|\n)(.*)/g,(T,K,q)=>`${K}${I.substr(D)}${q}`)}return p}else if(u==="TM_CURRENT_LINE")return this._model.getLineContent(this._selection.positionLineNumber);else if(u==="TM_CURRENT_WORD"){let p=this._model.getWordAtPosition({lineNumber:this._selection.positionLineNumber,column:this._selection.positionColumn});return p&&p.word||void 0}else if(u==="TM_LINE_INDEX")return String(this._selection.positionLineNumber-1);else if(u==="TM_LINE_NUMBER")return String(this._selection.positionLineNumber);else if(u==="CURSOR_INDEX")return String(this._selectionIdx);else if(u==="CURSOR_NUMBER")return String(this._selectionIdx+1);return}}class Wm{constructor(m,u){this._labelService=m,this._model=u}resolve(m){let{name:u}=m;if(u==="TM_FILENAME")return $a(this._model.uri.fsPath);else if(u==="TM_FILENAME_BASE"){let p=$a(this._model.uri.fsPath),v=p.lastIndexOf(".");if(v<=0)return p;else return p.slice(0,v)}else if(u==="TM_DIRECTORY"){if(mg(this._model.uri.fsPath)===".")return"";return this._labelService.getUriLabel(Ih(this._model.uri))}else if(u==="TM_DIRECTORY_BASE"){if(mg(this._model.uri.fsPath)===".")return"";return $a(mg(this._model.uri.fsPath))}else if(u==="TM_FILEPATH")return this._labelService.getUriLabel(this._model.uri);else if(u==="RELATIVE_FILEPATH")return this._labelService.getUriLabel(this._model.uri,{relative:!0,noPrefix:!0});return}}class Bm{constructor(m,u,p,v){this._readClipboardText=m,this._selectionIdx=u,this._selectionCount=p,this._spread=v}resolve(m){if(m.name!=="CLIPBOARD")return;let u=this._readClipboardText();if(!u)return;if(this._spread){let p=u.split(/\r\n|\n|\r/).filter((v)=>!C_(v));if(p.length===this._selectionCount)return p[this._selectionIdx]}return u}}var Au=class m{constructor(u,p,v){this._model=u,this._selection=p,this._languageConfigurationService=v}resolve(u){let{name:p}=u,v=this._model.getLanguageIdAtPosition(this._selection.selectionStartLineNumber,this._selection.selectionStartColumn),C=this._languageConfigurationService.getLanguageConfiguration(v).comments;if(!C)return;if(p==="LINE_COMMENT")return C.lineCommentToken||void 0;else if(p==="BLOCK_COMMENT_START")return C.blockCommentStartToken||void 0;else if(p==="BLOCK_COMMENT_END")return C.blockCommentEndToken||void 0;return}};Au=aT([dT(2,et)],Au);class _a{constructor(){this._date=new Date}static{this.dayNames=[e(1476,"Sunday"),e(1477,"Monday"),e(1478,"Tuesday"),e(1479,"Wednesday"),e(1480,"Thursday"),e(1481,"Friday"),e(1482,"Saturday")]}static{this.dayNamesShort=[e(1483,"Sun"),e(1484,"Mon"),e(1485,"Tue"),e(1486,"Wed"),e(1487,"Thu"),e(1488,"Fri"),e(1489,"Sat")]}static{this.monthNames=[e(1490,"January"),e(1491,"February"),e(1492,"March"),e(1493,"April"),e(1494,"May"),e(1495,"June"),e(1496,"July"),e(1497,"August"),e(1498,"September"),e(1499,"October"),e(1500,"November"),e(1501,"December")]}static{this.monthNamesShort=[e(1502,"Jan"),e(1503,"Feb"),e(1504,"Mar"),e(1505,"Apr"),e(1506,"May"),e(1507,"Jun"),e(1508,"Jul"),e(1509,"Aug"),e(1510,"Sep"),e(1511,"Oct"),e(1512,"Nov"),e(1513,"Dec")]}resolve(m){let{name:u}=m;switch(u){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 _a.dayNames[this._date.getDay()];case"CURRENT_DAY_NAME_SHORT":return _a.dayNamesShort[this._date.getDay()];case"CURRENT_MONTH_NAME":return _a.monthNames[this._date.getMonth()];case"CURRENT_MONTH_NAME_SHORT":return _a.monthNamesShort[this._date.getMonth()];case"CURRENT_SECONDS_UNIX":return String(Math.floor(this._date.getTime()/1000));case"CURRENT_MILLISECONDS_UNIX":return String(this._date.getTime());case"CURRENT_TIMEZONE_OFFSET":{let p=this._date.getTimezoneOffset(),v=p>0?"-":"+",C=Math.trunc(Math.abs(p/60)),y=C<10?"0"+C:C,I=Math.abs(p)-C*60,D=I<10?"0"+I:I;return v+y+":"+D}case"CURRENT_TIMEZONE_NAME":return this._timezoneName??=Intl.DateTimeFormat().resolvedOptions().timeZone}return}}class Vm{constructor(m){this._workspaceService=m}resolve(m){if(!this._workspaceService)return;let u=Z$(this._workspaceService.getWorkspace());if(Y$(u))return;if(m.name==="WORKSPACE_NAME")return this._resolveWorkspaceName(u);else if(m.name==="WORKSPACE_FOLDER")return this._resoveWorkspacePath(u);return}_resolveWorkspaceName(m){if(u0(m))return $a(m.uri.path);let u=$a(m.configPath.path);if(u.endsWith(h0))u=u.substr(0,u.length-h0.length-1);return u}_resoveWorkspacePath(m){if(u0(m))return iC(m.uri.fsPath);let u=$a(m.configPath.path),p=m.configPath.fsPath;if(p.endsWith(u))p=p.substr(0,p.length-u.length-1);return p?iC(p):"/"}}class Km{resolve(m){let{name:u}=m;if(u==="RANDOM")return Math.random().toString().slice(-6);else if(u==="RANDOM_HEX")return Math.random().toString(16).slice(-6);else if(u==="UUID")return Wa();return}}var lT=function(m,u,p,v){var C=arguments.length,y=C<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,p):v,I;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")y=Reflect.decorate(m,u,p,v);else for(var D=m.length-1;D>=0;D--)if(I=m[D])y=(C<3?I(y):C>3?I(u,p,y):I(u,p))||y;return C>3&&y&&Object.defineProperty(u,p,y),y},cT=function(m,u){return function(p,v){u(p,v,m)}},Rr;class Pn{static{this._decor={active:re.register({description:"snippet-placeholder-1",stickiness:0,className:"snippet-placeholder"}),inactive:re.register({description:"snippet-placeholder-2",stickiness:1,className:"snippet-placeholder"}),activeFinal:re.register({description:"snippet-placeholder-3",stickiness:1,className:"finish-snippet-placeholder"}),inactiveFinal:re.register({description:"snippet-placeholder-4",stickiness:1,className:"finish-snippet-placeholder"})}}constructor(m,u,p){this._editor=m,this._snippet=u,this._snippetLineLeadingWhitespace=p,this._offset=-1,this._nestingLevel=1,this._placeholderGroups=nk(u.placeholders,wo.compareByIndex),this._placeholderGroupsIdx=-1}initialize(m){this._offset=m.newPosition}dispose(){if(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 m=this._editor.getModel();this._editor.changeDecorations((u)=>{for(let p of this._snippet.placeholders){let v=this._snippet.offset(p),C=this._snippet.fullLen(p),y=t.fromPositions(m.getPositionAt(this._offset+v),m.getPositionAt(this._offset+v+C)),I=p.isFinalTabstop?Pn._decor.inactiveFinal:Pn._decor.inactive,D=u.addDecoration(y,I);this._placeholderDecorations.set(p,D)}})}move(m){if(!this._editor.hasModel())return[];this._initDecorations();let u=this._editor.getModel();if(this._placeholderGroupsIdx>=0){let C=[];for(let y of this._placeholderGroups[this._placeholderGroupsIdx])if(y.transform){let I=this._placeholderDecorations.get(y),D=I?u.getDecorationRange(I):null;if(D){let T=u.getValueInRange(D),K=y.transform.resolve(T).split(/\r\n|\r|\n/);for(let q=1;q<K.length;q++)K[q]=u.normalizeIndentation(this._snippetLineLeadingWhitespace+K[q]);C.push(Ft.replace(D,K.join(u.getEOL())))}}if(C.length>0)this._editor.executeEdits("snippet.placeholderTransform",C)}let p=!1;if(m===!0&&this._placeholderGroupsIdx<this._placeholderGroups.length-1)this._placeholderGroupsIdx+=1,p=!0;else if(m===!1&&this._placeholderGroupsIdx>0)this._placeholderGroupsIdx-=1,p=!0;let v=u.changeDecorations((C)=>{let y=new Set,I=[];for(let D of this._placeholderGroups[this._placeholderGroupsIdx]){let T=this._placeholderDecorations.get(D),K=T?u.getDecorationRange(T):null;if(p=p&&this._hasPlaceholderBeenCollapsed(D),!T||!K)continue;I.push(new A(K.startLineNumber,K.startColumn,K.endLineNumber,K.endColumn)),C.changeDecorationOptions(T,D.isFinalTabstop?Pn._decor.activeFinal:Pn._decor.active),y.add(D);for(let q of this._snippet.enclosingPlaceholders(D)){let Q=this._placeholderDecorations.get(q);if(Q)C.changeDecorationOptions(Q,q.isFinalTabstop?Pn._decor.activeFinal:Pn._decor.active),y.add(q)}}for(let[D,T]of this._placeholderDecorations)if(!y.has(D))C.changeDecorationOptions(T,D.isFinalTabstop?Pn._decor.inactiveFinal:Pn._decor.inactive);return I});return!p?v??[]:this.move(m)}_hasPlaceholderBeenCollapsed(m){let u=this._editor.getModel(),p=m;while(p){if(p instanceof wo){let v=this._placeholderDecorations.get(p),C=v?u.getDecorationRange(v):null;if((!C||C.isEmpty())&&p.toString().length>0)return!0}p=p.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[m]=this._snippet.placeholders;if(m.isFinalTabstop){if(this._snippet.rightMostDescendant===m)return!0}}return!1}computePossibleSelections(){let m=new Map;for(let u of this._placeholderGroups){let p;for(let v of u){if(v.isFinalTabstop)break;if(!p)p=[],m.set(v.index,p);let C=this._placeholderDecorations.get(v),y=this._editor.getModel().getDecorationRange(C);if(!y){m.delete(v.index);break}p.push(y)}}return m}get activeChoice(){if(!this._placeholderDecorations)return;let m=this._placeholderGroups[this._placeholderGroupsIdx][0];if(!m?.choice)return;let u=this._placeholderDecorations.get(m);if(!u)return;let p=this._editor.getModel().getDecorationRange(u);if(!p)return;return{range:p,choice:m.choice}}get hasChoice(){let m=!1;return this._snippet.walk((u)=>(m=u instanceof Qa,!m)),m}get activePlaceholderCount(){return this._placeholderGroupsIdx<0?0:this._placeholderGroups[this._placeholderGroupsIdx].length}merge(m){let u=this._editor.getModel();this._nestingLevel*=10,this._editor.changeDecorations((p)=>{for(let v of this._placeholderGroups[this._placeholderGroupsIdx]){let C=m.shift();console.assert(C._offset!==-1),console.assert(!C._placeholderDecorations);let y=C._snippet.placeholderInfo.last.index;for(let D of C._snippet.placeholderInfo.all)if(D.isFinalTabstop)D.index=v.index+(y+1)/this._nestingLevel;else D.index=v.index+D.index/this._nestingLevel;this._snippet.replace(v,C._snippet.children);let I=this._placeholderDecorations.get(v);p.removeDecoration(I),this._placeholderDecorations.delete(v);for(let D of C._snippet.placeholders){let T=C._snippet.offset(D),K=C._snippet.fullLen(D),q=t.fromPositions(u.getPositionAt(C._offset+T),u.getPositionAt(C._offset+T+K)),Q=p.addDecoration(q,Pn._decor.inactive);this._placeholderDecorations.set(D,Q)}}this._renormalizePlaceholderIndices(),this._placeholderGroups=nk(this._snippet.placeholders,wo.compareByIndex)})}_renormalizePlaceholderIndices(){let m=this._snippet.placeholders,u=new Set;for(let C of m)if(!C.isFinalTabstop)u.add(C.index);let p=[...u].sort((C,y)=>C-y),v=new Map;for(let C=0;C<p.length;C++)v.set(p[C],C+1);for(let C of m)if(!C.isFinalTabstop)C.index=v.get(C.index);this._nestingLevel=1}}var k0={overwriteBefore:0,overwriteAfter:0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0},zl=Rr=class m{static adjustWhitespace(u,p,v,C,y){let I=u.getLineContent(p.lineNumber),D=kt(I,0,p.column-1),T;return C.walk((K)=>{if(!(K instanceof Pi)||K.parent instanceof Qa)return!0;if(y&&!y.has(K))return!0;let q=K.value.split(/\r\n|\r|\n/);if(v){let te=C.offset(K);if(te===0)q[0]=u.normalizeIndentation(q[0]);else{T=T??C.toString();let oe=T.charCodeAt(te-1);if(oe===10||oe===13)q[0]=u.normalizeIndentation(D+q[0])}for(let oe=1;oe<q.length;oe++)q[oe]=u.normalizeIndentation(D+q[oe])}let Q=q.join(u.getEOL());if(Q!==K.value)K.parent.replace(K,[new Pi(Q)]),T=void 0;return!0}),D}static adjustSelection(u,p,v,C){if(v!==0||C!==0){let{positionLineNumber:y,positionColumn:I}=p,D=I-v,T=I+C,K=u.validateRange({startLineNumber:y,startColumn:D,endLineNumber:y,endColumn:T});p=A.createWithDirection(K.startLineNumber,K.startColumn,K.endLineNumber,K.endColumn,p.getDirection())}return p}static createEditsAndSnippetsFromSelections(u,p,v,C,y,I,D,T,K){let q=[],Q=[];if(!u.hasModel())return{edits:q,snippets:Q};let te=u.getModel(),oe=u.invokeWithinContext((Ve)=>Ve.get(Fs)),ne=u.invokeWithinContext((Ve)=>new Wm(Ve.get(Dl),te)),ae=()=>D,ge=te.getValueInRange(Rr.adjustSelection(te,u.getSelection(),v,0)),Ie=te.getValueInRange(Rr.adjustSelection(te,u.getSelection(),0,C)),ke=te.getLineFirstNonWhitespaceColumn(u.getSelection().positionLineNumber),Oe=u.getSelections().map((Ve,Ue)=>({selection:Ve,idx:Ue})).sort((Ve,Ue)=>t.compareRangesUsingStarts(Ve.selection,Ue.selection));for(let{selection:Ve,idx:Ue}of Oe){let Le=Rr.adjustSelection(te,Ve,v,0),He=Rr.adjustSelection(te,Ve,0,C);if(ge!==te.getValueInRange(Le))Le=Ve;if(Ie!==te.getValueInRange(He))He=Ve;let Je=Ve.setStartPosition(Le.startLineNumber,Le.startColumn).setEndPosition(He.endLineNumber,He.endColumn),tt=new Co().parse(p,!0,y),ot=Je.getStartPosition(),qe=Rr.adjustWhitespace(te,ot,I||Ue>0&&ke!==te.getLineFirstNonWhitespaceColumn(Ve.positionLineNumber),tt);tt.resolveVariables(new Fm([ne,new Bm(ae,Ue,Oe.length,u.getOption(88)==="spread"),new Hm(te,Ve,Ue,T),new Au(te,Ve,K),new _a,new Vm(oe),new Km])),q[Ue]=Ft.replace(Je,tt.toString()),q[Ue].identifier={major:Ue,minor:0},q[Ue]._isTracked=!0,Q[Ue]=new Pn(u,tt,qe)}return{edits:q,snippets:Q}}static createEditsAndSnippetsFromEdits(u,p,v,C,y,I,D){if(!u.hasModel()||p.length===0)return{edits:[],snippets:[]};let T=[],K=u.getModel(),q=new Co,Q=new zd,te=u.invokeWithinContext((Ve)=>new Wm(Ve.get(Dl),K)),oe=new _a,ne=new Vm(u.invokeWithinContext((Ve)=>Ve.get(Fs))),ae=new Km,ge=()=>y,Ie=u.getOption(88)==="spread",ke=p.map((Ve,Ue)=>({edit:Ve,idx:Ue})).sort((Ve,Ue)=>t.compareRangesUsingStarts(Ve.edit.range,Ue.edit.range)),Oe=0;for(let Ve=0;Ve<ke.length;Ve++){let{edit:{range:Ue,template:Le,keepWhitespace:He},idx:Je}=ke[Ve];if(Ve>0){let lt=ke[Ve-1].edit.range,di=t.fromPositions(lt.getEndPosition(),Ue.getStartPosition()),_t=new Pi(K.getValueInRange(di));Q.appendChild(_t),Oe+=_t.value.length}let tt=new Set;Q.walk((lt)=>{if(lt instanceof Ks)tt.add(lt);return!0});let ot=q.parseFragment(Le,Q);Rr.adjustWhitespace(K,Ue.getStartPosition(),He!==void 0?!He:C,Q,new Set(ot));let qe=A.fromRange(Ue,0),nt=new Fm([te,new Bm(ge,Je,ke.length,Ie),new Hm(K,qe,Je,I),new Au(K,qe,D),oe,ne,ae]);Q.walk((lt)=>{if(lt instanceof Ks&&!tt.has(lt))lt.resolve(nt);return!0});let ft=Q.toString(),st=ft.slice(Oe);Oe=ft.length;let vt=Ft.replace(Ue,st);vt.identifier={major:Ve,minor:0},vt._isTracked=!0,T.push(vt)}return q.ensureFinalTabstop(Q,v,!0),{edits:T,snippets:[new Pn(u,Q,"")]}}constructor(u,p,v=k0,C){this._editor=u,this._template=p,this._options=v,this._languageConfigurationService=C,this._templateMerges=[],this._snippets=[]}dispose(){De(this._snippets)}_logInfo(){return`template="${this._template}", merged_templates="${this._templateMerges.join(" -> ")}"`}insert(u){if(!this._editor.hasModel())return;let{edits:p,snippets:v}=typeof this._template==="string"?Rr.createEditsAndSnippetsFromSelections(this._editor,this._template,this._options.overwriteBefore,this._options.overwriteAfter,!1,this._options.adjustWhitespace,this._options.clipboardText,this._options.overtypingCapturer,this._languageConfigurationService):Rr.createEditsAndSnippetsFromEdits(this._editor,this._template,!1,this._options.adjustWhitespace,this._options.clipboardText,this._options.overtypingCapturer,this._languageConfigurationService);this._snippets=v,this._editor.executeEdits(u??Nn.snippet(),p,(C)=>{let y=C.filter((I)=>!!I.identifier);for(let I=0;I<v.length;I++)v[I].initialize(y[I].textChange);if(this._snippets[0].hasPlaceholder)return this._move(!0);else return y.map((I)=>A.fromPositions(I.range.getEndPosition()))}),this._editor.revealRange(this._editor.getSelections()[0])}merge(u,p=k0){if(!this._editor.hasModel())return;this._templateMerges.push([this._snippets[0]._nestingLevel,this._snippets[0]._placeholderGroupsIdx,u]);let{edits:v,snippets:C}=Rr.createEditsAndSnippetsFromSelections(this._editor,u,p.overwriteBefore,p.overwriteAfter,!0,p.adjustWhitespace,p.clipboardText,p.overtypingCapturer,this._languageConfigurationService);this._editor.executeEdits("snippet",v,(y)=>{let I=y.filter((K)=>!!K.identifier);for(let K=0;K<C.length;K++)C[K].initialize(I[K].textChange);let D=C[0].isTrivialSnippet,T=C.length===this._snippets.reduce((K,q)=>K+q.activePlaceholderCount,0);if(!D&&T){for(let K of this._snippets)K.merge(C);console.assert(C.length===0)}if(this._snippets[0].hasPlaceholder&&!D&&T)return this._move(void 0);else return I.map((K)=>A.fromPositions(K.range.getEndPosition()))})}next(){let u=this._move(!0);if(u.length>0)this._editor.setSelections(u),this._editor.revealPositionInCenterIfOutsideViewport(u[0].getPosition())}prev(){let u=this._move(!1);if(u.length>0)this._editor.setSelections(u),this._editor.revealPositionInCenterIfOutsideViewport(u[0].getPosition())}_move(u){let p=[];for(let v of this._snippets){let C=v.move(u);p.push(...C)}return p}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 u=this._editor.getSelections();if(u.length<this._snippets.length)return!1;let p=new Map;for(let v of this._snippets){let C=v.computePossibleSelections();if(p.size===0)for(let[y,I]of C){I.sort(t.compareRangesUsingStarts);for(let D of u)if(I[0].containsRange(D)){p.set(y,[]);break}}if(p.size===0)return!1;p.forEach((y,I)=>{y.push(...C.get(I))})}u.sort(t.compareRangesUsingStarts);for(let[v,C]of p){if(C.length!==u.length){p.delete(v);continue}C.sort(t.compareRangesUsingStarts);for(let y=0;y<C.length;y++)if(!C[y].containsRange(u[y])){p.delete(v);continue}}return p.size>0}};zl=Rr=lT([cT(3,et)],zl);var hT=function(m,u,p,v){var C=arguments.length,y=C<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,p):v,I;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")y=Reflect.decorate(m,u,p,v);else for(var D=m.length-1;D>=0;D--)if(I=m[D])y=(C<3?I(y):C>3?I(u,p,y):I(u,p))||y;return C>3&&y&&Object.defineProperty(u,p,y),y},zm=function(m,u){return function(p,v){u(p,v,m)}},Td,T0={overwriteBefore:0,overwriteAfter:0,undoStopBefore:!0,undoStopAfter:!0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0},_i=class m{static{Td=this}static{this.ID="snippetController2"}static get(u){return u.getContribution(Td.ID)}static{this.InSnippetMode=new N("inSnippetMode",!1,e(1471,"Whether the editor in current in snippet mode"))}static{this.HasNextTabstop=new N("hasNextTabstop",!1,e(1472,"Whether there is a next tab stop when in snippet mode"))}static{this.HasPrevTabstop=new N("hasPrevTabstop",!1,e(1473,"Whether there is a previous tab stop when in snippet mode"))}static{this.InSnippetChoice=new N("inSnippetChoice",!1,e(1474,"Whether the current snippet tab stop is a choice"))}constructor(u,p,v,C,y){this._editor=u,this._logService=p,this._languageFeaturesService=v,this._languageConfigurationService=y,this._inSnippetObservable=P(this,!1),this._snippetListener=new c,this._modelVersionId=-1,this._inSnippet=Td.InSnippetMode.bindTo(C),this._hasNextTabstop=Td.HasNextTabstop.bindTo(C),this._hasPrevTabstop=Td.HasPrevTabstop.bindTo(C),this._inSnippetChoice=Td.InSnippetChoice.bindTo(C)}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(u,p){try{this._doInsert(u,typeof p>"u"?T0:{...T0,...p})}catch(v){this.cancel(),this._logService.error(v),this._logService.error("snippet_error"),this._logService.error("insert_template=",u),this._logService.error("existing_template=",this._session?this._session._logInfo():"<no_session>")}}_doInsert(u,p){if(!this._editor.hasModel())return;if(this._snippetListener.clear(),p.undoStopBefore)this._editor.getModel().pushStackElement();if(this._session&&typeof u!=="string")this.cancel();if(!this._session)this._modelVersionId=this._editor.getModel().getAlternativeVersionId(),this._session=new zl(this._editor,u,p,this._languageConfigurationService),this._session.insert(p.reason);else Re(typeof u==="string"),this._session.merge(u,p);if(p.undoStopAfter)this._editor.getModel().pushStackElement();if(this._session?.hasChoice){let v={_debugDisplayName:"snippetChoiceCompletions",provideCompletionItems:(K,q)=>{if(!this._session||K!==this._editor.getModel()||!o.equals(this._editor.getPosition(),q))return;let{activeChoice:Q}=this._session;if(!Q||Q.choice.options.length===0)return;let te=K.getValueInRange(Q.range),oe=Boolean(Q.choice.options.find((ae)=>ae.value===te)),ne=[];for(let ae=0;ae<Q.choice.options.length;ae++){let ge=Q.choice.options[ae];ne.push({kind:13,label:ge.value,insertText:ge.value,sortText:"a".repeat(ae+1),range:Q.range,filterText:oe?`${te}_${ge.value}`:void 0,command:{id:"jumpToNextSnippetPlaceholder",title:e(1475,"Go to next placeholder...")}})}return{suggestions:ne}}},C=this._editor.getModel(),y,I=!1,D=()=>{y?.dispose(),I=!1},T=()=>{if(!I)y=this._languageFeaturesService.completionProvider.register({language:C.getLanguageId(),pattern:C.uri.fsPath,scheme:C.uri.scheme,exclusive:!0},v),this._snippetListener.add(y),I=!0};this._choiceCompletions={provider:v,enable:T,disable:D}}this._updateState(),this._snippetListener.add(this._editor.onDidChangeModelContent((v)=>v.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())return;if(this._modelVersionId===this._editor.getModel().getAlternativeVersionId())return this.cancel();if(!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:u}=this._session;if(!u||!this._choiceCompletions){this._choiceCompletions?.disable(),this._currentChoice=void 0,this._inSnippetChoice.reset();return}if(this._inSnippetChoice.set(!0),this._currentChoice!==u.choice)this._currentChoice=u.choice,this._choiceCompletions.enable(),queueMicrotask(()=>{R0(this._editor,this._choiceCompletions.provider)})}finish(){while(this._inSnippet.get())this.next()}cancel(u=!1){if(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,u)this._editor.setSelections([this._editor.getSelection()])}prev(){this._session?.prev(),this._updateState()}next(){this._session?.next(),this._updateState()}isInSnippet(){return Boolean(this._inSnippet.get())}get isInSnippetObservable(){return this._inSnippetObservable}};_i=Td=hT([zm(1,Be),zm(2,j),zm(3,z),zm(4,et)],_i);le(_i.ID,_i,4);var Um=Vt.bindToContribution(_i.get);U(new Um({id:"jumpToNextSnippetPlaceholder",precondition:_.and(_i.InSnippetMode,_i.HasNextTabstop),handler:(m)=>m.next(),kbOpts:{weight:130,kbExpr:r.textInputFocus,primary:2}}));U(new Um({id:"jumpToPrevSnippetPlaceholder",precondition:_.and(_i.InSnippetMode,_i.HasPrevTabstop),handler:(m)=>m.prev(),kbOpts:{weight:130,kbExpr:r.textInputFocus,primary:1026}}));yn.registerKeybindingRule({id:"jumpToPrevSnippetPlaceholder",weight:191,when:_.and(_i.InSnippetMode,_i.HasPrevTabstop,_i.InSnippetChoice,r.textInputFocus),primary:1026});U(new Um({id:"leaveSnippet",precondition:_i.InSnippetMode,handler:(m)=>m.cancel(!0),kbOpts:{weight:130,kbExpr:r.textInputFocus,primary:9,secondary:[1033]}}));U(new Um({id:"acceptSnippet",precondition:_i.InSnippetMode,handler:(m)=>m.finish()}));class $m{constructor(m,u){this.leadingLineContent=m,this.characterCountDelta=u}}class Yr{constructor(m,u,p,v,C,y,I=Mg.default,D=void 0){if(this.clipboardText=D,this._snippetCompareFn=Yr._compareCompletionItems,this._items=m,this._column=u,this._wordDistance=v,this._options=C,this._refilterKind=1,this._lineContext=p,this._fuzzyScoreOptions=I,y==="top")this._snippetCompareFn=Yr._compareCompletionItemsSnippetsUp;else if(y==="bottom")this._snippetCompareFn=Yr._compareCompletionItemsSnippetsDown}get lineContext(){return this._lineContext}set lineContext(m){if(this._lineContext.leadingLineContent!==m.leadingLineContent||this._lineContext.characterCountDelta!==m.characterCountDelta)this._refilterKind=this._lineContext.characterCountDelta<m.characterCountDelta&&this._filteredItems?2:1,this._lineContext=m}get items(){return this._ensureCachedState(),this._filteredItems}getItemsByProvider(){return this._ensureCachedState(),this._itemsByProvider}getIncompleteProvider(){this._ensureCachedState();let m=new Set;for(let[u,p]of this.getItemsByProvider())if(p.length>0&&p[0].container.incomplete)m.add(u);return m}get stats(){return this._ensureCachedState(),this._stats}_ensureCachedState(){if(this._refilterKind!==0)this._createCachedState()}_createCachedState(){this._itemsByProvider=new Map;let m=[],{leadingLineContent:u,characterCountDelta:p}=this._lineContext,v="",C="",y=this._refilterKind===1?this._items:this._filteredItems,I=[],D=!this._options.filterGraceful||y.length>2000?mc:U$;for(let T=0;T<y.length;T++){let K=y[T];if(K.isInvalid)continue;let q=this._itemsByProvider.get(K.provider);if(q)q.push(K);else this._itemsByProvider.set(K.provider,[K]);let Q=K.position.column-K.editStart.column,te=Q+p-(K.position.column-this._column);if(v.length!==te)v=te===0?"":u.slice(-te),C=v.toLowerCase();if(K.word=v,te===0)K.score=Ro.Default;else{let oe=0;while(oe<Q){let ne=v.charCodeAt(oe);if(ne===32||ne===9)oe+=1;else break}if(oe>=te)K.score=Ro.Default;else if(typeof K.completion.filterText==="string"){let ne=D(v,C,oe,K.completion.filterText,K.filterTextLow,0,this._fuzzyScoreOptions);if(!ne)continue;if(pv(K.completion.filterText,K.textLabel)===0)K.score=ne;else K.score=z$(v,C,oe,K.textLabel,K.labelLow,0),K.score[0]=ne[0]}else{let ne=D(v,C,oe,K.textLabel,K.labelLow,0,this._fuzzyScoreOptions);if(!ne)continue;K.score=ne}}K.idx=T,K.distance=this._wordDistance.distance(K.position,K.completion),I.push(K),m.push(K.textLabel.length)}this._filteredItems=I.sort(this._snippetCompareFn),this._refilterKind=0,this._stats={pLabelLen:m.length?y_(m.length-0.85,m,(T,K)=>T-K):0}}static _compareCompletionItems(m,u){if(m.score[0]>u.score[0])return-1;else if(m.score[0]<u.score[0])return 1;else if(m.distance<u.distance)return-1;else if(m.distance>u.distance)return 1;else if(m.idx<u.idx)return-1;else if(m.idx>u.idx)return 1;else return 0}static _compareCompletionItemsSnippetsDown(m,u){if(m.completion.kind!==u.completion.kind){if(m.completion.kind===28)return 1;else if(u.completion.kind===28)return-1}return Yr._compareCompletionItems(m,u)}static _compareCompletionItemsSnippetsUp(m,u){if(m.completion.kind!==u.completion.kind){if(m.completion.kind===28)return-1;else if(u.completion.kind===28)return 1}return Yr._compareCompletionItems(m,u)}}var uT=function(m,u,p,v){var C=arguments.length,y=C<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,p):v,I;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")y=Reflect.decorate(m,u,p,v);else for(var D=m.length-1;D>=0;D--)if(I=m[D])y=(C<3?I(y):C>3?I(u,p,y):I(u,p))||y;return C>3&&y&&Object.defineProperty(u,p,y),y},N0=function(m,u){return function(p,v){u(p,v,m)}},Fu;class jm{constructor(m){this.name=m}select(m,u,p){if(p.length===0)return 0;let v=p[0].score[0];for(let C=0;C<p.length;C++){let{score:y,completion:I}=p[C];if(y[0]!==v)break;if(I.preselect)return C}return 0}}class oC extends jm{constructor(){super("first")}memorize(m,u,p){}toJSON(){return}fromJSON(){}}class O0 extends jm{constructor(){super("recentlyUsed");this._cache=new Li(300,0.66),this._seq=0}memorize(m,u,p){let v=`${m.getLanguageId()}/${p.textLabel}`;this._cache.set(v,{touch:this._seq++,type:p.completion.kind,insertText:p.completion.insertText})}select(m,u,p){if(p.length===0)return 0;let v=m.getLineContent(u.lineNumber).substr(u.column-10,u.column-1);if(/\s$/.test(v))return super.select(m,u,p);let C=p[0].score[0],y=-1,I=-1,D=-1;for(let T=0;T<p.length;T++){if(p[T].score[0]!==C)break;let K=`${m.getLanguageId()}/${p[T].textLabel}`,q=this._cache.peek(K);if(q&&q.touch>D&&q.type===p[T].completion.kind&&q.insertText===p[T].completion.insertText)D=q.touch,I=T;if(p[T].completion.preselect&&y===-1)return y=T}if(I!==-1)return I;else if(y!==-1)return y;else return 0}toJSON(){return this._cache.toJSON()}fromJSON(m){this._cache.clear();let u=0;for(let[p,v]of m)v.touch=u,v.type=typeof v.type==="number"?v.type:cu.fromString(v.type),this._cache.set(p,v);this._seq=this._cache.size}}class M0 extends jm{constructor(){super("recentlyUsedByPrefix");this._trie=Jh.forStrings(),this._seq=0}memorize(m,u,p){let{word:v}=m.getWordUntilPosition(u),C=`${m.getLanguageId()}/${v}`;this._trie.set(C,{type:p.completion.kind,insertText:p.completion.insertText,touch:this._seq++})}select(m,u,p){let{word:v}=m.getWordUntilPosition(u);if(!v)return super.select(m,u,p);let C=`${m.getLanguageId()}/${v}`,y=this._trie.get(C);if(!y)y=this._trie.findSubstr(C);if(y)for(let I=0;I<p.length;I++){let{kind:D,insertText:T}=p[I].completion;if(D===y.type&&T===y.insertText)return I}return super.select(m,u,p)}toJSON(){let m=[];return this._trie.forEach((u,p)=>m.push([p,u])),m.sort((u,p)=>-(u[1].touch-p[1].touch)).forEach((u,p)=>u[1].touch=p),m.slice(0,200)}fromJSON(m){if(this._trie.clear(),m.length>0){this._seq=m[0][1].touch+1;for(let[u,p]of m)p.type=typeof p.type==="number"?p.type:cu.fromString(p.type),this._trie.set(u,p)}}}var nC=class m{static{Fu=this}static{this._strategyCtors=new Map([["recentlyUsedByPrefix",M0],["recentlyUsed",O0],["first",oC]])}static{this._storagePrefix="suggest/memories"}constructor(u,p){this._storageService=u,this._configService=p,this._disposables=new c,this._persistSoon=new be(()=>this._saveState(),500),this._disposables.add(u.onWillSaveState((v)=>{if(v.reason===$l.SHUTDOWN)this._saveState()}))}dispose(){this._disposables.dispose(),this._persistSoon.dispose()}memorize(u,p,v){this._withStrategy(u,p).memorize(u,p,v),this._persistSoon.schedule()}select(u,p,v){return this._withStrategy(u,p).select(u,p,v)}_withStrategy(u,p){let v=this._configService.getValue("editor.suggestSelection",{overrideIdentifier:u.getLanguageIdAtPosition(p.lineNumber,p.column),resource:u.uri});if(this._strategy?.name!==v){this._saveState();let C=Fu._strategyCtors.get(v)||oC;this._strategy=new C;try{let I=this._configService.getValue("editor.suggest.shareSuggestSelections")?0:1,D=this._storageService.get(`${Fu._storagePrefix}/${v}`,I);if(D)this._strategy.fromJSON(JSON.parse(D))}catch(y){}}return this._strategy}_saveState(){if(this._strategy){let p=this._configService.getValue("editor.suggest.shareSuggestSelections")?0:1,v=JSON.stringify(this._strategy);this._storageService.store(`${Fu._storagePrefix}/${this._strategy.name}`,v,p,1)}}};nC=Fu=uT([N0(0,_n),N0(1,X)],nC);var Ul=Z("ISuggestMemories");fe(Ul,nC,1);var P0;function Gm(m){return P0?.(m)??null}function A0(m){P0=m}class Ct{static{this.inlineSuggestionVisible=new N("inlineSuggestionVisible",!1,e(1249,"Whether an inline suggestion is visible"))}static{this.inlineSuggestionAlternativeActionVisible=new N("inlineSuggestionAlternativeActionVisible",!1,e(1250,"Whether an alternative action for the inline suggestion is visible."))}static{this.inlineSuggestionHasIndentation=new N("inlineSuggestionHasIndentation",!1,e(1251,"Whether the inline suggestion starts with whitespace"))}static{this.inlineSuggestionHasIndentationLessThanTabSize=new N("inlineSuggestionHasIndentationLessThanTabSize",!0,e(1252,"Whether the inline suggestion starts with whitespace that is less than what would be inserted by tab"))}static{this.suppressSuggestions=new N("inlineSuggestionSuppressSuggestions",void 0,e(1253,"Whether suggestions should be suppressed for the current suggestion"))}static{this.cursorBeforeGhostText=new N("cursorBeforeGhostText",!1,e(1254,"Whether the cursor is at ghost text"))}static{this.cursorInIndentation=new N("cursorInIndentation",!1,e(1255,"Whether the cursor is in indentation"))}static{this.hasSelection=new N("editor.hasSelection",!1,e(1256,"Whether the editor has a selection"))}static{this.cursorAtInlineEdit=new N("cursorAtInlineEdit",!1,e(1257,"Whether the cursor is at an inline edit"))}static{this.inlineEditVisible=new N("inlineEditIsVisible",!1,e(1258,"Whether an inline edit is visible"))}static{this.tabShouldJumpToInlineEdit=new N("tabShouldJumpToInlineEdit",!1,e(1259,"Whether tab should jump to an inline edit."))}static{this.tabShouldAcceptInlineEdit=new N("tabShouldAcceptInlineEdit",!1,e(1260,"Whether tab should accept the inline edit."))}static{this.inInlineEditsPreviewEditor=new N("inInlineEditsPreviewEditor",!0,e(1261,"Whether the current code editor is showing an inline edits preview"))}}class An{static{this.None=new class extends An{distance(){return 0}}}static async create(m,u){if(!u.getOption(134).localityBonus)return An.None;if(!u.hasModel())return An.None;let p=u.getModel(),v=u.getPosition();if(!m.canComputeWordRanges(p.uri))return An.None;let[C]=await new Do().provideSelectionRanges(p,[v]);if(C.length===0)return An.None;let y=await m.computeWordRanges(p.uri,C[0].range);if(!y)return An.None;let I=p.getWordUntilPosition(v);return delete y[I.word],new class extends An{distance(D,T){if(!v.equals(u.getPosition()))return 0;if(T.kind===17)return 2097152;let K=typeof T.label==="string"?T.label:T.label.label,q=y[K];if(v_(q))return 2097152;let Q=rf(q,t.fromPositions(D),t.compareRangesUsingStarts),te=Q>=0?q[Q]:q[Math.max(0,~Q-1)],oe=C.length;for(let ne of C){if(!t.containsRange(ne.range,te))break;oe-=1}return oe}}}}var gT=function(m,u,p,v){var C=arguments.length,y=C<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,p):v,I;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")y=Reflect.decorate(m,u,p,v);else for(var D=m.length-1;D>=0;D--)if(I=m[D])y=(C<3?I(y):C>3?I(u,p,y):I(u,p))||y;return C>3&&y&&Object.defineProperty(u,p,y),y},ba=function(m,u){return function(p,v){u(p,v,m)}},rC;class va{static shouldAutoTrigger(m){if(!m.hasModel())return!1;let u=m.getModel(),p=m.getPosition();u.tokenization.tokenizeIfCheap(p.lineNumber);let v=u.getWordAtPosition(p);if(!v)return!1;if(v.endColumn!==p.column&&v.startColumn+1!==p.column)return!1;if(!isNaN(Number(v.word)))return!1;return!0}constructor(m,u,p){this.leadingLineContent=m.getLineContent(u.lineNumber).substr(0,u.column-1),this.leadingWord=m.getWordUntilPosition(u),this.lineNumber=u.lineNumber,this.column=u.column,this.triggerOptions=p}}function pT(m,u,p){if(!Boolean(u.getContextKeyValue(Ct.inlineSuggestionVisible.key)))return!0;let v=u.getContextKeyValue(Ct.suppressSuggestions.key);if(v!==void 0)return!v;return!m.getOption(71).suppressSuggestions}function mT(m,u,p){if(!Boolean(u.getContextKeyValue("inlineSuggestionVisible")))return!0;let v=u.getContextKeyValue(Ct.suppressSuggestions.key);if(v!==void 0)return!v;return!m.getOption(71).suppressSuggestions}var jl=rC=class m{constructor(u,p,v,C,y,I,D,T,K){this._editor=u,this._editorWorkerService=p,this._clipboardService=v,this._telemetryService=C,this._logService=y,this._contextKeyService=I,this._configurationService=D,this._languageFeaturesService=T,this._envService=K,this._toDispose=new c,this._triggerCharacterListener=new c,this._triggerQuickSuggest=new qn,this._triggerState=void 0,this._completionDisposables=new c,this._onDidCancel=new i,this._onDidTrigger=new i,this._onDidSuggest=new i,this.onDidCancel=this._onDidCancel.event,this.onDidTrigger=this._onDidTrigger.event,this.onDidSuggest=this._onDidSuggest.event,this._currentSelection=this._editor.getSelection()||new A(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 q=!1;this._toDispose.add(this._editor.onDidCompositionStart(()=>{q=!0})),this._toDispose.add(this._editor.onDidCompositionEnd(()=>{q=!1,this._onCompositionEnd()})),this._toDispose.add(this._editor.onDidChangeCursorSelection((Q)=>{if(!q)this._onCursorChange(Q)})),this._toDispose.add(this._editor.onDidChangeModelContent(()=>{if(!q&&this._triggerState!==void 0)this._refilterCompletionItems()})),this._updateTriggerCharacters()}dispose(){De(this._triggerCharacterListener),De([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 u=new Map;for(let v of this._languageFeaturesService.completionProvider.all(this._editor.getModel()))for(let C of v.triggerCharacters||[]){let y=u.get(C);if(!y)y=new Set,u.set(C,y);y.add(v)}let p=(v)=>{if(!mT(this._editor,this._contextKeyService,this._configurationService))return;if(va.shouldAutoTrigger(this._editor))return;if(!v){let I=this._editor.getPosition();v=this._editor.getModel().getLineContent(I.lineNumber).substr(0,I.column-1)}let C="";if(yl(v.charCodeAt(v.length-1))){if(mn(v.charCodeAt(v.length-2)))C=v.substr(v.length-2)}else C=v.charAt(v.length-1);let y=u.get(C);if(y){let I=new Map;if(this._completionModel){for(let[D,T]of this._completionModel.getItemsByProvider())if(!y.has(D))I.set(D,T)}this.trigger({auto:!0,triggerKind:1,triggerCharacter:C,retrigger:Boolean(this._completionModel),clipboardText:this._completionModel?.clipboardText,completionOptions:{providerFilter:y,providerItemsToReuse:I}})}};this._triggerCharacterListener.add(this._editor.onDidType(p)),this._triggerCharacterListener.add(this._editor.onDidCompositionEnd(()=>p()))}get state(){if(!this._triggerState)return 0;else if(!this._triggerState.auto)return 1;else return 2}cancel(u=!1){if(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:u})}clear(){this._completionDisposables.clear()}_updateActiveSuggestSession(){if(this._triggerState!==void 0)if(!this._editor.hasModel()||!this._languageFeaturesService.completionProvider.has(this._editor.getModel()))this.cancel();else this.trigger({auto:this._triggerState.auto,retrigger:!0})}_onCursorChange(u){if(!this._editor.hasModel())return;let p=this._currentSelection;if(this._currentSelection=this._editor.getSelection(),!u.selection.isEmpty()||u.reason!==0&&u.reason!==3||u.source!=="keyboard"&&u.source!=="deleteLeft"){this.cancel();return}if(this._triggerState===void 0&&u.reason===0){if(p.containsRange(this._currentSelection)||p.getEndPosition().isBeforeOrEqual(this._currentSelection.getPosition()))this._doTriggerQuickSuggest()}else if(this._triggerState!==void 0&&u.reason===3)this._refilterCompletionItems()}_onCompositionEnd(){if(this._triggerState===void 0)this._doTriggerQuickSuggest();else this._refilterCompletionItems()}_doTriggerQuickSuggest(){if(xs.isAllOff(this._editor.getOption(102)))return;if(this._editor.getOption(134).snippetsPreventQuickSuggestions&&_i.get(this._editor)?.isInSnippet())return;this.cancel(),this._waitForInlineCompletions?.dispose(),this._waitForInlineCompletions=void 0,this._triggerQuickSuggest.cancelAndSet(()=>{if(this._triggerState!==void 0)return;if(!va.shouldAutoTrigger(this._editor))return;if(!this._editor.hasModel()||!this._editor.hasWidgetFocus())return;let u=this._editor.getModel(),p=this._editor.getPosition(),v=this._editor.getOption(102);if(xs.isAllOff(v))return;let C=!1;if(!xs.isAllOn(v)){u.tokenization.tokenizeIfCheap(p.lineNumber);let y=u.tokenization.getLineTokens(p.lineNumber),I=y.getStandardTokenType(y.findTokenIndexAtOffset(Math.max(p.column-1-1,0))),D=xs.valueFor(v,I);if(D==="off"||D==="inline")return;if(D==="offWhenInlineCompletions")C=this._languageFeaturesService.inlineCompletionsProvider.has(u)&&this._editor.getOption(71).enabled}if(!pT(this._editor,this._contextKeyService,this._configurationService))return;if(!this._languageFeaturesService.completionProvider.has(u))return;if(C)this._waitForInlineCompletionsAndTrigger(u,p);else this.trigger({auto:!0})},this._editor.getOption(103))}_waitForInlineCompletionsAndTrigger(u,p){let v=u.getVersionId(),C=Gm(this._editor),y=C?.model.get();if(!C||!y){this.trigger({auto:!0});return}if(y.state.get()?.inlineSuggestion)return;let D=new c;this._waitForInlineCompletions=D;let T=(K)=>{if(D.dispose(),this._waitForInlineCompletions===D)this._waitForInlineCompletions=void 0;if(this._triggerState!==void 0)return;if(!K)return;let q=this._editor.getModel(),Q=this._editor.getPosition();if(q===u&&q.getVersionId()===v&&Q?.equals(p)&&this._editor.hasWidgetFocus())this.trigger({auto:!0})};Yn(()=>{T(!0),y.stop("automatic")},750,D),h$(D,(K)=>{if(C.model.read(K)!==y){K.dispose(),T(!1);return}let Q=y.status.read(K),te=y.state.read(K);if(!te&&Q==="loading")return;K.dispose(),T(!te)})}_refilterCompletionItems(){Re(this._editor.hasModel()),Re(this._triggerState!==void 0);let u=this._editor.getModel(),p=this._editor.getPosition(),v=new va(u,p,{...this._triggerState,refilter:!0});this._onNewContext(v)}trigger(u){if(!this._editor.hasModel())return;let p=this._editor.getModel(),v=new va(p,this._editor.getPosition(),u);this.cancel(u.retrigger),this._triggerState=u,this._onDidTrigger.fire({auto:u.auto,shy:u.shy??!1,position:this._editor.getPosition()}),this._context=v;let C={triggerKind:u.triggerKind??0};if(u.triggerCharacter)C={triggerKind:1,triggerCharacter:u.triggerCharacter};this._requestToken=new Pe;let y=this._editor.getOption(128),I=1;switch(y){case"top":I=0;break;case"bottom":I=2;break}let{itemKind:D,showDeprecated:T}=rC.createSuggestFilter(this._editor),K=new kd(I,u.completionOptions?.kindFilter??D,u.completionOptions?.providerFilter,u.completionOptions?.providerItemsToReuse,T),q=An.create(this._editorWorkerService,this._editor),Q=Pu(this._languageFeaturesService.completionProvider,p,this._editor.getPosition(),K,C,this._requestToken.token);Promise.all([Q,q]).then(async([te,oe])=>{if(this._requestToken?.dispose(),!this._editor.hasModel()){te.disposable.dispose();return}let ne=u?.clipboardText;if(!ne&&te.needsClipboard)ne=await this._clipboardService.readText();if(this._triggerState===void 0){te.disposable.dispose();return}let ae=this._editor.getModel(),ge=new va(ae,this._editor.getPosition(),u),Ie={...Mg.default,firstMatchCanBeWeak:!this._editor.getOption(134).matchOnWordStartOnly};if(this._completionModel=new Yr(te.items,this._context.column,{leadingLineContent:ge.leadingLineContent,characterCountDelta:ge.column-this._context.column},oe,this._editor.getOption(134),this._editor.getOption(128),Ie,ne),this._completionDisposables.add(te.disposable),this._onNewContext(ge),this._reportDurationsTelemetry(te.durations),!this._envService.isBuilt||this._envService.isExtensionDevelopment){for(let ke of te.items)if(ke.isInvalid)this._logService.warn(`[suggest] did IGNORE invalid completion item from ${ke.provider._debugDisplayName}`,ke.completion)}}).catch(J)}_reportDurationsTelemetry(u){if(Math.random()>0.0001)return;setTimeout(()=>{this._telemetryService.publicLog2("suggest.durations.json",{data:JSON.stringify(u)}),this._logService.debug("suggest.durations.json",u)})}static createSuggestFilter(u){let p=new Set;if(u.getOption(128)==="none")p.add(28);let C=u.getOption(134);if(!C.showMethods)p.add(0);if(!C.showFunctions)p.add(1);if(!C.showConstructors)p.add(2);if(!C.showFields)p.add(3);if(!C.showVariables)p.add(4);if(!C.showClasses)p.add(5);if(!C.showStructs)p.add(6);if(!C.showInterfaces)p.add(7);if(!C.showModules)p.add(8);if(!C.showProperties)p.add(9);if(!C.showEvents)p.add(10);if(!C.showOperators)p.add(11);if(!C.showUnits)p.add(12);if(!C.showValues)p.add(13);if(!C.showConstants)p.add(14);if(!C.showEnums)p.add(15);if(!C.showEnumMembers)p.add(16);if(!C.showKeywords)p.add(17);if(!C.showWords)p.add(18);if(!C.showColors)p.add(19);if(!C.showFiles)p.add(20);if(!C.showReferences)p.add(21);if(!C.showColors)p.add(22);if(!C.showFolders)p.add(23);if(!C.showTypeParameters)p.add(24);if(!C.showSnippets)p.add(28);if(!C.showUsers)p.add(25);if(!C.showIssues)p.add(26);return{itemKind:p,showDeprecated:C.showDeprecated}}_onNewContext(u){if(!this._context)return;if(u.lineNumber!==this._context.lineNumber){this.cancel();return}if(kt(u.leadingLineContent)!==kt(this._context.leadingLineContent)){this.cancel();return}if(u.column<this._context.column){if(u.leadingWord.word)this.trigger({auto:this._context.triggerOptions.auto,retrigger:!0});else this.cancel();return}if(!this._completionModel)return;if(u.leadingWord.word.length!==0&&u.leadingWord.startColumn>this._context.leadingWord.startColumn){if(va.shouldAutoTrigger(this._editor)&&this._context){let v=this._completionModel.getItemsByProvider();this.trigger({auto:this._context.triggerOptions.auto,retrigger:!0,clipboardText:this._completionModel.clipboardText,completionOptions:{providerItemsToReuse:v}})}return}if(u.column>this._context.column&&this._completionModel.getIncompleteProvider().size>0&&u.leadingWord.word.length!==0){let p=new Map,v=new Set;for(let[C,y]of this._completionModel.getItemsByProvider())if(y.length>0&&y[0].container.incomplete)v.add(C);else p.set(C,y);this.trigger({auto:this._context.triggerOptions.auto,triggerKind:2,retrigger:!0,clipboardText:this._completionModel.clipboardText,completionOptions:{providerFilter:v,providerItemsToReuse:p}})}else{let p=this._completionModel.lineContext,v=!1;if(this._completionModel.lineContext={leadingLineContent:u.leadingLineContent,characterCountDelta:u.column-this._context.column},this._completionModel.items.length===0){let C=va.shouldAutoTrigger(this._editor);if(!this._context){this.cancel();return}if(C&&this._context.leadingWord.endColumn<u.leadingWord.startColumn){this.trigger({auto:this._context.triggerOptions.auto,retrigger:!0});return}if(!this._context.triggerOptions.auto){if(this._completionModel.lineContext=p,v=this._completionModel.items.length>0,v&&u.leadingWord.word.length===0){this.cancel();return}}else{this.cancel();return}}this._onDidSuggest.fire({completionModel:this._completionModel,triggerOptions:u.triggerOptions,isFrozen:v})}}};jl=rC=gT([ba(1,gi),ba(2,Qn),ba(3,Tn),ba(4,Be),ba(5,z),ba(6,X),ba(7,j),ba(8,jg)],jl);var F0=function(m,u,p,v){var C=arguments.length,y=C<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,p):v,I;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")y=Reflect.decorate(m,u,p,v);else for(var D=m.length-1;D>=0;D--)if(I=m[D])y=(C<3?I(y):C>3?I(u,p,y):I(u,p))||y;return C>3&&y&&Object.defineProperty(u,p,y),y},Hu=function(m,u){return function(p,v){u(p,v,m)}};class H0{constructor(m,u,p,v,C,y,I){this.range=m,this.insertText=u,this.filterText=p,this.additionalTextEdits=v,this.command=C,this.gutterMenuLinkAction=y,this.completion=I,this.doNotLog=!0}}var sC=class m extends ik{constructor(u,p,v,C,y,I){super(y.disposable);this.model=u,this.line=p,this.word=v,this.completionModel=C,this._suggestMemoryService=I}canBeReused(u,p,v){return this.model===u&&this.line===p&&this.word.word.length>0&&this.word.startColumn===v.startColumn&&this.word.endColumn<v.endColumn&&this.completionModel.getIncompleteProvider().size===0}get items(){let u=[],{items:p}=this.completionModel,v=this._suggestMemoryService.select(this.model,{lineNumber:this.line,column:this.word.endColumn+this.completionModel.lineContext.characterCountDelta},p),C=Se.slice(p,v),y=Se.slice(p,0,v),I=5;for(let D of Se.concat(C,y)){if(D.score===Ro.Default)continue;let T=new t(D.editStart.lineNumber,D.editStart.column,D.editInsertEnd.lineNumber,D.editInsertEnd.column+this.completionModel.lineContext.characterCountDelta),K=D.completion.insertTextRules&&D.completion.insertTextRules&4?{snippet:D.completion.insertText}:D.completion.insertText;if(u.push(new H0(T,K,D.filterTextLow??D.labelLow,D.completion.additionalTextEdits,D.completion.command,D.completion.action,D)),I-->=0)D.resolve(he.None)}return u}};sC=F0([Hu(5,Ul)],sC);var aC=class m extends n{constructor(u,p,v,C){super();this._languageFeatureService=u,this._clipboardService=p,this._suggestMemoryService=v,this._editorService=C,this._store.add(u.inlineCompletionsProvider.register("*",this))}async provideInlineCompletions(u,p,v,C){if(v.selectedSuggestionInfo)return;let y;for(let oe of this._editorService.listCodeEditors())if(oe.getModel()===u){y=oe;break}if(!y)return;let I=y.getOption(102);if(xs.isAllOff(I))return;u.tokenization.tokenizeIfCheap(p.lineNumber);let D=u.tokenization.getLineTokens(p.lineNumber),T=D.getStandardTokenType(D.findTokenIndexAtOffset(Math.max(p.column-1-1,0)));if(xs.valueFor(I,T)!=="inline")return;let K=u.getWordAtPosition(p),q;if(!K?.word)q=this._getTriggerCharacterInfo(u,p);if(!K?.word&&!q)return;if(!K)K=u.getWordUntilPosition(p);if(K.endColumn!==p.column)return;let Q,te=u.getValueInRange(new t(p.lineNumber,1,p.lineNumber,p.column));if(!q&&this._lastResult?.canBeReused(u,p.lineNumber,K)){let oe=new $m(te,p.column-this._lastResult.word.endColumn);this._lastResult.completionModel.lineContext=oe,this._lastResult.acquire(),Q=this._lastResult}else{let oe=await Pu(this._languageFeatureService.completionProvider,u,p,new kd(void 0,jl.createSuggestFilter(y).itemKind,q?.providers),q&&{triggerKind:1,triggerCharacter:q.ch},C),ne;if(oe.needsClipboard)ne=await this._clipboardService.readText();let ae=new Yr(oe.items,p.column,new $m(te,0),An.None,y.getOption(134),y.getOption(128),{boostFullMatch:!1,firstMatchCanBeWeak:!1},ne);Q=new sC(u,p.lineNumber,K,ae,oe,this._suggestMemoryService)}return this._lastResult=Q,Q}handleItemDidShow(u,p){p.completion.resolve(he.None)}disposeInlineCompletions(u){u.release()}_getTriggerCharacterInfo(u,p){let v=u.getValueInRange(t.fromPositions({lineNumber:p.lineNumber,column:p.column-1},p)),C=new Set;for(let y of this._languageFeatureService.completionProvider.all(u))if(y.triggerCharacters?.includes(v))C.add(y);if(C.size===0)return;return{providers:C,ch:v}}};aC=F0([Hu(0,j),Hu(1,Qn),Hu(2,Ul),Hu(3,ve)],aC);Ua(aC);var fT=function(m,u,p,v){var C=arguments.length,y=C<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,p):v,I;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")y=Reflect.decorate(m,u,p,v);else for(var D=m.length-1;D>=0;D--)if(I=m[D])y=(C<3?I(y):C>3?I(u,p,y):I(u,p))||y;return C>3&&y&&Object.defineProperty(u,p,y),y},_T=function(m,u){return function(p,v){u(p,v,m)}};function B0(m){if(m instanceof dC)return m._instance;return m}class dC{constructor(m){this.instantiationService=m}init(...m){}}function V0(m){return m.get()}var W0=class m extends dC{constructor(u,p){super(p);this.init(u)}};W0=fT([_T(1,L)],W0);class Nd{validateOrThrow(m){let u=this.validate(m);if(u.error)throw Error(u.error.message);return u.content}}class Wu extends Nd{constructor(m){super();this.type=m}validate(m){if(typeof m!==this.type)return{content:void 0,error:{message:`Expected ${this.type}, but got ${typeof m}`}};return{content:m,error:void 0}}getJSONSchema(){return{type:this.type}}}var bT=new Wu("string");function K0(){return bT}new Wu("number");var vT=new Wu("boolean");function lC(){return vT}new Wu("object");class z0 extends Nd{validate(m){return{content:m,error:void 0}}getJSONSchema(){return{}}}function U0(){return new z0}class cC extends Nd{validate(m){if(m!==void 0)return{content:void 0,error:{message:`Expected undefined, but got ${typeof m}`}};return{content:void 0,error:void 0}}getJSONSchema(){return{}}}function $0(){return new cC}class qm{constructor(m){this.validator=m}}function Bu(m){return new qm(m)}class j0 extends Nd{constructor(m){super();this.properties=m}validate(m){if(typeof m!=="object"||m===null)return{content:void 0,error:{message:"Expected object"}};let u={};for(let p in this.properties){let v=this.properties[p],C=m[p],y=v instanceof qm,I=y?v.validator:v;if(y&&C===void 0)continue;let{content:D,error:T}=I.validate(C);if(T)return{content:void 0,error:{message:`Error in property '${p}': ${T.message}`}};u[p]=D}return{content:u,error:void 0}}getJSONSchema(){let m=[],u={};for(let[v,C]of Object.entries(this.properties)){let y=C instanceof qm,I=y?C.validator:C;if(u[v]=I.getJSONSchema(),!y)m.push(v)}return{type:"object",properties:u,...m.length>0?{required:m}:{}}}}function G0(m){return new j0(m)}class q0 extends Nd{constructor(m){super();this.validators=m}validate(m){let u;for(let p of this.validators){let{content:v,error:C}=p.validate(m);if(!C)return{content:v,error:void 0};u=C}return{content:void 0,error:u}}getJSONSchema(){return{oneOf:QR(this.validators,(m)=>{if(m instanceof cC)return;return m.getJSONSchema()})}}}function Z0(...m){return new q0(m)}class X0 extends Nd{constructor(m,u){super();this._ref=m,this._validator=u}validate(m){return this._validator.validate(m)}getJSONSchema(){return{$ref:this._ref}}}function Y0(m,u){return new X0(m,u)}var ST=function(m,u,p,v){var C=arguments.length,y=C<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,p):v,I;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")y=Reflect.decorate(m,u,p,v);else for(var D=m.length-1;D>=0;D--)if(I=m[D])y=(C<3?I(y):C>3?I(u,p,y):I(u,p))||y;return C>3&&y&&Object.defineProperty(u,p,y),y},J0=function(m,u){return function(p,v){u(p,v,m)}};function Q0(m){return m.sourceId+" @@ "+JSON.stringify({...m,modelUri:m.modelUri?.toString(),sourceId:void 0})}var Gl=class m extends n{static cast(){return this}constructor(u,p,v){super();this._key=u,this._contextKeyService=p,this._dataChannelService=v,this._isEnabledContextKeyValue=wT("structuredLogger.enabled:"+this._key,this._contextKeyService).recomputeInitiallyAndOnChange(this._store),this.isEnabled=this._isEnabledContextKeyValue.map((C)=>C!==void 0)}log(u){if(!this._isEnabledContextKeyValue.get())return!1;return this._dataChannelService.getDataChannel("structuredLogger:"+this._key).sendData(u),!0}};Gl=ST([J0(1,z),J0(2,zg)],Gl);function wT(m,u){return Te(u.onDidChangeContext,()=>u.getContextKeyValue(m))}var CT=function(m,u,p,v){var C=arguments.length,y=C<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,p):v,I;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")y=Reflect.decorate(m,u,p,v);else for(var D=m.length-1;D>=0;D--)if(I=m[D])y=(C<3?I(y):C>3?I(u,p,y):I(u,p))||y;return C>3&&y&&Object.defineProperty(u,p,y),y},e1=function(m,u){return function(p,v){u(p,v,m)}},Zm=class m extends n{constructor(u,p,v){super();this._editor=u,this._instantiationService=p,this._loggerService=v,this._structuredLogger=this._register(this._instantiationService.createInstance(Gl.cast(),"editor.inlineSuggest.logChangeReason.commandId"));let C=this._loggerService?.createLogger("textModelChanges",{hidden:!1,name:"Text Model Changes Reason"}),y=Te(this,C.onDidChangeLogLevel,()=>C.getLevel());this._register(H((I)=>{if(!lk(y.read(I),ji.Trace))return;I.store.add(this._editor.onDidChangeModelContent((D)=>{if(this._editor.getModel()?.uri.scheme==="output")return;C.trace("onDidChangeModelContent: "+D.detailedReasons.map((T)=>T.toKey(Number.MAX_VALUE)).join(", "))}))})),this._register(H((I)=>{if(!(this._editor instanceof Rl))return;if(!this._structuredLogger.isEnabled.read(I))return;I.store.add(this._editor.onDidChangeModelContent((D)=>{let T=this._editor.getModel();if(!T)return;let K=D.detailedReasons[0],q={...K.metadata,sourceId:"TextModel.setChangeReason",source:K.metadata.source,time:Date.now(),modelUri:T.uri,modelVersion:T.getVersionId()};setTimeout(()=>{this._structuredLogger.log(q)},0)}))}))}};Zm=CT([e1(1,L),e1(2,I_)],Zm);function Od(m){return new t1(m)}class t1 extends Sv{constructor(m){super();this._textModel=m}getOffset(m){return this._textModel.getOffsetAt(m)}getPosition(m){return this._textModel.getPositionAt(m)}}var yT=[];function i1(){return yT}function hC(m){return xT(m).map((p)=>p.getEndPosition())}function xT(m){let u=cv.createSortPermutation(m,kn((C)=>C.range,t.compareRangesUsingStarts)),v=new mr(u.apply(m)).getNewRanges();return u.inverse().apply(v)}function o1(m,u){let p=Od(u),v=u.getValue();return m.map((I)=>p.getStringReplacement(I)).map((I)=>I.removeCommonSuffixPrefix(v)).map((I)=>p.getTextReplacement(I))}function n1(m,u){let p=P("result",[]),v=[];return u.add(H((C)=>{let y=m.read(C);je((I)=>{if(y.length!==v.length){v.length=y.length;for(let D=0;D<v.length;D++)if(!v[D])v[D]=P("item",y[D]);p.set([...v],I)}v.forEach((D,T)=>D.set(y[T],I))})})),p}class uC{constructor(m){this._contextKeyService=m}bind(m,u){return Jo(m,this._contextKeyService,u instanceof Function?u:(p)=>u.read(p))}}function gC(m,u){return new Promise((p)=>{let v=void 0,C=setTimeout(()=>{if(v)v.dispose();p()},m);if(u)v=u.onCancellationRequested(()=>{if(clearTimeout(C),v)v.dispose();p()})})}class ql{static message(m){return new ql(void 0,m)}constructor(m,u=void 0){this.error=m,this.message=u}static is(m){return m instanceof ql}logError(){if(this.message)console.error(`ErrorResult: ${this.message}`,this.error);else console.error("ErrorResult: An unexpected error-case occurred, usually caused by invalid input.",this.error)}}class Xm{static startNow(m,u,p,v=r1){return new Xm(m,u,p,Date.now(),v)}constructor(m,u,p,v,C=r1){if(this.startValue=m,this.endValue=u,this.durationMs=p,this.startTimeMs=v,this._interpolationFunction=C,m===u)this.durationMs=0}isFinished(m){return m>=this.startTimeMs+this.durationMs}getValue(m){let u=m-this.startTimeMs;if(u>=this.durationMs)return this.endValue;return this._interpolationFunction(u,this.startValue,this.endValue-this.startValue,this.durationMs)}}function r1(m,u,p,v){return m===v?u+p:p*(-Math.pow(2,-10*m/v)+1)+u}function s1(m,u,p,v){return p*((m=m/v-1)*m*m+1)+u}class pC{constructor(m){this._value=m}getValue(m){let u=Date.now();if(!this._value.isFinished(u))dg.instance.invalidateOnNextAnimationFrame(m);return this._value.getValue(u)}isFinished(m){let u=Date.now(),p=this._value.isFinished(u);if(!p)dg.instance.invalidateOnNextAnimationFrame(m);return p}}class dg{constructor(){this._counter=Fi(this),this._isScheduled=!1}static{this.instance=new dg}invalidateOnNextAnimationFrame(m){if(this._counter.read(m),!this._isScheduled)this._isScheduled=!0,Me().requestAnimationFrame(()=>{this._isScheduled=!1,this._update()})}_update(){this._counter.trigger(void 0)}}class Rs{constructor(m,u){this.lineNumber=m,this.parts=u,Es(()=>Vc(u,(p,v)=>p.column<=v.column))}equals(m){return this.lineNumber===m.lineNumber&&this.parts.length===m.parts.length&&this.parts.every((u,p)=>u.equals(m.parts[p]))}renderForScreenReader(m){if(this.parts.length===0)return"";let u=this.parts[this.parts.length-1],p=m.substr(0,u.column-1);return new mr([...this.parts.map((C)=>new ct(t.fromPositions(new o(1,C.column)),C.lines.map((y)=>y.line).join(`
|
|
34
|
-
`)))]).applyToString(p).substring(this.parts[0].column-1)}isEmpty(){return this.parts.every((m)=>m.lines.length===0)}get lineCount(){return 1+this.parts.reduce((m,u)=>m+u.lines.length-1,0)}}class Md{constructor(m,u,p,v=[]){this.column=m,this.text=u,this.preview=p,this._inlineDecorations=v,this.lines=ni(this.text).map((C,y)=>({line:C,lineDecorations:Ii.filter(this._inlineDecorations,y+1,1,C.length+1)}))}equals(m){return this.column===m.column&&this.lines.length===m.lines.length&&this.lines.every((u,p)=>u.line===m.lines[p].line&&Ii.equalsArr(u.lineDecorations,m.lines[p].lineDecorations))}}class Vu{constructor(m,u,p,v=0){this.lineNumber=m,this.columnRange=u,this.text=p,this.additionalReservedLineCount=v,this.parts=[new Md(this.columnRange.endColumnExclusive,this.text,!1)],this.newLines=ni(this.text)}renderForScreenReader(m){return this.newLines.join(`
|
|
35
|
-
`)}get lineCount(){return this.newLines.length}isEmpty(){return this.parts.every((m)=>m.lines.length===0)}equals(m){return this.lineNumber===m.lineNumber&&this.columnRange.equals(m.columnRange)&&this.newLines.length===m.newLines.length&&this.newLines.every((u,p)=>u===m.newLines[p])&&this.additionalReservedLineCount===m.additionalReservedLineCount}}function mC(m,u){return Ke(m,u,fC)}function fC(m,u){if(m===u)return!0;if(!m||!u)return!1;if(m instanceof Rs&&u instanceof Rs)return m.equals(u);if(m instanceof Vu&&u instanceof Vu)return m.equals(u);return!1}function Qo(m,u,p){let v=p?m.range.intersectRanges(p):m.range;if(!v)return m;let C=m.text.replaceAll(`\r
|
|
36
|
-
`,`
|
|
37
|
-
`),y=u.getValueInRange(v,1),I=ur(y,C),D=At.ofText(y.substring(0,I)).addToPosition(m.range.getStartPosition()),T=C.substring(I),K=t.fromPositions(D,m.range.getEndPosition());return new ct(K,T)}function Ym(m,u){return m.text.startsWith(u.text)&&IT(m.range,u.range)}function IT(m,u){return u.getStartPosition().equals(m.getStartPosition())&&u.getEndPosition().isBeforeOrEqual(m.getEndPosition())}function _C(m,u,p,v,C=0){let y=Qo(m,u);if(y.range.endLineNumber!==y.range.startLineNumber)return;let I=u.getLineContent(y.range.startLineNumber),D=kt(I).length;if(y.range.startColumn-1<=D){let ne=kt(y.text).length,ae=I.substring(y.range.startColumn-1,D),[ge,Ie]=[y.range.getStartPosition(),y.range.getEndPosition()],ke=ge.column+ae.length<=Ie.column?ge.delta(0,ae.length):Ie,Oe=t.fromPositions(ke,Ie),Ve=y.text.startsWith(ae)?y.text.substring(ae.length):y.text.substring(ne);y=new ct(Oe,Ve)}let K=u.getValueInRange(y.range),q=LT(K,y.text);if(!q)return;let Q=y.range.startLineNumber,te=[];if(p==="prefix"){let ne=q.filter((ae)=>ae.originalLength===0);if(ne.length>1||ne.length===1&&ne[0].originalStart!==K.length)return}let oe=y.text.length-C;for(let ne of q){let ae=y.range.startColumn+ne.originalStart+ne.originalLength;if(p==="subwordSmart"&&v&&v.lineNumber===y.range.startLineNumber&&ae<v.column)return;if(ne.originalLength>0)return;if(ne.modifiedLength===0)continue;let ge=ne.modifiedStart+ne.modifiedLength,Ie=Math.max(ne.modifiedStart,Math.min(ge,oe)),ke=y.text.substring(ne.modifiedStart,Ie),Oe=y.text.substring(Ie,Math.max(ne.modifiedStart,ge));if(ke.length>0)te.push(new Md(ae,ke,!1));if(Oe.length>0)te.push(new Md(ae,Oe,!0))}return new Rs(Q,te)}var Jm=void 0;function LT(m,u){if(Jm?.originalValue===m&&Jm?.newValue===u)return Jm?.changes;else{let p=d1(m,u,!0);if(p){let v=a1(p);if(v>0){let C=d1(m,u,!1);if(C&&a1(C)<v)p=C}}return Jm={originalValue:m,newValue:u,changes:p},p}}function a1(m){let u=0;for(let p of m)u+=p.originalLength;return u}function d1(m,u,p){if(m.length>5000||u.length>5000)return;function v(K){let q=0;for(let Q=0,te=K.length;Q<te;Q++){let oe=K.charCodeAt(Q);if(oe>q)q=oe}return q}let C=Math.max(v(m),v(u));function y(K){if(K<0)throw Error("unexpected");return C+K+1}function I(K){let q=0,Q=0,te=new Int32Array(K.length);for(let oe=0,ne=K.length;oe<ne;oe++)if(p&&K[oe]==="("){let ae=Q*100+q;te[oe]=y(2*ae),q++}else if(p&&K[oe]===")"){q=Math.max(q-1,0);let ae=Q*100+q;if(te[oe]=y(2*ae+1),q===0)Q++}else te[oe]=K.charCodeAt(oe);return te}let D=I(m),T=I(u);return new Ds({getElements:()=>D},{getElements:()=>T}).ComputeDiff(!1).changes}function l1(m,u){let p=void 0,v=!1,C=new gv(new Zn(m,void 0,u.update),(y,I)=>{if(!v)p=u.initial instanceof Function?u.initial():u.initial,v=!0;let D=u.update(y,p,I);return p=D,D},u.changeTracker,()=>{if(v)u.disposeFinal?.(p),v=!1},u.equalityComparer??kr,(y,I,D)=>{if(!v)throw new M("Can only set when there is a listener! This is to prevent leaks.");oc(I,(T)=>{p=y,C.setValue(y,T,D)})},Ot.ofCaller());return C}var ET=function(m,u,p,v){var C=arguments.length,y=C<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,p):v,I;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")y=Reflect.decorate(m,u,p,v);else for(var D=m.length-1;D>=0;D--)if(I=m[D])y=(C<3?I(y):C>3?I(u,p,y):I(u,p))||y;return C>3&&y&&Object.defineProperty(u,p,y),y},c1=function(m,u){return function(p,v){u(p,v,m)}};class h1{constructor(m,u){this._baseService=m,this._intercept=u}publicLog2(m,u){this._intercept(m,u),this._baseService.publicLog2(m,u)}}var Qm=class m extends h1{constructor(u,p){super(u,(v,C)=>{let y=!0;if(C&&bC in C)y=Boolean(C[bC]);if(y)p.getDataChannel("editTelemetry").sendData({eventName:v,data:C??{}})})}};Qm=ET([c1(0,Tn),c1(1,zg)],Qm);var bC=Symbol("shouldForwardToChannel");function u1(m){return{[bC]:m}}function vC(m){if(!m)return!1;let u=m.toLowerCase();return u==="github.copilot"||u==="github.copilot-chat"}function g1(m,u){m.publicLog2("inlineCompletion.endOfLife",u)}var DT=new Set([";",",","=","+","-","*","/","{","}","(",")","[","]","<",">",":",".","!","?","&","|","^","%","@","#","~","`","\\","'",'"',"$"]);function RT(m){return DT.has(m)}function kT(m){return/[a-zA-Z0-9_]/.test(m)}function TT(m){return m===" "||m==="\t"}function df(m){let u=m.split(/\r\n|\r|\n/);if(u.length>1)return{kind:"multiLine",lineCount:u.length};let p=m.length===1,v;if(p){if(RT(m))v="syntactical";else if(kT(m))v="identifier";else if(TT(m))v="whitespace"}let C=m.match(/[ \t]+/g)||[],y=C.some((q)=>q.length>1),I=C.some((q)=>q.includes(" ")||q.includes("\t\t")),D=m.split(/\s+/).filter((q)=>q.length>0),T=D.length===1&&/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(D[0]),K=D.length>1;return{kind:"singleLine",isSingleCharacter:p,singleCharacterKind:v,isWord:T,isMultipleWords:K,isMultipleWhitespace:y,hasDuplicatedWhitespace:I}}class p1{constructor(m){this.edits=m}toString(){return JSON.stringify({edits:this.edits})}}function wC(m,u,p){if(m.replacements.length===0)return;return new p1(m.replacements.map((v)=>NT(v,u)))}function SC(m){if(m.length===0)return 0;return m.split(/\r\n|\r|\n/).length-1}function NT(m,u,p){let{replaceRange:v,newText:C}=m,y=v.length,I=C.length,D=SC(C);switch(v.isEmpty?"insert":C.length===0?"delete":"replace"){case"insert":return{operation:"insert",properties:OT(v.start,C,u),charactersInserted:I,charactersDeleted:0,linesInserted:D,linesDeleted:0};case"delete":{let K=u.getValue().substring(v.start,v.endExclusive);return{operation:"delete",properties:MT(v.start,v.endExclusive,u),charactersInserted:0,charactersDeleted:y,linesInserted:0,linesDeleted:SC(K)}}case"replace":{let K=u.getValue().substring(v.start,v.endExclusive);return{operation:"replace",properties:PT(K,C),charactersInserted:I,charactersDeleted:y,linesInserted:D,linesDeleted:SC(K)}}}}function OT(m,u,p,v){let C=df(u),y=p.getPositionAt(m),I=p.getLineContent(y.lineNumber),D=I.length,T,K=I.trim().length===0,q=y.column>D,Q=y.column===1;if(K)T="emptyLine";else if(q)T="endOfLine";else if(Q)T="startOfLine";else T="middleOfLine";let te;return{textShape:C,locationShape:T,relativeToCursor:te}}function MT(m,u,p){let v=p.getValue().substring(m,u),C=df(v),y=p.getPositionAt(m),I=p.getPositionAt(u),D=p.getLineContent(I.lineNumber),T=I.column>D.length,K=y.lineNumber===I.lineNumber&&y.column===1&&I.column>D.length;return{textShape:C,isAtEndOfLine:T,deletesEntireLineContent:K}}function PT(m,u){let p=df(m),v=df(u),C=p.kind==="singleLine"&&p.isWord,y=v.kind==="singleLine"&&v.isWord,I=C&&y,D=u.length>m.length,T=u.length<m.length,K=p.kind==="singleLine"&&v.kind==="singleLine",q=p.kind==="singleLine"&&v.kind==="multiLine",Q=p.kind==="multiLine"&&v.kind==="singleLine";return{isWordToWordReplacement:I,isAdditive:D,isSubtractive:T,isSingleLineToSingleLine:K,isSingleLineToMultiLine:q,isMultiLineToSingleLine:Q}}function lf(m,u,p,v){let C=Qo(m,p),y=m.range;if(!y||u&&!u.getStartPosition().equals(y.getStartPosition())||v.lineNumber!==C.range.startLineNumber||C.isEmpty)return!1;let I=p.getValueInRange(C.range,1),D=C.text,T=Math.max(0,v.column-C.range.startColumn),K=D.substring(0,T),q=D.substring(T),Q=I.substring(0,T),te=I.substring(T),oe=p.getLineIndentColumn(C.range.startLineNumber);if(C.range.startColumn<=oe){if(Q=Q.trimStart(),Q.length===0)te=te.trimStart();if(K=K.trimStart(),K.length===0)q=q.trimStart()}return K.startsWith(Q)&&!!mk(te,q)}var uf;(function(m){function u(p){return p?.command.id??void 0}m.toString=u})(uf||(uf={}));class Jr extends pf{static snapshot(m){return new Jr(m)}constructor(m){super();this._textModel=m,this._version=m.getVersionId()}get uri(){return this._textModel.uri}_assertValid(){if(this._textModel.getVersionId()!==this._version)J(Error(`TextModel has changed: expected version ${this._version}, got ${this._textModel.getVersionId()}`))}targets(m){return this._textModel.uri.toString()===m.uri.toString()}getValueOfRange(m){return this._assertValid(),this._textModel.getValueInRange(m)}getLineLength(m){return this._assertValid(),this._textModel.getLineLength(m)}get length(){this._assertValid();let m=this._textModel.getLineCount(),u=this._textModel.getLineLength(m);return new At(m-1,u)}getEOL(){return this._assertValid(),this._textModel.getEOL()}getPositionAt(m){return this._assertValid(),this._textModel.getPositionAt(m)}getValueInRange(m){return this._assertValid(),this._textModel.getValueInRange(m)}getVersionId(){return this._version}dangerouslyGetUnderlyingModel(){return this._textModel}}var Zl;(function(m){function u(p,v,C=!0){if(!p.isInlineEdit&&!p.action?.uri&&p.action?.kind==="edit")return Ku.create(p,v,p.action);else return zu.create(p,v,C)}m.create=u})(Zl||(Zl={}));function AT(m){let u=m?.kind==="edit"?{...m,alternativeAction:uf.toString(m.alternativeAction),target:m?.target.uri.toString()}:{...m,target:m?.target.uri.toString()};return JSON.stringify(u)}class CC{constructor(m,u,p,v){this._data=m,this.identity=u,this.hint=p,this.originalTextRef=v}get source(){return this._data.source}get isFromExplicitRequest(){return this._data.context.triggerKind===Hr.Explicit}get forwardStable(){return this.source.inlineSuggestions.enableForwardStability??!1}get targetRange(){if(this.hint)return this.hint.range;if(this.action?.kind==="edit")return this.action.textReplacement.range;else if(this.action?.kind==="jumpTo")return t.fromPositions(this.action.position);throw new M("InlineSuggestionItem: Either hint or action must be set")}get semanticId(){return this.hash}get gutterMenuLinkAction(){return this._sourceInlineCompletion.gutterMenuLinkAction}get command(){return this._sourceInlineCompletion.command}get supportsRename(){return this._data.supportsRename}get warning(){return this._sourceInlineCompletion.warning}get showInlineEditMenu(){return!!this._sourceInlineCompletion.showInlineEditMenu}get hash(){return AT(this.action)}get requestUuid(){return this._data.context.requestUuid}get partialAccepts(){return this._data.partialAccepts}get _sourceInlineCompletion(){return this._data.sourceInlineCompletion}addRef(){this.identity.addRef(),this.source.addRef()}removeRef(){this.identity.removeRef(),this.source.removeRef()}reportInlineEditShown(m,u,p,v,C){let y=this.action?.kind==="edit"?this.action.textReplacement.text:"";this._data.reportInlineEditShown(m,y,u,p,this.computeEditKind(v),C)}reportPartialAccept(m,u,p){this._data.reportPartialAccept(m,u,p)}reportEndOfLife(m){this._data.reportEndOfLife(m)}setEndOfLifeReason(m){this._data.setEndOfLifeReason(m)}setIsPreceeded(m){this._data.setIsPreceeded(m.partialAccepts)}setNotShownReasonIfNotSet(m){this._data.setNotShownReason(m)}getSourceCompletion(){return this._sourceInlineCompletion}setRenameProcessingInfo(m){this._data.setRenameProcessingInfo(m)}withAction(m){return this._data.withAction(m)}addPerformanceMarker(m){this._data.addPerformanceMarker(m)}}class Df{constructor(){this._onDispose=Fi(this),this.onDispose=this._onDispose,this._jumpedTo=P(this,!1),this._refCount=0,this.id="InlineCompletionIdentity"+Df.idCounter++}static{this.idCounter=0}get jumpedTo(){return this._jumpedTo}addRef(){this._refCount++}removeRef(){if(this._refCount--,this._refCount===0)this._onDispose.trigger(void 0)}setJumpTo(m){this._jumpedTo.set(!0,m)}}class Uu{static create(m){return new Uu(t.lift(m.range),m.content,m.style)}constructor(m,u,p){this.range=m,this.content=u,this.style=p}withEdit(m,u){let p=new B(u.getOffset(this.range.getStartPosition()),u.getOffset(this.range.getEndPosition())),v=ck([p],m)[0];if(!v)return;let C=u.getRange(v);return new Uu(C,this.content,this.style)}}class Ku extends CC{static create(m,u,p){let v=new Df,C=u.getTransformer(),y=p.insertText.replace(/\r\n|\r|\n/g,u.getEOL()),I=WT(new Gn(C.getOffsetRange(p.range),y),u),D=I.removeCommonSuffixAndPrefix(u.getValue()),T=C.getTextReplacement(I),K=m.hint?Uu.create(m.hint):void 0;return new Ku(I,D,T,T.range,p.snippetInfo,m.additionalTextEdits,m,v,K,u)}constructor(m,u,p,v,C,y,I,D,T,K){super(I,D,T,K);this._edit=m,this._trimmedEdit=u,this._textEdit=p,this._originalRange=v,this.snippetInfo=C,this.additionalTextEdits=y,this.isInlineEdit=!1}get action(){return{kind:"edit",textReplacement:this.getSingleTextEdit(),snippetInfo:this.snippetInfo,stringEdit:new ir([this._trimmedEdit]),alternativeAction:void 0,target:this.originalTextRef}}get hash(){return JSON.stringify(this._trimmedEdit.toJson())}getSingleTextEdit(){return this._textEdit}withIdentity(m){return new Ku(this._edit,this._trimmedEdit,this._textEdit,this._originalRange,this.snippetInfo,this.additionalTextEdits,this._data,m,this.hint,this.originalTextRef)}withEdit(m,u){if(!this.originalTextRef.targets(u))return this;let p=ck([this._edit.replaceRange],m);if(p.length===0)return;let v=new Gn(p[0],this._textEdit.text),C=Od(u),y=C.getTextReplacement(v),I=this.hint;if(I){if(I=I.withEdit(m,C),!I)return}let D=v.removeCommonSuffixAndPrefix(u.getValue());return new Ku(v,D,y,this._originalRange,this.snippetInfo,this.additionalTextEdits,this._data,this.identity,I,this.originalTextRef)}canBeReused(m,u){let p=this._textEdit.range;return!!p&&p.containsPosition(u)&&this.isVisible(m,u)&&At.ofRange(p).isGreaterThanOrEqualTo(At.ofRange(this._originalRange))}isVisible(m,u){let p=this.getSingleTextEdit();return lf(p,this._originalRange,m,u)}computeEditKind(m){return wC(new ir([this._edit]),m)}get editRange(){return this.getSingleTextEdit().range}}class zu extends CC{static create(m,u,p=!0){let v,C=[];if(m.action?.kind==="edit"){let D=p?FT(u,m.action.range,m.action.insertText):HT(u,m.action.range,m.action.insertText),T=mr.fromStringEdit(D,u),K=D.isEmpty()?new ct(new t(1,1,1,1),""):T.toReplacement(u);C=D.replacements.map((q)=>{let Q=t.fromPositions(u.getPositionAt(q.replaceRange.start),u.getTransformer().getPosition(q.replaceRange.endExclusive)),te=u.getValueInRange(Q);return If.create(q,te)}),v={kind:"edit",snippetInfo:m.action.snippetInfo,stringEdit:D,textReplacement:K,alternativeAction:m.action.alternativeAction,target:u}}else if(m.action?.kind==="jumpTo")v={kind:"jumpTo",position:m.action.position,offset:u.getTransformer().getOffset(m.action.position),target:u};else if(v=void 0,!m.hint)throw new M("InlineEditItem: action is undefined and no hint is provided");let y=new Df,I=m.hint?Uu.create(m.hint):void 0;return new zu(v,m,y,C,I,!1,u.getVersionId(),u)}constructor(m,u,p,v,C,y=!1,I,D){super(u,p,C,D);this._action=m,this._edits=v,this._lastChangePartOfInlineEdit=y,this._inlineEditModelVersion=I,this.snippetInfo=void 0,this.additionalTextEdits=[],this.isInlineEdit=!0}get updatedEditModelVersion(){return this._inlineEditModelVersion}get action(){return this._action}withIdentity(m){return new zu(this._action,this._data,m,this._edits,this.hint,this._lastChangePartOfInlineEdit,this._inlineEditModelVersion,this.originalTextRef)}canBeReused(m,u){return this._lastChangePartOfInlineEdit&&this.updatedEditModelVersion===m.getVersionId()}withEdit(m,u){if(!this.originalTextRef.targets(u))return this;return this._applyTextModelChanges(m,this._edits,u)}_applyTextModelChanges(m,u,p){let v=Od(p),C=!1,y=this._inlineEditModelVersion,I,D=Jr.snapshot(p);if(this.action?.kind==="edit"){if(u=u.map((te)=>te.applyTextModelChanges(m)),u.some((te)=>te.edit===void 0))return;let K=p.getVersionId();if(C=u.some((te)=>te.lastChangeUpdatedEdit),C)y=K??-1;if(K===null||y+20<K)return;if(u=u.filter((te)=>!te.edit.isEmpty),u.length===0)return;let q=new ir(u.map((te)=>te.edit));I={kind:"edit",textReplacement:v.getTextEdit(q).toReplacement(new Tu(p)),snippetInfo:this.snippetInfo,stringEdit:q,alternativeAction:this.action.alternativeAction,target:D}}else if(this.action?.kind==="jumpTo"){let K=this.action.offset,q=m.applyToOffsetOrUndefined(K);if(q===void 0)return;I={kind:"jumpTo",position:v.getPosition(q),offset:q,target:D}}else I=void 0;let T=this.hint;if(T){if(T=T.withEdit(m,v),!T)return}return new zu(I,this._data,this.identity,u,T,C,y,D)}computeEditKind(m){let u=this.action?.kind==="edit"?this.action.stringEdit:void 0;if(!u)return;return wC(u,m)}}function FT(m,u,p){let v=m.getEOL(),C=m.getValueOfRange(u),y=p.replace(/\r\n|\r|\n/g,v),T=ff.getDefault().computeDiff(ni(C),ni(y),{ignoreTrimWhitespace:!1,computeMoves:!1,extendToSubwords:!0,maxComputationTimeMs:50}).changes.flatMap((te)=>te.innerChanges??[]);function K(te,oe){let ne=At.fromPosition(oe.getStartPosition());return At.ofRange(oe).createRange(ne.addToPosition(te))}let q=new Ma(y);return new ir(T.map((te)=>{let oe=K(u.getStartPosition(),te.originalRange),ne=m.getTransformer().getOffsetRange(oe),ae=q.getValueOfRange(te.modifiedRange),ge=new Gn(ne,ae),Ie=m.getValueOfRange(oe);return BT(ge,Ie,T.length,m)}))}function HT(m,u,p){return new ir([new Gn(m.getTransformer().getOffsetRange(u),p)])}class If{static create(m,u){let p=ur(m.newText,u),v=ls(m.newText,u),C=m.newText.substring(p,m.newText.length-v);return new If(m,C,p,v)}get edit(){return this._edit}get lastChangeUpdatedEdit(){return this._lastChangeUpdatedEdit}constructor(m,u,p,v,C=!1){this._edit=m,this._trimmedNewText=u,this._prefixLength=p,this._suffixLength=v,this._lastChangeUpdatedEdit=C}applyTextModelChanges(m){let u=this._clone();return u._applyTextModelChanges(m),u}_clone(){return new If(this._edit,this._trimmedNewText,this._prefixLength,this._suffixLength,this._lastChangeUpdatedEdit)}_applyTextModelChanges(m){if(this._lastChangeUpdatedEdit=!1,!this._edit)throw new M("UpdatedInnerEdits: No edit to apply changes to");let u=this._applyChanges(this._edit,m);if(!u){this._edit=void 0;return}this._edit=u.edit,this._lastChangeUpdatedEdit=u.editHasChanged}_applyChanges(m,u){let p=m.replaceRange.start,v=m.replaceRange.endExclusive,C=m.newText,y=!1,I=this._prefixLength>0||this._suffixLength>0;for(let D=u.replacements.length-1;D>=0;D--){let T=u.replacements[D],K=T.newText.length>0&&T.replaceRange.isEmpty;if(K&&!I&&T.replaceRange.start===p&&C.startsWith(T.newText)){p+=T.newText.length,C=C.substring(T.newText.length),v+=T.newText.length,y=!0;continue}if(K&&I&&T.replaceRange.start===p+this._prefixLength&&this._trimmedNewText.startsWith(T.newText)){v+=T.newText.length,y=!0,this._prefixLength+=T.newText.length,this._trimmedNewText=this._trimmedNewText.substring(T.newText.length);continue}if(T.newText.length===0&&T.replaceRange.length>0&&T.replaceRange.start>=p+this._prefixLength&&T.replaceRange.endExclusive<=v-this._suffixLength){v-=T.replaceRange.length,y=!0;continue}if(T.equals(m)){y=!0,p=T.replaceRange.endExclusive,C="";continue}if(T.replaceRange.start>v)continue;if(T.replaceRange.endExclusive<p){p+=T.newText.length-T.replaceRange.length,v+=T.newText.length-T.replaceRange.length;continue}return}if(this._trimmedNewText.length===0&&p+this._prefixLength===v-this._suffixLength)return{edit:new Gn(new B(p+this._prefixLength,p+this._prefixLength),""),editHasChanged:!0};return{edit:new Gn(new B(p,v),C),editHasChanged:y}}}function WT(m,u){let p=u.getEOL();if(m.replaceRange.isEmpty&&m.newText.includes(p))m=m1(m,u);return m}function BT(m,u,p,v){let C=v.getEOL();if(m.newText.endsWith(C)&&u.endsWith(C))m=new Gn(m.replaceRange.deltaEnd(-C.length),m.newText.slice(0,-C.length));if(p===1&&m.replaceRange.isEmpty&&m.newText.includes(C)){let y=v.getTransformer().getPosition(m.replaceRange.start);if(v.getLineLength(y.lineNumber)!==0)m=m1(m,v)}if(p===1){let y=ur(u,m.newText),I=ls(u.slice(y),m.newText.slice(y));if(y+I===u.length)return new Gn(m.replaceRange.deltaStart(y).deltaEnd(-I),m.newText.substring(y,m.newText.length-I));if(y+I===m.newText.length)return new Gn(m.replaceRange.deltaStart(y).deltaEnd(-I),"")}return m}function m1(m,u){if(!m.replaceRange.isEmpty)throw new M("Unexpected original range");if(m.replaceRange.start===0)return m;let p=u.getEOL(),v=u.getTransformer().getPosition(m.replaceRange.start),{column:C,lineNumber:y}=v;if(C===1&&y>1&&m.newText.endsWith(p)&&!m.newText.startsWith(p))return new Gn(m.replaceRange.delta(-1),p+m.newText.slice(0,-p.length));return m}function f1(m,u){let p=new Av,v=new Mv(p,(K)=>u.getLanguageConfiguration(K)),C=new Pv(new _1([m]),v),y=Fv(C,[],void 0,!0),I="",D=m.getLineContent();function T(K,q){if(K.kind===2){if(T(K.openingBracket,q),q=rn(q,K.openingBracket.length),K.child)T(K.child,q),q=rn(q,K.child.length);if(K.closingBracket)T(K.closingBracket,q),q=rn(q,K.closingBracket.length);else{let te=v.getSingleLanguageBracketTokens(K.openingBracket.languageId).findClosingTokenText(K.openingBracket.bracketIds);I+=te}}else if(K.kind===3);else if(K.kind===0||K.kind===1)I+=D.substring(Pg(q),Pg(rn(q,K.length)));else if(K.kind===4)for(let Q of K.children)T(Q,q),q=rn(q,Q.length)}return T(y,Gi),I}class _1{constructor(m){this.lines=m,this.tokenization={getLineTokens:(u)=>this.lines[u-1]}}getLineCount(){return this.lines.length}getLineLength(m){return this.lines[m-1].getLineContent().length}}var Qt;(function(m){m.Jump="jump",m.Accept="accept",m.Inactive="inactive"})(Qt||(Qt={}));class Oo{static create(m,u=!1){return new Oo(new Un(F(m),m),u)}constructor(m,u=!1){this.event=m,this.alternativeAction=u}}var ht;(function(m){m.GhostText="ghostText",m.Custom="custom",m.SideBySide="sideBySide",m.Deletion="deletion",m.InsertionInline="insertionInline",m.InsertionMultiLine="insertionMultiLine",m.WordReplacements="wordReplacements",m.LineReplacement="lineReplacement",m.Collapsed="collapsed",m.JumpTo="jumpTo"})(ht||(ht={}));class Xl{constructor(m,u,p,v,C,y,I,D){this.cursorColumnDistance=m,this.cursorLineDistance=u,this.lineCountOriginal=p,this.lineCountModified=v,this.characterCountOriginal=C,this.characterCountModified=y,this.disjointReplacements=I,this.sameShapeReplacements=D,this.longDistanceHintVisible=void 0,this.longDistanceHintDistance=void 0,this.isForAnotherDocument=void 0}setLongDistanceViewData(m,u){this.longDistanceHintVisible=!0,this.longDistanceHintDistance=Math.abs(u-m)}getData(){return{cursorColumnDistance:this.cursorColumnDistance,cursorLineDistance:this.cursorLineDistance,lineCountOriginal:this.lineCountOriginal,lineCountModified:this.lineCountModified,characterCountOriginal:this.characterCountOriginal,characterCountModified:this.characterCountModified,disjointReplacements:this.disjointReplacements,sameShapeReplacements:this.sameShapeReplacements,longDistanceHintVisible:this.longDistanceHintVisible,longDistanceHintDistance:this.longDistanceHintDistance,isForAnotherDocument:this.isForAnotherDocument}}}class Mf{constructor(){this._nodes=new Set,this._outgoingEdges=new Map}static from(m,u){let p=new Mf;for(let v of m)p._nodes.add(v);for(let v of m){let C=u(v);if(C.length>0){let y=new Set;for(let I of C)y.add(I);p._outgoingEdges.set(v,y)}}return p}removeCycles(){let m=[],u=new Set,p=new Set,v=[],C=(y)=>{u.add(y),p.add(y);let I=this._outgoingEdges.get(y);if(I){for(let D of I)if(!u.has(D))C(D);else if(p.has(D))m.push(D),v.push({from:y,to:D})}p.delete(y)};for(let y of this._nodes)if(!u.has(y))C(y);for(let{from:y,to:I}of v){let D=this._outgoingEdges.get(y);if(D)D.delete(I)}return{foundCycles:m}}getOutgoing(m){let u=this._outgoingEdges.get(m);return u?Array.from(u):[]}}function v1(m,u,p,v,C,y){let I=B_("icr"),D=new Pe,T=void 0,K={...v,requestUuid:I},q=KT(u,p),Q=j$(m,(Ie)=>Ie.groupId),te=Mf.from(m,(Ie)=>Ie.yieldsToGroupIds?.flatMap((ke)=>Q.get(ke)??[])??[]),{foundCycles:oe}=te.removeCycles();if(oe.length>0)dt(Error(`Inline completions: cyclic yield-to dependency detected. Path: ${oe.map((Ie)=>Ie.toString?Ie.toString():""+Ie).join(" -> ")}`));let ne=0,ae=new yg(async(Ie)=>{try{if(ne++,D.token.isCancellationRequested)return;let ke=te.getOutgoing(Ie);for(let Je of ke){let tt=await ae.get(Je);if(tt)for(let ot of tt.inlineSuggestions.items){if(ot.isInlineEdit||typeof ot.insertText!=="string"&&ot.insertText!==void 0)return;if(ot.insertText!==void 0){let qe=new ct(t.lift(ot.range)??q,ot.insertText);if(lf(qe,void 0,p,u))return}}}let Oe,Ve=Date.now();try{Oe=await Ie.provideInlineCompletions(p,u,K,D.token)}catch(Je){dt(Je);return}let Ue=Date.now();if(!Oe)return;let Le=[],He=new C1(Oe,Le,Ie);if(He.addRef(),yC(D.token,()=>He.removeRef(T)),D.token.isCancellationRequested)return;for(let Je of Oe.items){let tt=VT(Je,He,q,p,y,K,C,{startTime:Ve,endTime:Ue});if(ql.is(tt)){tt.logError();continue}Le.push(tt)}return He}finally{ne--}}),ge=jn.fromPromisesResolveOrder(m.map((Ie)=>ae.get(Ie))).filter(Mn);return{contextWithUuid:K,get didAllProvidersReturn(){return ne===0},lists:ge,cancelAndDispose:(Ie)=>{if(T!==void 0)return;T=Ie,D.dispose(!0)}}}function yC(m,u){if(m.isCancellationRequested)return u(),n.None;else{let p=m.onCancellationRequested(()=>{p.dispose(),u()});return{dispose:()=>p.dispose()}}}function VT(m,u,p,v,C,y,I,D){let T,K=m.uri?V.revive(m.uri):void 0;if(m.jumpToPosition!==void 0)T={kind:"jumpTo",position:o.lift(m.jumpToPosition),uri:K};else if(m.insertText!==void 0){let q,Q,te=m.range?t.lift(m.range):p;if(typeof m.insertText==="string"){if(q=m.insertText,C&&m.completeBracketPairs){q=b1(q,te.getStartPosition(),v,C);let oe=q.length-m.insertText.length;if(oe!==0)te=new t(te.startLineNumber,te.startColumn,te.endLineNumber,te.endColumn+oe)}Q=void 0}else if("snippet"in m.insertText){let oe=m.insertText.snippet.length;if(C&&m.completeBracketPairs){m.insertText.snippet=b1(m.insertText.snippet,te.getStartPosition(),v,C);let ae=m.insertText.snippet.length-oe;if(ae!==0)te=new t(te.startLineNumber,te.startColumn,te.endLineNumber,te.endColumn+ae)}let ne=new Co().parse(m.insertText.snippet);if(ne.children.length===1&&ne.children[0]instanceof Pi)q=ne.children[0].value,Q=void 0;else q=ne.toString(),Q={snippet:m.insertText.snippet,range:te}}else fl(m.insertText);T={kind:"edit",range:te,insertText:q,snippetInfo:Q,uri:K,alternativeAction:void 0}}else if(T=void 0,!m.hint)return ql.message("Inline completion has no insertText, jumpToPosition nor hint.");return new S1(T,m.hint,m.additionalTextEdits||i1(),m,u,y,m.isInlineEdit??!1,m.supportsRename??!1,I,D,m.correlationId)}class S1{get action(){return this._action}constructor(m,u,p,v,C,y,I,D,T,K,q){this._action=m,this.hint=u,this.additionalTextEdits=p,this.sourceInlineCompletion=v,this.source=C,this.context=y,this.isInlineEdit=I,this.supportsRename=D,this._requestInfo=T,this._providerRequestInfo=K,this._correlationId=q,this._didShow=!1,this._timeUntilShown=void 0,this._timeUntilActuallyShown=void 0,this._showStartTime=void 0,this._shownDuration=0,this._showUncollapsedStartTime=void 0,this._showUncollapsedDuration=0,this._notShownReason=void 0,this._didReportEndOfLife=!1,this._lastSetEndOfLifeReason=void 0,this._isPreceeded=!1,this._partiallyAcceptedCount=0,this._partiallyAcceptedSinceOriginal={characters:0,ratio:0,count:0},this._renameInfo=void 0,this._editKind=void 0,this.performance=new w1,this._viewData={editorType:T.editorType}}get showInlineEditMenu(){return this.sourceInlineCompletion.showInlineEditMenu??!1}get partialAccepts(){return this._partiallyAcceptedSinceOriginal}async reportInlineEditShown(m,u,p,v,C,y){if(this.updateShownDuration(p),this._didShow||this._didReportEndOfLife)return;this.addPerformanceMarker("shown"),this._didShow=!0,this._editKind=C,this._viewData.viewKind=p,this._viewData.renderData=v,this._timeUntilShown=y-this._requestInfo.startTime,this._timeUntilActuallyShown=Date.now()-this._requestInfo.startTime;let I=new Lf(v.lineCountModified,v.lineCountOriginal,v.characterCountModified,v.characterCountOriginal);if(this.source.provider.handleItemDidShow?.(this.source.inlineSuggestions,this.sourceInlineCompletion,u,I),this.sourceInlineCompletion.shownCommand)await m.executeCommand(this.sourceInlineCompletion.shownCommand.id,...this.sourceInlineCompletion.shownCommand.arguments||[])}reportPartialAccept(m,u,p){this._partiallyAcceptedCount++,this._partiallyAcceptedSinceOriginal.characters+=p.characters,this._partiallyAcceptedSinceOriginal.ratio=Math.min(this._partiallyAcceptedSinceOriginal.ratio+(1-this._partiallyAcceptedSinceOriginal.ratio)*p.ratio,1),this._partiallyAcceptedSinceOriginal.count+=p.count,this.source.provider.handlePartialAccept?.(this.source.inlineSuggestions,this.sourceInlineCompletion,m,u)}reportEndOfLife(m){if(this._didReportEndOfLife)return;if(this._didReportEndOfLife=!0,this.reportInlineEditHidden(),!m)m=this._lastSetEndOfLifeReason??{kind:Ia.Ignored,userTypingDisagreed:!1,supersededBy:void 0};if(m.kind===Ia.Rejected&&!this._didShow)m={kind:Ia.Ignored,userTypingDisagreed:!1,supersededBy:void 0};if(m.kind===Ia.Rejected&&this.source.provider.handleRejection)this.source.provider.handleRejection(this.source.inlineSuggestions,this.sourceInlineCompletion);if(this.source.provider.handleEndOfLifetime){let u={requestUuid:this.context.requestUuid,correlationId:this._correlationId,selectedSuggestionInfo:!!this.context.selectedSuggestionInfo,partiallyAccepted:this._partiallyAcceptedCount,partiallyAcceptedCountSinceOriginal:this._partiallyAcceptedSinceOriginal.count,partiallyAcceptedRatioSinceOriginal:this._partiallyAcceptedSinceOriginal.ratio,partiallyAcceptedCharactersSinceOriginal:this._partiallyAcceptedSinceOriginal.characters,shown:this._didShow,shownDuration:this._shownDuration,shownDurationUncollapsed:this._showUncollapsedDuration,editKind:this._editKind?.toString(),preceeded:this._isPreceeded,timeUntilShown:this._timeUntilShown,timeUntilActuallyShown:this._timeUntilActuallyShown,timeUntilProviderRequest:this._providerRequestInfo.startTime-this._requestInfo.startTime,timeUntilProviderResponse:this._providerRequestInfo.endTime-this._requestInfo.startTime,editorType:this._viewData.editorType,languageId:this._requestInfo.languageId,requestReason:this._requestInfo.reason,viewKind:this._viewData.viewKind,notShownReason:this._notShownReason,performanceMarkers:this.performance.toString(),renameCreated:this._renameInfo?.createdRename,renameDuration:this._renameInfo?.duration,renameTimedOut:this._renameInfo?.timedOut,renameDroppedOtherEdits:this._renameInfo?.droppedOtherEdits,renameDroppedRenameEdits:this._renameInfo?.droppedRenameEdits,typingInterval:this._requestInfo.typingInterval,typingIntervalCharacterCount:this._requestInfo.typingIntervalCharacterCount,skuPlan:this._requestInfo.sku?.plan,skuType:this._requestInfo.sku?.type,availableProviders:this._requestInfo.availableProviders.map((p)=>p.toString()).join(","),...this._viewData.renderData?.getData()};this.source.provider.handleEndOfLifetime(this.source.inlineSuggestions,this.sourceInlineCompletion,m,u)}}setIsPreceeded(m){if(this._isPreceeded=!0,this._partiallyAcceptedSinceOriginal.characters!==0||this._partiallyAcceptedSinceOriginal.ratio!==0||this._partiallyAcceptedSinceOriginal.count!==0)console.warn("Expected partiallyAcceptedCountSinceOriginal to be { characters: 0, rate: 0, partialAcceptances: 0 } before setIsPreceeded.");this._partiallyAcceptedSinceOriginal=m}setNotShownReason(m){this._notShownReason??=m}setEndOfLifeReason(m){this.reportInlineEditHidden(),this._lastSetEndOfLifeReason=m}updateShownDuration(m){let u=Date.now();if(!this._showStartTime)this._showStartTime=u;let p=m===ht.Collapsed;if(!p&&this._showUncollapsedStartTime===void 0)this._showUncollapsedStartTime=u;if(p&&this._showUncollapsedStartTime!==void 0)this._showUncollapsedDuration+=u-this._showUncollapsedStartTime}reportInlineEditHidden(){if(this._showStartTime===void 0)return;let m=Date.now();if(this._shownDuration+=m-this._showStartTime,this._showStartTime=void 0,this._showUncollapsedStartTime===void 0)return;this._showUncollapsedDuration+=m-this._showUncollapsedStartTime,this._showUncollapsedStartTime=void 0}setRenameProcessingInfo(m){if(this._renameInfo)throw new M("Rename info has already been set.");this._renameInfo=m}withAction(m){return this._action=m,this}addPerformanceMarker(m){this.performance.mark(m)}}class w1{constructor(){this.markers=[],this.markers.push({name:"start",timeStamp:Date.now()})}mark(m){this.markers.push({name:m,timeStamp:Date.now()})}toString(){let m=[];for(let u=1;u<this.markers.length;u++){let p=this.markers[u].timeStamp-this.markers[u-1].timeStamp;m.push({[this.markers[u].name]:p})}return JSON.stringify(m)}}var ti;(function(m){m.TextEditor="textEditor",m.DiffEditor="diffEditor",m.Notebook="notebook"})(ti||(ti={}));class C1{constructor(m,u,p){this.inlineSuggestions=m,this.inlineSuggestionsData=u,this.provider=p,this.refCount=0}addRef(){this.refCount++}removeRef(m={kind:"other"}){if(this.refCount--,this.refCount===0){for(let u of this.inlineSuggestionsData)u.reportEndOfLife();this.provider.disposeInlineCompletions(this.inlineSuggestions,m)}else if(this.refCount<0)J(new M(`InlineSuggestionList (provider=${this.provider.providerId?.toString()}) refCount went negative (${this.refCount}) — more removeRef than addRef calls.`))}}function KT(m,u){let p=u.getWordAtPosition(m),v=u.getLineMaxColumn(m.lineNumber);return p?new t(m.lineNumber,p.startColumn,m.lineNumber,v):t.fromPositions(m,m.with(void 0,v))}function b1(m,u,p,v){let C=p.getLineContent(u.lineNumber),y=Gn.replace(new B(u.column-1,C.length),m),D=p.tokenization.tokenizeLinesAt(u.lineNumber,[y.replace(C)])?.[0].sliceZeroCopy(y.getRangeAfterReplace());if(!D)return m;return f1(D,v)}var zT=function(m,u,p,v){var C=arguments.length,y=C<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,p):v,I;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")y=Reflect.decorate(m,u,p,v);else for(var D=m.length-1;D>=0;D--)if(I=m[D])y=(C<3?I(y):C>3?I(u,p,y):I(u,p))||y;return C>3&&y&&Object.defineProperty(u,p,y),y},Pf=function(m,u){return function(p,v){u(p,v,m)}},Pd=new N("renameInputVisible",!1,e(1460,"Whether the rename input widget is visible"));new N("renameInputFocused",!1,e(1461,"Whether the rename input widget is focused"));var Ff=class m{constructor(u,p,v,C,y,I){this._editor=u,this._acceptKeybindings=p,this._themeService=v,this._keybindingService=C,this._logService=I,this.allowEditorOverflow=!0,this._disposables=new c,this._visibleContextKey=Pd.bindTo(y),this._isEditingRenameCandidate=!1,this._nRenameSuggestionsInvocations=0,this._hadAutomaticRenameSuggestionsInvocation=!1,this._candidates=new Set,this._beforeFirstInputFieldEditSW=new Yt,this._inputWithButton=new y1,this._disposables.add(this._inputWithButton),this._editor.addContentWidget(this),this._disposables.add(this._editor.onDidChangeConfiguration((D)=>{if(D.hasChanged(59))this._updateFont()})),this._disposables.add(v.onDidColorThemeChange(this._updateStyles,this))}dispose(){this._disposables.dispose(),this._editor.removeContentWidget(this)}getId(){return"__renameInputWidget"}getDomNode(){if(!this._domNode)this._domNode=document.createElement("div"),this._domNode.className="monaco-editor rename-box",this._domNode.appendChild(this._inputWithButton.domNode),this._renameCandidateListView=this._disposables.add(new xC(this._domNode,{fontInfo:this._editor.getOption(59),onFocusChange:(u)=>{this._inputWithButton.input.value=u,this._isEditingRenameCandidate=!1},onSelectionChange:()=>{this._isEditingRenameCandidate=!1,this.acceptInput(!1)}})),this._disposables.add(this._inputWithButton.onDidInputChange(()=>{if(this._renameCandidateListView?.focusedCandidate!==void 0)this._isEditingRenameCandidate=!0;if(this._timeBeforeFirstInputFieldEdit??=this._beforeFirstInputFieldEditSW.elapsed(),this._renameCandidateProvidersCts?.token.isCancellationRequested===!1)this._renameCandidateProvidersCts.cancel();this._renameCandidateListView?.clearFocus()})),this._label=document.createElement("div"),this._label.className="rename-label",this._domNode.appendChild(this._label),this._updateFont(),this._updateStyles(this._themeService.getColorTheme());return this._domNode}_updateStyles(u){if(!this._domNode)return;let p=u.getColor(ed),v=u.getColor($g);this._domNode.style.backgroundColor=String(u.getColor(yr)??""),this._domNode.style.boxShadow=p?` 0 0 8px 2px ${p}`:"",this._domNode.style.border=v?`1px solid ${v}`:"",this._domNode.style.color=String(u.getColor(j_)??"");let C=u.getColor(H_);this._inputWithButton.domNode.style.backgroundColor=String(u.getColor(Rv)??""),this._inputWithButton.input.style.backgroundColor=String(u.getColor(Rv)??""),this._inputWithButton.domNode.style.borderWidth=C?"1px":"0px",this._inputWithButton.domNode.style.borderStyle=C?"solid":"none",this._inputWithButton.domNode.style.borderColor=C?.toString()??"none"}_updateFont(){if(this._domNode===void 0)return;Re(this._label!==void 0,"RenameWidget#_updateFont: _label must not be undefined given _domNode is defined"),this._editor.applyFontInfo(this._inputWithButton.input);let u=this._editor.getOption(59);this._label.style.fontSize=`${this._computeLabelFontSize(u.fontSize)}px`}_computeLabelFontSize(u){return u*0.8}getPosition(){if(!this._visible)return null;if(!this._editor.hasModel()||!this._editor.getDomNode())return null;let u=Is(this.getDomNode().ownerDocument.body),p=gt(this._editor.getDomNode()),v=this._getTopForPosition();this._nPxAvailableAbove=v+p.top,this._nPxAvailableBelow=u.height-this._nPxAvailableAbove;let C=this._editor.getOption(75),{totalHeight:y}=Yl.getLayoutInfo({lineHeight:C}),I=this._nPxAvailableBelow>y*6?[2,1]:[1,2];return{position:this._position,preference:I}}beforeRender(){let[u,p]=this._acceptKeybindings;return this._label.innerText=e(1462,"{0} to Rename, {1} to Preview",this._keybindingService.lookupKeybinding(u)?.getLabel(),this._keybindingService.lookupKeybinding(p)?.getLabel()),this._domNode.style.minWidth="200px",null}afterRender(u){if(u===null){this.cancelInput(!0,"afterRender (because position is null)");return}if(!this._editor.hasModel()||!this._editor.getDomNode())return;Re(this._renameCandidateListView),Re(this._nPxAvailableAbove!==void 0),Re(this._nPxAvailableBelow!==void 0);let p=Aa(this._inputWithButton.domNode),v=Aa(this._label),C;if(u===2)C=this._nPxAvailableBelow;else C=this._nPxAvailableAbove;this._renameCandidateListView.layout({height:C-v-p,width:hr(this._inputWithButton.domNode)})}acceptInput(u){this._trace("invoking acceptInput"),this._currentAcceptInput?.(u)}cancelInput(u,p){this._currentCancelInput?.(u)}focusNextRenameSuggestion(){if(!this._renameCandidateListView?.focusNext())this._inputWithButton.input.value=this._currentName}focusPreviousRenameSuggestion(){if(!this._renameCandidateListView?.focusPrevious())this._inputWithButton.input.value=this._currentName}getInput(u,p,v,C,y){let{start:I,end:D}=this._getSelection(u,p);this._renameCts=y;let T=new c;if(this._nRenameSuggestionsInvocations=0,this._hadAutomaticRenameSuggestionsInvocation=!1,C===void 0)this._inputWithButton.button.style.display="none";else this._inputWithButton.button.style.display="flex",this._requestRenameCandidatesOnce=C,this._requestRenameCandidates(p,!1),T.add(l(this._inputWithButton.button,"click",()=>this._requestRenameCandidates(p,!0))),T.add(l(this._inputWithButton.button,x.KEY_DOWN,(q)=>{let Q=new We(q);if(Q.equals(3)||Q.equals(10))Q.stopPropagation(),Q.preventDefault(),this._requestRenameCandidates(p,!0)}));this._isEditingRenameCandidate=!1,this._domNode.classList.toggle("preview",v),this._position=new o(u.startLineNumber,u.startColumn),this._currentName=p,this._inputWithButton.input.value=p,this._inputWithButton.input.setAttribute("selectionStart",I.toString()),this._inputWithButton.input.setAttribute("selectionEnd",D.toString()),this._inputWithButton.input.size=Math.max((u.endColumn-u.startColumn)*1.1,20),this._beforeFirstInputFieldEditSW.reset(),T.add(E(()=>{this._renameCts=void 0,y.dispose(!0)})),T.add(E(()=>{if(this._renameCandidateProvidersCts!==void 0)this._renameCandidateProvidersCts.dispose(!0),this._renameCandidateProvidersCts=void 0})),T.add(E(()=>this._candidates.clear()));let K=new $s;return K.p.finally(()=>{T.dispose(),this._hide()}),this._currentCancelInput=(q)=>(this._trace("invoking _currentCancelInput"),this._currentAcceptInput=void 0,this._currentCancelInput=void 0,this._renameCandidateListView?.clearCandidates(),K.complete(q),!0),this._currentAcceptInput=(q)=>{this._trace("invoking _currentAcceptInput"),Re(this._renameCandidateListView!==void 0);let Q=this._renameCandidateListView.nCandidates,te,oe,ne=this._renameCandidateListView.focusedCandidate;if(ne!==void 0)this._trace("using new name from renameSuggestion"),te=ne,oe={k:"renameSuggestion"};else this._trace("using new name from inputField"),te=this._inputWithButton.input.value,oe=this._isEditingRenameCandidate?{k:"userEditedRenameSuggestion"}:{k:"inputField"};if(te===p||te.trim().length===0){this.cancelInput(!0,"_currentAcceptInput (because newName === value || newName.trim().length === 0)");return}this._currentAcceptInput=void 0,this._currentCancelInput=void 0,this._renameCandidateListView.clearCandidates(),K.complete({newName:te,wantsPreview:v&&q,stats:{source:oe,nRenameSuggestions:Q,timeBeforeFirstInputFieldEdit:this._timeBeforeFirstInputFieldEdit,nRenameSuggestionsInvocations:this._nRenameSuggestionsInvocations,hadAutomaticRenameSuggestionsInvocation:this._hadAutomaticRenameSuggestionsInvocation}})},T.add(y.token.onCancellationRequested(()=>this.cancelInput(!0,"cts.token.onCancellationRequested"))),T.add(this._editor.onDidBlurEditorWidget(()=>this.cancelInput(!this._domNode?.ownerDocument.hasFocus(),"editor.onDidBlurEditorWidget"))),this._show(),K.p}_requestRenameCandidates(u,p){if(this._requestRenameCandidatesOnce===void 0)return;if(this._renameCandidateProvidersCts!==void 0)this._renameCandidateProvidersCts.dispose(!0);if(Re(this._renameCts),this._inputWithButton.buttonState!=="stop"){this._renameCandidateProvidersCts=new Pe;let v=p?af.Invoke:af.Automatic,C=this._requestRenameCandidatesOnce(v,this._renameCandidateProvidersCts.token);if(C.length===0){this._inputWithButton.setSparkleButton();return}if(!p)this._hadAutomaticRenameSuggestionsInvocation=!0;this._nRenameSuggestionsInvocations+=1,this._inputWithButton.setStopButton(),this._updateRenameCandidates(C,u,this._renameCts.token)}}_getSelection(u,p){Re(this._editor.hasModel());let v=this._editor.getSelection(),C=0,y=p.length;if(!t.isEmpty(v)&&!t.spansMultipleLines(v)&&t.containsRange(u,v))C=Math.max(0,v.startColumn-u.startColumn),y=Math.min(u.endColumn,v.endColumn)-u.startColumn;return{start:C,end:y}}_show(){this._trace("invoking _show"),this._editor.revealLineInCenterIfOutsideViewport(this._position.lineNumber,0),this._visible=!0,this._visibleContextKey.set(!0),this._editor.layoutContentWidget(this),setTimeout(()=>{this._inputWithButton.input.focus(),this._inputWithButton.input.setSelectionRange(parseInt(this._inputWithButton.input.getAttribute("selectionStart")),parseInt(this._inputWithButton.input.getAttribute("selectionEnd")))},100)}async _updateRenameCandidates(u,p,v){let C=(...K)=>this._trace("_updateRenameCandidates",...K);C("start");let y=await vl(Promise.allSettled(u),v);if(this._inputWithButton.setSparkleButton(),y===void 0){C("returning early - received updateRenameCandidates results - undefined");return}let I=y.flatMap((K)=>K.status==="fulfilled"&&Mn(K.value)?K.value:[]);C(`received updateRenameCandidates results - total (unfiltered) ${I.length} candidates.`);let D=is(I,(K)=>K.newSymbolName);C(`distinct candidates - ${D.length} candidates.`);let T=D.filter(({newSymbolName:K})=>K.trim().length>0&&K!==this._inputWithButton.input.value&&K!==p&&!this._candidates.has(K));if(C(`valid distinct candidates - ${I.length} candidates.`),T.forEach((K)=>this._candidates.add(K.newSymbolName)),T.length<1){C("returning early - no valid distinct candidates");return}C("setting candidates"),this._renameCandidateListView.setCandidates(T),C("asking editor to re-layout"),this._editor.layoutContentWidget(this)}_hide(){this._trace("invoked _hide"),this._visible=!1,this._visibleContextKey.reset(),this._editor.layoutContentWidget(this)}_getTopForPosition(){let u=this._editor.getVisibleRanges(),p;if(u.length>0)p=u[0].startLineNumber;else this._logService.warn("RenameWidget#_getTopForPosition: this should not happen - visibleRanges is empty"),p=Math.max(1,this._position.lineNumber-5);return this._editor.getTopForLineNumber(this._position.lineNumber)-this._editor.getTopForLineNumber(p)}_trace(...u){this._logService.trace("RenameWidget",...u)}};Ff=zT([Pf(2,Ne),Pf(3,ce),Pf(4,z),Pf(5,Be)],Ff);class xC{constructor(m,u){this._disposables=new c,this._availableHeight=0,this._minimumWidth=0,this._lineHeight=u.fontInfo.lineHeight,this._typicalHalfwidthCharacterWidth=u.fontInfo.typicalHalfwidthCharacterWidth,this._listContainer=document.createElement("div"),this._listContainer.className="rename-box rename-candidate-list-container",m.appendChild(this._listContainer),this._listWidget=xC._createListWidget(this._listContainer,this._candidateViewHeight,u.fontInfo),this._disposables.add(this._listWidget.onDidChangeFocus((p)=>{if(p.elements.length===1)u.onFocusChange(p.elements[0].newSymbolName)},this._disposables)),this._disposables.add(this._listWidget.onDidChangeSelection((p)=>{if(p.elements.length===1)u.onSelectionChange()},this._disposables)),this._disposables.add(this._listWidget.onDidBlur((p)=>{this._listWidget.setFocus([])})),this._listWidget.style(gc({listInactiveFocusForeground:dc,listInactiveFocusBackground:uc}))}dispose(){this._listWidget.dispose(),this._disposables.dispose()}layout({height:m,width:u}){this._availableHeight=m,this._minimumWidth=u}setCandidates(m){this._listWidget.splice(0,0,m);let u=this._pickListHeight(this._listWidget.length),p=this._pickListWidth(m);this._listWidget.layout(u,p),this._listContainer.style.height=`${u}px`,this._listContainer.style.width=`${p}px`,br(e(1463,"Received {0} rename suggestions",m.length))}clearCandidates(){this._listContainer.style.height="0px",this._listContainer.style.width="0px",this._listWidget.splice(0,this._listWidget.length,[])}get nCandidates(){return this._listWidget.length}get focusedCandidate(){if(this._listWidget.length===0)return;let m=this._listWidget.getSelectedElements()[0];if(m!==void 0)return m.newSymbolName;let u=this._listWidget.getFocusedElements()[0];if(u!==void 0)return u.newSymbolName;return}focusNext(){if(this._listWidget.length===0)return!1;let m=this._listWidget.getFocus();if(m.length===0)return this._listWidget.focusFirst(),this._listWidget.reveal(0),!0;else if(m[0]===this._listWidget.length-1)return this._listWidget.setFocus([]),this._listWidget.reveal(0),!1;else{this._listWidget.focusNext();let u=this._listWidget.getFocus()[0];return this._listWidget.reveal(u),!0}}focusPrevious(){if(this._listWidget.length===0)return!1;let m=this._listWidget.getFocus();if(m.length===0){this._listWidget.focusLast();let u=this._listWidget.getFocus()[0];return this._listWidget.reveal(u),!0}else if(m[0]===0)return this._listWidget.setFocus([]),!1;else{this._listWidget.focusPrevious();let u=this._listWidget.getFocus()[0];return this._listWidget.reveal(u),!0}}clearFocus(){this._listWidget.setFocus([])}get _candidateViewHeight(){let{totalHeight:m}=Yl.getLayoutInfo({lineHeight:this._lineHeight});return m}_pickListHeight(m){let u=this._candidateViewHeight*m,p=7;return Math.min(u,this._availableHeight,this._candidateViewHeight*7)}_pickListWidth(m){let u=Math.ceil(Math.max(...m.map((v)=>v.newSymbolName.length))*this._typicalHalfwidthCharacterWidth);return Math.max(this._minimumWidth,25+u+10)}static _createListWidget(m,u,p){let v=new class{getTemplateId(y){return"candidate"}getHeight(y){return u}},C=new class{constructor(){this.templateId="candidate"}renderTemplate(y){return new Yl(y,p)}renderElement(y,I,D){D.populate(y)}disposeTemplate(y){y.dispose()}};return new or("NewSymbolNameCandidates",m,v,[C],{keyboardSupport:!1,mouseSupport:!0,multipleSelectionSupport:!1})}}class y1{constructor(){this._buttonHoverContent="",this._disposables=new c,this._onDidInputChange=this._disposables.add(new i),this.onDidInputChange=this._onDidInputChange.event}get domNode(){if(!this._domNode)this._domNode=document.createElement("div"),this._domNode.className="rename-input-with-button",this._domNode.style.display="flex",this._domNode.style.flexDirection="row",this._domNode.style.alignItems="center",this._inputNode=document.createElement("input"),this._inputNode.className="rename-input",this._inputNode.type="text",this._inputNode.style.border="none",this._inputNode.setAttribute("aria-label",e(1464,"Rename input. Type new name and press Enter to commit.")),this._domNode.appendChild(this._inputNode),this._buttonNode=document.createElement("div"),this._buttonNode.className="rename-suggestions-button",this._buttonNode.setAttribute("tabindex","0"),this._buttonGenHoverText=e(1465,"Generate New Name Suggestions"),this._buttonCancelHoverText=e(1466,"Cancel"),this._buttonHoverContent=this._buttonGenHoverText,this._disposables.add(ai().setupDelayedHover(this._buttonNode,()=>({content:this._buttonHoverContent,style:1}))),this._domNode.appendChild(this._buttonNode),this._disposables.add(l(this.input,x.INPUT,()=>this._onDidInputChange.fire())),this._disposables.add(l(this.input,x.KEY_DOWN,(m)=>{let u=new We(m);if(u.keyCode===15||u.keyCode===17)this._onDidInputChange.fire()})),this._disposables.add(l(this.input,x.CLICK,()=>this._onDidInputChange.fire())),this._disposables.add(l(this.input,x.FOCUS,()=>{this.domNode.style.outlineWidth="1px",this.domNode.style.outlineStyle="solid",this.domNode.style.outlineOffset="-1px",this.domNode.style.outlineColor="var(--vscode-focusBorder)"})),this._disposables.add(l(this.input,x.BLUR,()=>{this.domNode.style.outline="none"}));return this._domNode}get input(){return Re(this._inputNode),this._inputNode}get button(){return Re(this._buttonNode),this._buttonNode}get buttonState(){return this._buttonState}setSparkleButton(){this._buttonState="sparkle",this._sparkleIcon??=rr(b.sparkle),en(this.button),this.button.appendChild(this._sparkleIcon),this.button.setAttribute("aria-label","Generating new name suggestions"),this._buttonHoverContent=this._buttonGenHoverText,this.input.focus()}setStopButton(){this._buttonState="stop",this._stopIcon??=rr(b.stopCircle),en(this.button),this.button.appendChild(this._stopIcon),this.button.setAttribute("aria-label","Cancel generating new name suggestions"),this._buttonHoverContent=this._buttonCancelHoverText,this.input.focus()}dispose(){this._disposables.dispose()}}class Yl{static{this._PADDING=2}constructor(m,u){this._domNode=document.createElement("div"),this._domNode.className="rename-box rename-candidate",this._domNode.style.display="flex",this._domNode.style.columnGap="5px",this._domNode.style.alignItems="center",this._domNode.style.height=`${u.lineHeight}px`,this._domNode.style.padding=`${Yl._PADDING}px`;let p=document.createElement("div");p.style.display="flex",p.style.alignItems="center",p.style.width=p.style.height=`${u.lineHeight*0.8}px`,this._domNode.appendChild(p),this._icon=rr(b.sparkle),this._icon.style.display="none",p.appendChild(this._icon),this._label=document.createElement("div"),ln(this._label,u),this._domNode.appendChild(this._label),m.appendChild(this._domNode)}populate(m){this._updateIcon(m),this._updateLabel(m)}_updateIcon(m){let u=!!m.tags?.includes(S_.AIGenerated);this._icon.style.display=u?"inherit":"none"}_updateLabel(m){this._label.innerText=m.newSymbolName}static getLayoutInfo({lineHeight:m}){return{totalHeight:m+Yl._PADDING*2}}dispose(){}}var UT=function(m,u,p,v){var C=arguments.length,y=C<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,p):v,I;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")y=Reflect.decorate(m,u,p,v);else for(var D=m.length-1;D>=0;D--)if(I=m[D])y=(C<3?I(y):C>3?I(u,p,y):I(u,p))||y;return C>3&&y&&Object.defineProperty(u,p,y),y},Ad=function(m,u){return function(p,v){u(p,v,m)}},IC;class $u{constructor(m,u,p){this.model=m,this.position=u,this._providerRenameIdx=0,this._providers=p.ordered(m)}hasProvider(){return this._providers.length>0}async resolveRenameLocation(m){let u=[];for(this._providerRenameIdx=0;this._providerRenameIdx<this._providers.length;this._providerRenameIdx++){let v=this._providers[this._providerRenameIdx];if(!v.resolveRenameLocation)break;let C=await v.resolveRenameLocation(this.model,this.position,m);if(!C)continue;if(C.rejectReason){u.push(C.rejectReason);continue}return C}this._providerRenameIdx=0;let p=this.model.getWordAtPosition(this.position);if(!p)return{range:t.fromPositions(this.position),text:"",rejectReason:u.length>0?u.join(`
|
|
38
|
-
`):void 0};return{range:new t(this.position.lineNumber,p.startColumn,this.position.lineNumber,p.endColumn),text:p.word,rejectReason:u.length>0?u.join(`
|
|
39
|
-
`):void 0}}async provideRenameEdits(m,u){return this._provideRenameEdits(m,this._providerRenameIdx,[],u)}async _provideRenameEdits(m,u,p,v){let C=this._providers[u];if(!C)return{edits:[],rejectReason:p.join(`
|
|
40
|
-
`)};let y=await C.provideRenameEdits(this.model,this.position,m,v);if(!y)return this._provideRenameEdits(m,u+1,p.concat(e(1449,"No result.")),v);else if(y.rejectReason)return this._provideRenameEdits(m,u+1,p.concat(y.rejectReason),v);return y}}function x1(m,u){return m.ordered(u).length>0}async function I1(m,u,p,v,C){return new $u(u,p,m).provideRenameEdits(v,C??he.None)}async function $T(m,u,p,v){let C=new $u(u,p,m),y=await C.resolveRenameLocation(he.None);if(y?.rejectReason)return{edits:[],rejectReason:y.rejectReason};return C.provideRenameEdits(v,he.None)}var Sa=class m{static{IC=this}static{this.ID="editor.contrib.renameController"}static get(u){return u.getContribution(IC.ID)}constructor(u,p,v,C,y,I,D,T){this.editor=u,this._instaService=p,this._notificationService=v,this._bulkEditService=C,this._progressService=y,this._logService=I,this._configService=D,this._languageFeaturesService=T,this._disposableStore=new c,this._cts=new Pe,this._renameWidget=this._disposableStore.add(this._instaService.createInstance(Ff,this.editor,["acceptRenameInput","acceptRenameInputWithPreview"]))}dispose(){this._disposableStore.dispose(),this._cts.dispose(!0)}async run(){let u=this._logService.trace.bind(this._logService,"[rename]");if(this._cts.dispose(!0),this._cts=new Pe,!this.editor.hasModel()){u("editor has no model");return}let p=this.editor.getPosition(),v=new $u(this.editor.getModel(),p,this._languageFeaturesService.renameProvider);if(!v.hasProvider()){u("skeleton has no provider");return}let C=new Yo(this.editor,5,void 0,this._cts.token),y;try{u("resolving rename location");let ne=v.resolveRenameLocation(C.token);this._progressService.showWhile(ne,250),y=await ne,u("resolved rename location")}catch(ne){if(ne instanceof io)u("resolve rename location cancelled",JSON.stringify(ne,null,"\t"));else if(u("resolve rename location failed",ne instanceof Error?ne:JSON.stringify(ne,null,"\t")),typeof ne==="string"||ho(ne))Oi.get(this.editor)?.showMessage(ne||e(1450,"An unknown error occurred while resolving rename location"),p);return}finally{C.dispose()}if(!y){u("returning early - no loc");return}if(y.rejectReason){u(`returning early - rejected with reason: ${y.rejectReason}`,y.rejectReason),Oi.get(this.editor)?.showMessage(y.rejectReason,p);return}if(C.token.isCancellationRequested){u("returning early - cts1 cancelled");return}let I=new Yo(this.editor,5,y.range,this._cts.token),D=this.editor.getModel(),T=this._languageFeaturesService.newSymbolNamesProvider.all(D),K=await Promise.all(T.map(async(ne)=>[ne,await ne.supportsAutomaticNewSymbolNamesTriggerKind??!1])),q=(ne,ae)=>{let ge=K.slice();if(ne===af.Automatic)ge=ge.filter(([Ie,ke])=>ke);return ge.map(([Ie])=>Ie.provideNewSymbolNames(D,y.range,ne,ae))};u("creating rename input field and awaiting its result");let Q=this._bulkEditService.hasPreviewHandler()&&this._configService.getValue(this.editor.getModel().uri,"editor.rename.enablePreview"),te=await this._renameWidget.getInput(y.range,y.text,Q,T.length>0?q:void 0,I);if(u("received response from rename input field"),typeof te==="boolean"){if(u(`returning early - rename input field response - ${te}`),te)this.editor.focus();I.dispose();return}this.editor.focus(),u("requesting rename edits");let oe=vl(v.provideRenameEdits(te.newName,I.token),I.token).then(async(ne)=>{if(!ne){u("returning early - no rename edits result");return}if(!this.editor.hasModel()){u("returning early - no model after rename edits are provided");return}if(ne.rejectReason){u(`returning early - rejected with reason: ${ne.rejectReason}`),this._notificationService.info(ne.rejectReason);return}this.editor.setSelection(t.fromPositions(this.editor.getSelection().getPosition())),u("applying edits"),this._bulkEditService.apply(ne,{editor:this.editor,showPreview:te.wantsPreview,label:e(1451,"Renaming '{0}' to '{1}'",y?.text,te.newName),code:"undoredo.rename",quotableLabel:e(1452,"Renaming {0} to {1}",y?.text,te.newName),respectAutoSaveConfig:!0,reason:Nn.rename(y?.text,te.newName)}).then((ae)=>{if(u("edits applied"),ae.ariaSummary)Ln(e(1453,"Successfully renamed '{0}' to '{1}'. Summary: {2}",y.text,te.newName,ae.ariaSummary))}).catch((ae)=>{u(`error when applying edits ${JSON.stringify(ae,null,"\t")}`),this._notificationService.error(e(1454,"Rename failed to apply edits")),this._logService.error(ae)})},(ne)=>{u("error when providing rename edits",JSON.stringify(ne,null,"\t")),this._notificationService.error(e(1455,"Rename failed to compute edits")),this._logService.error(ne)}).finally(()=>{I.dispose()});return u("returning rename operation"),this._progressService.showWhile(oe,250),oe}acceptRenameInput(u){this._renameWidget.acceptInput(u)}cancelRenameInput(){this._renameWidget.cancelInput(!0,"cancelRenameInput command")}focusNextRenameSuggestion(){this._renameWidget.focusNextRenameSuggestion()}focusPreviousRenameSuggestion(){this._renameWidget.focusPreviousRenameSuggestion()}};Sa=IC=UT([Ad(1,L),Ad(2,ut),Ad(3,Ol),Ad(4,hs),Ad(5,Be),Ad(6,kg),Ad(7,j)],Sa);class L1 extends W{constructor(){super({id:"editor.action.rename",label:h(1457,"Rename Symbol"),precondition:_.and(r.writable,r.hasRenameProvider),kbOpts:{kbExpr:r.editorTextFocus,primary:60,weight:100},contextMenuOpts:{group:"1_modification",order:1.1},canTriggerInlineEdits:!0})}runCommand(m,u){let p=m.get(ve),[v,C]=Array.isArray(u)&&u||[void 0,void 0];if(V.isUri(v)&&o.isIPosition(C))return p.openCodeEditor({resource:v},p.getActiveCodeEditor()).then((y)=>{if(!y)return;y.setPosition(C),y.invokeWithinContext((I)=>(this.reportTelemetry(I,y),this.run(I,y)))},J);return super.runCommand(m,u)}run(m,u){let p=m.get(Be),v=Sa.get(u);if(v)return p.trace("[RenameAction] got controller, running..."),v.run();return p.trace("[RenameAction] returning early - controller missing"),Promise.resolve()}}le(Sa.ID,Sa,4);R(L1);var LC=Vt.bindToContribution(Sa.get);U(new LC({id:"acceptRenameInput",precondition:Pd,handler:(m)=>m.acceptRenameInput(!1),kbOpts:{weight:199,kbExpr:r.focus,primary:3}}));U(new LC({id:"acceptRenameInputWithPreview",precondition:_.and(Pd,_.has("config.editor.rename.enablePreview")),handler:(m)=>m.acceptRenameInput(!0),kbOpts:{weight:199,kbExpr:r.focus,primary:2051}}));U(new LC({id:"cancelRenameInput",precondition:Pd,handler:(m)=>m.cancelRenameInput(),kbOpts:{weight:199,kbExpr:r.focus,primary:9,secondary:[1033]}}));Ze(class m extends cn{constructor(){super({id:"focusNextRenameSuggestion",title:{...h(1458,"Focus Next Rename Suggestion")},precondition:Pd,keybinding:[{primary:18,weight:199}]})}run(u){let p=u.get(ve).getFocusedCodeEditor();if(!p)return;let v=Sa.get(p);if(!v)return;v.focusNextRenameSuggestion()}});Ze(class m extends cn{constructor(){super({id:"focusPreviousRenameSuggestion",title:{...h(1459,"Focus Previous Rename Suggestion")},precondition:Pd,keybinding:[{primary:16,weight:199}]})}run(u){let p=u.get(ve).getFocusedCodeEditor();if(!p)return;let v=Sa.get(p);if(!v)return;v.focusPreviousRenameSuggestion()}});fr("_executeDocumentRenameProvider",function(m,u,p,...v){let[C]=v;Re(typeof C==="string");let{renameProvider:y}=m.get(j);return $T(y,u,p,C)});fr("_executePrepareRename",async function(m,u,p){let{renameProvider:v}=m.get(j),y=await new $u(u,p,v).resolveRenameLocation(he.None);if(y?.rejectReason)throw Error(y.rejectReason);return y});it.as(ao.Configuration).registerConfiguration({id:"editor",properties:{"editor.rename.enablePreview":{scope:6,description:e(1456,"Enable/disable the ability to preview changes before renaming"),default:!0,type:"boolean"}}});var jT=function(m,u,p,v){var C=arguments.length,y=C<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,p):v,I;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")y=Reflect.decorate(m,u,p,v);else for(var D=m.length-1;D>=0;D--)if(I=m[D])y=(C<3?I(y):C>3?I(u,p,y):I(u,p))||y;return C>3&&y&&Object.defineProperty(u,p,y),y},Jl=function(m,u){return function(p,v){u(p,v,m)}},ks;(function(m){m.no="no",m.yes="yes",m.maybe="maybe"})(ks||(ks={}));(function(m){function u(p){switch(p){case"no":return m.no;case"yes":return m.yes;case"maybe":return m.maybe;default:return m.no}}m.fromString=u})(ks||(ks={}));class E1{constructor(){}inferRename(m,u,p,v){let C=new t(u.startLineNumber,1,u.endLineNumber,m.getLineMaxColumn(u.endLineNumber)),y=u.startColumn-C.startColumn,I=C.endColumn-u.endColumn,D=m.getValueInRange(C),T=m.getValueInRange(new t(C.startLineNumber,C.startColumn,C.startLineNumber,C.startColumn+y))+p+m.getValueInRange(new t(C.endLineNumber,C.endColumn-I,C.endLineNumber,C.endColumn)),K=[],q=[],Q=void 0,te=void 0,oe=void 0,ne=m.getOffsetAt(C.getStartPosition()),{changes:ae}=new Ds(new Sg(D),new Sg(T)).ComputeDiff(!0);if(ae.length===0)return;let ge=[];for(let Oe of ae){if(ge.length===0){ge.push(Oe);continue}let Ve=ge[ge.length-1],Ue=Oe.originalStart-(Ve.originalStart+Ve.originalLength);if(Ue>0){let Le=ne+Ve.originalStart+Ve.originalLength,He=m.getPositionAt(Le),Je=m.getWordAtPosition(He);if(Je){let tt=m.getOffsetAt(new o(He.lineNumber,Je.startColumn)),ot=m.getOffsetAt(new o(He.lineNumber,Je.endColumn)),qe=Le+Ue;if(tt<=Le&&qe<=ot&&tt<=qe&&qe<=ot){Ve.originalLength=Oe.originalStart+Oe.originalLength-Ve.originalStart,Ve.modifiedLength=Oe.modifiedStart+Oe.modifiedLength-Ve.modifiedStart;continue}}}ge.push(Oe)}let Ie=0;for(let Oe of ge){let Ve=D.substring(Oe.originalStart,Oe.originalStart+Oe.originalLength),Ue=T.substring(Oe.modifiedStart,Oe.modifiedStart+Oe.modifiedLength),Le=ne+Oe.originalStart,He=m.getPositionAt(Le),Je=Le+Oe.originalLength,tt=m.getPositionAt(Je),ot=t.fromPositions(He,tt),qe=Ue.length-Oe.originalLength;if(/\s/.test(Ve)){K.push(new ct(ot,Ue)),Ie+=qe;continue}if(Ve.length>0){v.lastIndex=0;let lt=v.exec(Ve);if(lt===null||lt.index!==0||lt[0].length!==Ve.length){K.push(new ct(ot,Ue)),Ie+=qe;continue}}if(/\s/.test(Ue)){K.push(new ct(ot,Ue)),Ie+=qe;continue}if(Ue.length>0){v.lastIndex=0;let lt=v.exec(Ue);if(lt===null||lt.index!==0||lt[0].length!==Ue.length){K.push(new ct(ot,Ue)),Ie+=qe;continue}}let nt=m.getWordAtPosition(He);if(nt===null){K.push(new ct(ot,Ue)),Ie+=qe;continue}let ft=Oe.originalStart+1,st=Oe.originalLength===0&&Oe.modifiedLength>0,vt;if(st&&ft===nt.endColumn&&nt.endColumn>nt.startColumn)vt=this.getTokenAtPosition(m,new o(He.lineNumber,nt.startColumn));else vt=this.getTokenAtPosition(m,He);if(nt.startColumn!==vt.range.startColumn||nt.endColumn!==vt.range.endColumn){K.push(new ct(ot,Ue)),Ie+=qe;continue}if(vt.type===0){let lt=m.getValueInRange(vt.range);if(lt.length===0){K.push(new ct(ot,Ue)),Ie+=qe;continue}if(Q===void 0)Q=lt;else if(Q!==lt){K.push(new ct(ot,Ue)),Ie+=qe;continue}let di=m.getOffsetAt(vt.range.getStartPosition())-ne+Ie,_t=m.getOffsetAt(vt.range.getEndPosition())-ne+Ie;if(lt=T.substring(di,_t+qe),lt.length===0){K.push(new ct(ot,Ue)),Ie+=qe;continue}if(te===void 0)te=lt;else if(te!==lt){K.push(new ct(ot,Ue)),Ie+=qe;continue}if(oe===void 0)oe=vt.range.getStartPosition();if(Q!==void 0&&te!==void 0&&Q.length>0&&te.length>0&&Q!==te)q.push(new ct(vt.range,te));else q.push(new ct(ot,Ue));Ie+=qe}else K.push(new ct(ot,Ue)),Ie+=Ue.length-Oe.originalLength}if(Q===void 0||te===void 0||oe===void 0||Q.length===0||te.length===0||Q===te)return;v.lastIndex=0;let ke=v.exec(Q);if(ke===null||ke.index!==0||ke[0].length!==Q.length)return;if(v.lastIndex=0,ke=v.exec(te),ke===null||ke.index!==0||ke[0].length!==te.length)return;return{renames:{edits:q,position:oe,oldName:Q,newName:te},others:{edits:K}}}getTokenAtPosition(m,u){m.tokenization.tokenizeIfCheap(u.lineNumber);let p=m.tokenization.getLineTokens(u.lineNumber),v=p.findTokenIndexAtOffset(u.column-1);return{type:p.getStandardTokenType(v),range:new t(u.lineNumber,1+p.getStartOffset(v),u.lineNumber,1+p.getEndOffset(v))}}}class ju{static create(m,u){let p=m.getFocusedCodeEditor();if(p===null)return;if(p.getModel()!==u)return;return new ju(p,u.getVersionId())}constructor(m,u){this.editor=m,this.versionId=u}equals(m){if(m===void 0)return!1;return this.editor===m.editor&&this.versionId===m.versionId}}class D1{constructor(m,u,p,v,C,y,I,D,T){if(this._result=void 0,this._commandService=u,this._textModel=v,this._state=C,this._requestUuid=p,this._cancellationTokenSource=new Pe,D===void 0||T===void 0){this._promise=I1(m.renameProvider,v,y,I,this._cancellationTokenSource.token);return}else this._promise=this.sendNesRenameRequest(v,y,T,I,D)}get requestUuid(){return this._requestUuid}isValid(m){return this._state.equals(ju.create(m,this._textModel))}cancel(){this._cancellationTokenSource.cancel()}async getCount(){if(this._cancellationTokenSource.token.isCancellationRequested)return 0;let m=await this.getResult();if(m===void 0||this._cancellationTokenSource.token.isCancellationRequested)return 0;return m.edits.length}async getWorkspaceEdit(){return this.getResult()}async getResult(){if(this._cancellationTokenSource.token.isCancellationRequested)return;if(this._result===void 0)this._result=await this._promise;if(this._result.rejectReason||this._cancellationTokenSource.token.isCancellationRequested)return;return this._result}async sendNesRenameRequest(m,u,p,v,C){try{let y=await this._commandService.executeCommand("github.copilot.nes.postRename",m.uri,u,p,v,C);if(y===void 0)return{rejectReason:"Rename failed",edits:[]};let I=[];for(let D of y)for(let T of D.changes){let K=new t(T.range.start.line+1,T.range.start.character+1,T.range.end.line+1,T.range.end.character+1),q=new Al(D.file,new ct(K,T.newText??v));I.push(q)}return{edits:I}}catch(y){return{rejectReason:"Rename failed",edits:[]}}}}var Hf=class m extends n{constructor(u,p,v,C,y,I){super();this._commandService=u,this._languageFeaturesService=p,this._languageConfigurationService=v,this._renameSymbolTrackerService=y,this._codeEditorService=I,this._renameInferenceEngine=new E1,this._renameRunnable=void 0,this._register(we.registerCommand(rw,async(D,T,K)=>{if(K===void 0||!K.isValid(this._codeEditorService))return;try{let q=await K.getWorkspaceEdit();if(q===void 0)return;C.apply(q,{reason:T})}finally{if(this._renameRunnable===K)this._renameRunnable=void 0}}))}async proposeRenameRefactoring(u,p,v){if(!p.supportsRename||p.action?.kind!=="edit"||v.selectedSuggestionInfo)return p;if(!x1(this._languageFeaturesService.renameProvider,u))return p;let C=ju.create(this._codeEditorService,u);if(C===void 0)return p;let y=Date.now(),I=p.action.textReplacement,D=this._languageConfigurationService.getLanguageConfiguration(u.getLanguageId()),T=this._renameInferenceEngine.inferRename(u,I.range,I.text,D.wordDefinition);if(T===void 0||T.renames.edits.length===0)return p;let{oldName:K,newName:q,position:Q,edits:te}=T.renames,oe=this._renameSymbolTrackerService.trackedWord.get(),ne=void 0;if(oe!==void 0&&oe.model===u&&oe.originalWord===K&&oe.currentWord===q)ne=oe.currentRange;let ae=!1,ge=await c$(this.checkRenamePrecondition(p,u,Q,K,q,ne),100,()=>{ae=!0}),Ie=this.isRenamePossible(p,ge,C,u);if(p.setRenameProcessingInfo({createdRename:Ie,duration:Date.now()-y,timedOut:ae,droppedOtherEdits:Ie?T.others.edits.length:void 0,droppedRenameEdits:Ie?te.length-1:void 0}),!Ie)return p;if(this._renameRunnable===void 0)this._renameRunnable=new D1(this._languageFeaturesService,this._commandService,p.requestUuid,u,C,Q,q,ne,ne!==void 0?K:void 0);let ke=Nn.inlineCompletionAccept({nes:p.isInlineEdit,requestUuid:p.requestUuid,providerId:p.source.provider.providerId,languageId:u.getLanguageId(),correlationId:p.getSourceCompletion().correlationId}),Oe={id:rw,title:e(1274,"Rename"),arguments:[ke,this._renameRunnable]},Ve={label:e(1275,"Rename"),icon:b.replaceAll,command:Oe,count:this._renameRunnable.getCount()},Ue={kind:"edit",range:te[0].range,insertText:te[0].text,snippetInfo:p.snippetInfo,alternativeAction:Ve,uri:u.uri},Le=Jr.snapshot(u);return Zl.create(p.withAction(Ue),Le,!1)}async checkRenamePrecondition(u,p,v,C,y,I){let D={canRename:ks.no,timedOut:!1};try{let T=await this._commandService.executeCommand("github.copilot.nes.prepareRename",p.uri,v,C,y,u.requestUuid,I);if(T===void 0)return D;else if(typeof T==="string"){let K=ks.fromString(T);if(K===ks.yes||K===ks.maybe)return{canRename:K,oldName:C,onOldState:!1};else return{canRename:K,timedOut:!1}}else return T}catch(T){return D}}isRenamePossible(u,p,v,C){if(p===void 0||p.canRename===ks.no)return!1;if(!v.equals(ju.create(this._codeEditorService,C)))return!1;if(this._renameRunnable===void 0)return!0;if(this._renameRunnable.requestUuid===u.requestUuid)return!1;else return this._renameRunnable.cancel(),this._renameRunnable=void 0,!0}};Hf=jT([Jl(0,Ae),Jl(1,j),Jl(2,et),Jl(3,Ol),Jl(4,f0),Jl(5,ve)],Hf);var GT=function(m,u,p,v){var C=arguments.length,y=C<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,p):v,I;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")y=Reflect.decorate(m,u,p,v);else for(var D=m.length-1;D>=0;D--)if(I=m[D])y=(C<3?I(y):C>3?I(u,p,y):I(u,p))||y;return C>3&&y&&Object.defineProperty(u,p,y),y},Ql=function(m,u){return function(p,v){u(p,v,m)}},EC,Wf=class m extends n{static{EC=this}static{this._requestId=0}constructor(u,p,v,C,y,I,D,T,K,q,Q){super();if(this._textModel=u,this._versionId=p,this._debounceValue=v,this._cursorPosition=C,this._languageConfigurationService=I,this._logService=D,this._configurationService=T,this._instantiationService=K,this._contextKeyService=q,this._textModelService=Q,this._updateOperation=this._register(new ie),this._state=l1(this,{initial:()=>({inlineCompletions:Mo.createEmpty(),suggestWidgetInlineCompletions:Mo.createEmpty()}),disposeFinal:(te)=>{te.inlineCompletions.dispose(),te.suggestWidgetInlineCompletions.dispose()},changeTracker:H$(()=>({versionId:this._versionId})),update:(te,oe,ne)=>{let ae=ir.compose(ne.changes.map((ge)=>ge.change?G_(ge.change.changes):ir.empty).filter(Mn));if(ae.isEmpty())return oe;try{return{inlineCompletions:oe.inlineCompletions.createStateWithAppliedEdit(ae,this._textModel),suggestWidgetInlineCompletions:oe.suggestWidgetInlineCompletions.createStateWithAppliedEdit(ae,this._textModel)}}finally{oe.inlineCompletions.dispose(),oe.suggestWidgetInlineCompletions.dispose()}}}),this.inlineCompletions=this._state.map(this,(te)=>te.inlineCompletions),this.suggestWidgetInlineCompletions=this._state.map(this,(te)=>te.suggestWidgetInlineCompletions),this._completionsEnabled=void 0,this.clearOperationOnTextModelChange=d(this,(te)=>{this._versionId.read(te),this._updateOperation.clear();return}),this._loadingCount=P(this,0),this.loading=this._loadingCount.map(this,(te)=>te>0),this._dataChannelTelemetryService=this._instantiationService.createInstance(Qm),this._loggingEnabled=vk("editor.inlineSuggest.logFetch",!1,this._configurationService).recomputeInitiallyAndOnChange(this._store),this._sendRequestData=vk("editor.inlineSuggest.emptyResponseInformation",!0,this._configurationService).recomputeInitiallyAndOnChange(this._store),this._structuredFetchLogger=this._register(this._instantiationService.createInstance(Gl.cast(),"editor.inlineSuggest.logFetch.commandId")),this._renameProcessor=this._store.add(this._instantiationService.createInstance(Hf)),this.clearOperationOnTextModelChange.recomputeInitiallyAndOnChange(this._store),y)this._updateCompletionsEnablement(y),this._register(this._configurationService.onDidChangeConfiguration((te)=>{if(te.affectsConfiguration(y))this._updateCompletionsEnablement(y)}));this._state.recomputeInitiallyAndOnChange(this._store)}_updateCompletionsEnablement(u){let p=this._configurationService.getValue(u);if(!Jt(p))this._completionsEnabled=void 0;else this._completionsEnabled=p}_log(u){if(this._loggingEnabled.get())this._logService.info(Q0(u));this._structuredFetchLogger.log(u)}fetch(u,p,v,C,y,I,D){let T=this._cursorPosition.get(),K=new R1(T,v,this._textModel.getVersionId(),new Set(u)),q=v.selectedSuggestionInfo?this.suggestWidgetInlineCompletions.get():this.inlineCompletions.get();if(this._updateOperation.value?.request.satisfies(K))return this._updateOperation.value.promise;else if(q?.request?.satisfies(K))return Promise.resolve(!0);let Q=!!this._updateOperation.value;this._updateOperation.clear();let te=new Pe,oe=(async()=>{let ae=new c;this._loadingCount.set(this._loadingCount.get()+1,void 0);let ge=!1,Ie=()=>{if(!ge)ge=!0,this._loadingCount.set(this._loadingCount.get()-1,void 0)};ae.add(new be(()=>Ie(),1e4)).schedule();let Oe=u.filter((Ue)=>Ue.providerId),Ve=new k1(v,D,Oe);try{let Ue=this._debounceValue.get(this._textModel),Le=N_(u.map((_t)=>_t.debounceDelayMs),e$(Si))??Ue;if(Q||y&&v.triggerKind===Hr.Automatic)await gC(Le,te.token);if(te.token.isCancellationRequested||this._store.isDisposed||this._textModel.getVersionId()!==K.versionId)return Ve.setNoSuggestionReasonIfNotSet("canceled:beforeFetch"),!1;let Je=EC._requestId++;if(this._loggingEnabled.get()||this._structuredFetchLogger.isEnabled.get())this._log({sourceId:"InlineCompletions.fetch",kind:"start",requestId:Je,modelUri:this._textModel.uri,modelVersion:this._textModel.getVersionId(),context:{triggerKind:v.triggerKind,suggestInfo:v.selectedSuggestionInfo?!0:void 0},time:Date.now(),provider:p});let tt=new Date,ot=v1(u,this._cursorPosition.get(),this._textModel,v,D,this._languageConfigurationService);yC(te.token,()=>ot.cancelAndDispose({kind:"tokenCancellation"}));let qe=!1,nt=!1,ft=[];for await(let _t of ot.lists){if(!_t)continue;_t.addRef(),ae.add(E(()=>_t.removeRef(_t.inlineSuggestionsData.length===0?{kind:"empty"}:{kind:"notTaken"})));for(let Et of _t.inlineSuggestionsData){if(nt=!0,!v.includeInlineEdits&&(Et.isInlineEdit||Et.showInlineEditMenu)){Et.setNotShownReason("notInlineEditRequested");continue}if(!v.includeInlineCompletions&&!(Et.isInlineEdit||Et.showInlineEditMenu)){Et.setNotShownReason("notInlineCompletionRequested");continue}Et.addPerformanceMarker("providerReturned");let hi=Et.action?.uri,Kt,Pt;if(hi&&hi.toString()!==this._textModel.uri.toString()){let zt=await this._textModelService.createModelReference(hi);Kt=zt.object.textEditorModel,Pt=zt}else Kt=this._textModel,Pt=void 0;let ui=Jr.snapshot(Kt),ci=Zl.create(Et,ui);if(Pt){let zt=co(ci.identity.onDispose,()=>{Pt?.dispose(),zt.dispose()})}if(Et.addPerformanceMarker("itemCreated"),ft.push(ci),!ci.isInlineEdit&&!ci.showInlineEditMenu&&v.triggerKind===Hr.Automatic){if(ci.isVisible(this._textModel,this._cursorPosition.get()))qe=!0}}if(qe)break}ft.forEach((_t)=>_t.addPerformanceMarker("providersResolved"));let st=await Promise.all(ft.map(async(_t)=>this._renameProcessor.proposeRenameRefactoring(this._textModel,_t,v)));if(st.forEach((_t)=>_t.addPerformanceMarker("renameProcessed")),ot.cancelAndDispose({kind:"lostRace"}),this._loggingEnabled.get()||this._structuredFetchLogger.isEnabled.get()){let _t=ot.didAllProvidersReturn,Et=void 0;if(te.token.isCancellationRequested||this._store.isDisposed||this._textModel.getVersionId()!==K.versionId)Et="canceled";let hi=st.map((Kt)=>{let Pt=Kt.getSourceCompletion();if(Pt.doNotLog)return;let ui={insertText:Pt.insertText,range:Pt.range,additionalTextEdits:Pt.additionalTextEdits,uri:Pt.uri,command:Pt.command,gutterMenuLinkAction:Pt.gutterMenuLinkAction,shownCommand:Pt.shownCommand,completeBracketPairs:Pt.completeBracketPairs,isInlineEdit:Pt.isInlineEdit,showInlineEditMenu:Pt.showInlineEditMenu,showRange:Pt.showRange,warning:Pt.warning,hint:Pt.hint,supportsRename:Pt.supportsRename,correlationId:Pt.correlationId,jumpToPosition:Pt.jumpToPosition};return{...pg(ui,(ci)=>{if(t.isIRange(ci))return t.lift(ci).toString();if(o.isIPosition(ci))return o.lift(ci).toString();if(bg.is(ci))return{$commandId:ci.id};return ci}),$providerId:Kt.source.provider.providerId?.toString()}}).filter((Kt)=>Kt!==void 0);this._log({sourceId:"InlineCompletions.fetch",kind:"end",requestId:Je,durationMs:Date.now()-tt.getTime(),error:Et,result:hi,time:Date.now(),didAllProvidersReturn:_t})}if(Ve.setRequestUuid(ot.contextWithUuid.requestUuid),nt){if(Ve.setHasProducedSuggestion(),st.length>0&&te.token.isCancellationRequested)st.forEach((_t)=>_t.setNotShownReasonIfNotSet("canceled:whileAwaitingOtherProviders"))}else if(te.token.isCancellationRequested)Ve.setNoSuggestionReasonIfNotSet("canceled:whileFetching");else{let _t=this._contextKeyService.getContextKeyValue("completionsQuotaExceeded");Ve.setNoSuggestionReasonIfNotSet(_t?"completionsQuotaExceeded":"noSuggestion")}let vt=v.earliestShownDateTime-Date.now();if(vt>0)await gC(vt,te.token);if(st.forEach((_t)=>_t.addPerformanceMarker("minShowDelayPassed")),te.token.isCancellationRequested||this._store.isDisposed||this._textModel.getVersionId()!==K.versionId||I.get()){let _t=te.token.isCancellationRequested?"canceled:afterMinShowDelay":this._store.isDisposed?"canceled:disposed":this._textModel.getVersionId()!==K.versionId?"canceled:documentChanged":I.get()?"canceled:userJumped":"unknown";return st.forEach((Et)=>Et.setNotShownReasonIfNotSet(_t)),!1}let lt=new Date;this._debounceValue.update(this._textModel,lt.getTime()-tt.getTime());let di=this._cursorPosition.get();this._updateOperation.clear(),je((_t)=>{let Et=this._state.get();if(v.selectedSuggestionInfo)this._state.set({inlineCompletions:Mo.createEmpty(),suggestWidgetInlineCompletions:Et.suggestWidgetInlineCompletions.createStateWithAppliedResults(st,K,this._textModel,di,C)},_t);else this._state.set({inlineCompletions:Et.inlineCompletions.createStateWithAppliedResults(st,K,this._textModel,di,C),suggestWidgetInlineCompletions:Mo.createEmpty()},_t);Et.inlineCompletions.dispose(),Et.suggestWidgetInlineCompletions.dispose()})}finally{ae.dispose(),Ie(),this._sendInlineCompletionsRequestTelemetry(Ve)}return!0})(),ne=new T1(K,te,oe);return this._updateOperation.value=ne,oe}clear(u){if(this._store.isDisposed)return;this._updateOperation.clear();let p=this._state.get();this._state.set({inlineCompletions:Mo.createEmpty(),suggestWidgetInlineCompletions:Mo.createEmpty()},u),p.inlineCompletions.dispose(),p.suggestWidgetInlineCompletions.dispose()}seedInlineCompletionsWithSuggestWidget(){let u=this.inlineCompletions.get(),p=this.suggestWidgetInlineCompletions.get();if(!p)return;je((v)=>{if(!u||(p.request?.versionId??-1)>(u.request?.versionId??-1)){u?.dispose();let C=this._state.get();this._state.set({inlineCompletions:p.clone(),suggestWidgetInlineCompletions:Mo.createEmpty()},v),C.inlineCompletions.dispose(),C.suggestWidgetInlineCompletions.dispose()}this.clearSuggestWidgetInlineCompletions(v)})}seedWithCompletion(u,p){let v=this._state.get();this._state.set({inlineCompletions:new Mo([u],void 0),suggestWidgetInlineCompletions:Mo.createEmpty()},p),v.inlineCompletions.dispose(),v.suggestWidgetInlineCompletions.dispose()}_sendInlineCompletionsRequestTelemetry(u){if(!this._sendRequestData.get()&&!this._contextKeyService.getContextKeyValue("isRunningUnificationExperiment"))return;if(u.requestUuid===void 0||u.hasProducedSuggestion)return;if(!dk(this._completionsEnabled,this._textModel.getLanguageId()))return;if(!u.providers.some((v)=>vC(v.providerId?.extensionId)))return;let p={opportunityId:u.requestUuid,noSuggestionReason:u.noSuggestionReason??"unknown",extensionId:"vscode-core",extensionVersion:"0.0.0",groupId:"empty",shown:!1,skuPlan:u.requestInfo.sku?.plan,skuType:u.requestInfo.sku?.type,editorType:u.requestInfo.editorType,requestReason:u.requestInfo.reason,typingInterval:u.requestInfo.typingInterval,typingIntervalCharacterCount:u.requestInfo.typingIntervalCharacterCount,languageId:u.requestInfo.languageId,selectedSuggestionInfo:!!u.context.selectedSuggestionInfo,availableProviders:u.providers.map((v)=>v.providerId?.toString()).filter(Mn).join(","),...u1(u.providers.some((v)=>vC(v.providerId?.extensionId))),timeUntilProviderRequest:void 0,timeUntilProviderResponse:void 0,viewKind:void 0,preceeded:void 0,superseded:void 0,reason:void 0,acceptedAlternativeAction:void 0,correlationId:void 0,shownDuration:void 0,shownDurationUncollapsed:void 0,timeUntilShown:void 0,partiallyAccepted:void 0,partiallyAcceptedCountSinceOriginal:void 0,partiallyAcceptedRatioSinceOriginal:void 0,partiallyAcceptedCharactersSinceOriginal:void 0,cursorColumnDistance:void 0,cursorLineDistance:void 0,lineCountOriginal:void 0,lineCountModified:void 0,characterCountOriginal:void 0,characterCountModified:void 0,disjointReplacements:void 0,sameShapeReplacements:void 0,longDistanceHintVisible:void 0,longDistanceHintDistance:void 0,isForAnotherDocument:void 0,notShownReason:void 0,renameCreated:!1,renameDuration:void 0,renameTimedOut:!1,renameDroppedOtherEdits:void 0,renameDroppedRenameEdits:void 0,performanceMarkers:void 0,editKind:void 0};g1(this._dataChannelTelemetryService,p)}clearSuggestWidgetInlineCompletions(u){if(this._updateOperation.value?.request.context.selectedSuggestionInfo)this._updateOperation.clear()}cancelUpdate(){this._updateOperation.clear()}};Wf=EC=GT([Ql(5,et),Ql(6,Be),Ql(7,X),Ql(8,L),Ql(9,z),Ql(10,bn)],Wf);class R1{constructor(m,u,p,v){this.position=m,this.context=u,this.versionId=p,this.providers=v}satisfies(m){return this.position.equals(m.position)&&rk(this.context.selectedSuggestionInfo,m.context.selectedSuggestionInfo,Eh())&&(m.context.triggerKind===Hr.Automatic||this.context.triggerKind===Hr.Explicit)&&this.versionId===m.versionId&&qT(m.providers,this.providers)}}class k1{constructor(m,u,p){this.context=m,this.requestInfo=u,this.providers=p,this.hasProducedSuggestion=!1}setRequestUuid(m){this.requestUuid=m}setNoSuggestionReasonIfNotSet(m){this.noSuggestionReason??=m}setHasProducedSuggestion(){this.hasProducedSuggestion=!0}}function qT(m,u){return[...m].every((p)=>u.has(p))}class T1{constructor(m,u,p){this.request=m,this.cancellationTokenSource=u,this.promise=p}dispose(){this.cancellationTokenSource.cancel()}}class Mo extends n{static createEmpty(){return new Mo([],void 0)}constructor(m,u){super();this.inlineCompletions=m,this.request=u;for(let p of this.inlineCompletions)p.addRef();this._register({dispose:()=>{for(let p of this.inlineCompletions)p.removeRef()}})}_findById(m){return this.inlineCompletions.find((u)=>u.identity===m)}_findByHash(m){return this.inlineCompletions.find((u)=>u.hash===m)}createStateWithAppliedEdit(m,u){let p=this.inlineCompletions.map((v)=>v.withEdit(m,u)).filter(Mn);return new Mo(p,this.request)}createStateWithAppliedResults(m,u,p,v,C){let y=void 0;if(C){let T=this._findById(C);if(T&&T.canBeReused(p,u.position)){y=T;let K=m.find((q)=>q.hash===T.hash);if(K)m=XT(K,m);else m=[T,...m]}}let I=y?!y.isInlineEdit:m.some((T)=>!T.isInlineEdit&&T.isVisible(p,v)),D=[];for(let T of m){let K=this._findByHash(T.hash),q;if(K&&K!==T)q=T.withIdentity(K.identity),T.setIsPreceeded(K),K.setEndOfLifeReason({kind:Ia.Ignored,userTypingDisagreed:!1,supersededBy:T.getSourceCompletion()});else q=T;if(I!==q.isInlineEdit)D.push(q)}return D.sort(kn((T)=>T.showInlineEditMenu,w_)),D=ZT(D,(T)=>T.semanticId),new Mo(D,u)}clone(){return new Mo(this.inlineCompletions,this.request)}}function ZT(m,u){let p=new Set;return m.filter((v)=>{let C=u(v);if(p.has(C))return!1;return p.add(C),!0})}function XT(m,u){let p=u.indexOf(m);if(p>-1)return[m,...u.slice(0,p),...u.slice(p+1)];return u}class Os extends n{static{this.MAX_SESSION_GAP_MS=3000}static{this.MIN_SESSION_DURATION_MS=1000}static{this.SESSION_HISTORY_LIMIT=50}static{this.TYPING_SPEED_WINDOW_MS=300000}static{this.MIN_CHARS_FOR_RELIABLE_SPEED=20}getTypingInterval(){if(this._cacheInvalidated||this._cachedTypingIntervalResult===null)this._cachedTypingIntervalResult=this._calculateTypingInterval(),this._cacheInvalidated=!1;return this._cachedTypingIntervalResult}constructor(m){super();this._textModel=m,this._typingSessions=[],this._currentSession=null,this._lastChangeTime=0,this._cachedTypingIntervalResult=null,this._cacheInvalidated=!0,this._register(this._textModel.onDidChangeContent((u)=>this._updateTypingSpeed(u)))}_updateTypingSpeed(m){let u=Date.now();if(!this._isUserTyping(m)){this._finalizeCurrentSession();return}if(this._currentSession&&u-this._lastChangeTime>Os.MAX_SESSION_GAP_MS)this._finalizeCurrentSession();if(!this._currentSession)this._currentSession={startTime:u,endTime:u,characterCount:0};this._currentSession.endTime=u,this._currentSession.characterCount+=this._getActualCharacterCount(m),this._lastChangeTime=u,this._cacheInvalidated=!0}_getActualCharacterCount(m){let u=0;for(let p of m.changes)u+=Math.max(p.text.length,p.rangeLength);return u}_isUserTyping(m){if(!m.detailedReasons||m.detailedReasons.length===0)return!1;for(let u of m.detailedReasons)if(this._isUserTypingReason(u))return!0;return!1}_isUserTypingReason(m){if(m.metadata.isUndoing||m.metadata.isRedoing)return!1;switch(m.metadata.source){case"cursor":{let u=m.metadata.kind;return u==="type"||u==="compositionType"||u==="compositionEnd"}default:return!1}}_finalizeCurrentSession(){if(!this._currentSession)return;if(this._currentSession.endTime-this._currentSession.startTime>=Os.MIN_SESSION_DURATION_MS&&this._currentSession.characterCount>0){if(this._typingSessions.push(this._currentSession),this._typingSessions.length>Os.SESSION_HISTORY_LIMIT)this._typingSessions.shift()}this._currentSession=null}_calculateTypingInterval(){if(this._currentSession){let m={...this._currentSession};if(m.endTime-m.startTime>=Os.MIN_SESSION_DURATION_MS&&m.characterCount>0){let p=[...this._typingSessions,m];return this._calculateSpeedFromSessions(p)}}return this._calculateSpeedFromSessions(this._typingSessions)}_calculateSpeedFromSessions(m){if(m.length===0)return{averageInterval:0,characterCount:0};let u=[...m].sort((K,q)=>q.endTime-K.endTime),p=Date.now()-Os.TYPING_SPEED_WINDOW_MS,v=u.filter((K)=>K.endTime>p),C=u.splice(v.length),y=hg(v.map((K)=>K.characterCount));for(let K=0;K<C.length&&y<Os.MIN_CHARS_FOR_RELIABLE_SPEED;K++)v.push(C[K]),y+=C[K].characterCount;let I=hg(v.map((K)=>K.endTime-K.startTime));if(I===0||y<=1)return{averageInterval:0,characterCount:y};let D=Math.max(1,y-1),T=I/D;return{averageInterval:Math.round(T),characterCount:y}}dispose(){this._finalizeCurrentSession(),super.dispose()}}var YT=function(m,u,p,v){var C=arguments.length,y=C<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,p):v,I;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")y=Reflect.decorate(m,u,p,v);else for(var D=m.length-1;D>=0;D--)if(I=m[D])y=(C<3?I(y):C>3?I(u,p,y):I(u,p))||y;return C>3&&y&&Object.defineProperty(u,p,y),y},wa=function(m,u){return function(p,v){u(p,v,m)}},Bf=class m extends n{get isAcceptingPartially(){return this._isAcceptingPartially}get editor(){return this._editor}constructor(u,p,v,C,y,I,D,T,K,q,Q,te,oe,ne,ae,ge){super();this.textModel=u,this._selectedSuggestItem=p,this._textModelVersionId=v,this._positions=C,this._debounceValue=y,this._enabled=I,this._isSuppressed=D,this._editor=T,this._instantiationService=K,this._commandService=q,this._languageConfigurationService=Q,this._accessibilityService=te,this._languageFeaturesService=oe,this._codeEditorService=ne,this._inlineCompletionsService=ae,this._isActive=P(this,!1),this._onlyRequestInlineEditsSignal=Fi(this),this._forceUpdateExplicitlySignal=Fi(this),this._noDelaySignal=Fi(this),this._fetchSpecificProviderSignal=Fi(this),this._selectedInlineCompletionId=P(this,void 0),this.primaryPosition=d(this,(Le)=>this._positions.read(Le)[0]??new o(1,1)),this.allPositions=d(this,(Le)=>this._positions.read(Le)),this.sku=P(this,void 0),this._isAcceptingPartially=!1,this._appearedInsideViewport=d(this,(Le)=>{let He=this.state.read(Le);if(!He||!He.inlineSuggestion)return!1;return RC(this._editor,He.inlineSuggestion,Le)}),this._onDidAccept=this._register(new i),this.onDidAccept=this._onDidAccept.event,this._lastShownInlineCompletionInfo=void 0,this._lastAcceptedInlineCompletionInfo=void 0,this._didUndoInlineEdits=E_({owner:this,changeTracker:{createChangeSummary:()=>({didUndo:!1}),handleChange:(Le,He)=>(He.didUndo=Le.didChange(this._textModelVersionId)&&!!Le.change?.isUndoing,!0)}},(Le,He)=>{let Je=this._textModelVersionId.read(Le);if(Je!==null&&this._lastAcceptedInlineCompletionInfo&&this._lastAcceptedInlineCompletionInfo.textModelVersionIdAfter===Je-1&&this._lastAcceptedInlineCompletionInfo.inlineCompletion.isInlineEdit&&He.didUndo)return this._lastAcceptedInlineCompletionInfo=void 0,!0;return!1}),this._preserveCurrentCompletionReasons=new Set([Ps.Redo,Ps.Undo,Ps.AcceptWord]),this.dontRefetchSignal=Fi(this),this._fetchInlineCompletionsPromise=E_({owner:this,changeTracker:{createChangeSummary:()=>({dontRefetch:!1,preserveCurrentCompletion:!1,inlineCompletionTriggerKind:Hr.Automatic,onlyRequestInlineEdits:!1,shouldDebounce:!0,provider:void 0,changeHint:void 0,textChange:!1,changeReason:""}),handleChange:(Le,He)=>{if(Le.didChange(this._textModelVersionId)){if(this._preserveCurrentCompletionReasons.has(this._getReason(Le.change)))He.preserveCurrentCompletion=!0;let Je=Le.change?.detailedReasons??[];He.changeReason=Je.length>0?Je[0].getType():"",He.textChange=!0}else if(Le.didChange(this._forceUpdateExplicitlySignal))He.preserveCurrentCompletion=!0,He.inlineCompletionTriggerKind=Hr.Explicit;else if(Le.didChange(this.dontRefetchSignal))He.dontRefetch=!0;else if(Le.didChange(this._onlyRequestInlineEditsSignal))He.onlyRequestInlineEdits=!0;else if(Le.didChange(this._fetchSpecificProviderSignal))He.provider=Le.change?.provider,He.changeHint=Le.change?.changeHint;return!0}}},(Le,He)=>{if(this._source.clearOperationOnTextModelChange.read(Le),this._noDelaySignal.read(Le),this.dontRefetchSignal.read(Le),this._onlyRequestInlineEditsSignal.read(Le),this._forceUpdateExplicitlySignal.read(Le),this._fetchSpecificProviderSignal.read(Le),!(!this._isSuppressed()&&(this._enabled.read(Le)&&this._selectedSuggestItem.read(Le)||this._isActive.read(Le))&&(!this._inlineCompletionsService.isSnoozing()||He.inlineCompletionTriggerKind===Hr.Explicit))){this._source.cancelUpdate();return}this._textModelVersionId.read(Le);let tt=this._source.suggestWidgetInlineCompletions.read(void 0),ot=this._selectedSuggestItem.read(Le);if(this._shouldShowOnSuggestConflict.read(void 0))ot=void 0;if(tt&&!ot)this._source.seedInlineCompletionsWithSuggestWidget();if(He.dontRefetch)return Promise.resolve(!0);if(this._didUndoInlineEdits.read(Le)&&He.inlineCompletionTriggerKind!==Hr.Explicit){je((hi)=>{this._source.clear(hi)});return}let qe="";if(He.provider)qe+="providerOnDidChange";else if(He.inlineCompletionTriggerKind===Hr.Explicit)qe+="explicit";if(He.changeReason)qe+=qe.length>0?`:${He.changeReason}`:He.changeReason;let nt=this._typing.getTypingInterval(),ft={editorType:this.editorType,startTime:Date.now(),languageId:this.textModel.getLanguageId(),reason:qe,typingInterval:nt.averageInterval,typingIntervalCharacterCount:nt.characterCount,availableProviders:[],sku:this.sku.read(void 0)},st={triggerKind:He.inlineCompletionTriggerKind,selectedSuggestionInfo:ot?.toSelectedSuggestionInfo(),includeInlineCompletions:!He.onlyRequestInlineEdits,includeInlineEdits:this._inlineEditsEnabled.read(Le),requestIssuedDateTime:ft.startTime,earliestShownDateTime:ft.startTime+(He.inlineCompletionTriggerKind===Hr.Explicit||this.inAcceptFlow.read(void 0)?0:this._minShowDelay.read(void 0)),changeHint:He.changeHint};if(st.triggerKind===Hr.Automatic&&He.textChange){if(this.textModel.getAlternativeVersionId()===this._lastShownInlineCompletionInfo?.alternateTextModelVersionId)st={...st,includeInlineCompletions:!this._lastShownInlineCompletionInfo.inlineCompletion.isInlineEdit,includeInlineEdits:this._lastShownInlineCompletionInfo.inlineCompletion.isInlineEdit}}let vt=this.selectedInlineCompletion.read(void 0)??this._inlineSuggestionItems.read(void 0)?.inlineEdit,lt=He.preserveCurrentCompletion||vt?.forwardStable?vt:void 0,di=this._jumpedToId.map((hi)=>!!hi&&hi===this._inlineSuggestionItems.read(void 0)?.inlineEdit?.semanticId),_t=He.provider?{providers:[He.provider],label:"single:"+He.provider.providerId?.toString()}:{providers:this._languageFeaturesService.inlineCompletionsProvider.all(this.textModel),label:void 0},Et=this.getAvailableProviders(_t.providers);return ft.availableProviders=Et.map((hi)=>hi.providerId).filter(Mn),this._source.fetch(Et,_t.label,st,lt?.identity,He.shouldDebounce,di,ft)}),this._inlineSuggestionItems=gn({owner:this},(Le)=>{let He=this._source.inlineCompletions.read(Le);if(!He)return;let Je=this.primaryPosition.read(Le),tt=void 0,ot=[];for(let qe of He.inlineCompletions)if(!qe.isInlineEdit){if(qe.isVisible(this.textModel,Je))ot.push(qe)}else tt=qe;if(ot.length!==0)tt=void 0;return{inlineCompletions:ot,inlineEdit:tt}}),this._inlineCompletionItems=gn({owner:this,equalsFn:hu()},(Le)=>this._inlineSuggestionItems.read(Le)?.inlineCompletions??[]),this.selectedInlineCompletionIndex=d(this,(Le)=>{let He=this._selectedInlineCompletionId.read(Le),Je=this._inlineCompletionItems.read(Le),tt=this._selectedInlineCompletionId===void 0?-1:Je.findIndex((ot)=>ot.semanticId===He);if(tt===-1)return this._selectedInlineCompletionId.set(void 0,void 0),0;return tt}),this.selectedInlineCompletion=d(this,(Le)=>{let He=this._inlineCompletionItems.read(Le),Je=this.selectedInlineCompletionIndex.read(Le);return He[Je]}),this.activeCommands=gn({owner:this,equalsFn:hu()},(Le)=>this.selectedInlineCompletion.read(Le)?.source.inlineSuggestions.commands??[]),this.inlineCompletionsCount=d(this,(Le)=>{if(this.lastTriggerKind.read(Le)===Hr.Explicit)return this._inlineCompletionItems.read(Le).length;else return}),this._hasVisiblePeekWidgets=d(this,(Le)=>this._editorObs.openedPeekWidgets.read(Le)>0),this._shouldShowOnSuggestConflict=d(this,(Le)=>{let He=this._showOnSuggestConflict.read(Le);if(He!=="never"){if(!!this.selectedInlineCompletion.read(Le)){let tt=this._selectedSuggestItem.read(Le);if(!tt)return!1;if(He==="whenSuggestListIsIncomplete")return tt.listIncomplete;return!0}}return!1}),this.state=gn({owner:this,equalsFn:(Le,He)=>{if(!Le||!He)return Le===He;if(Le.kind==="ghostText"&&He.kind==="ghostText")return mC(Le.ghostTexts,He.ghostTexts)&&Le.inlineSuggestion===He.inlineSuggestion&&Le.suggestItem===He.suggestItem;else if(Le.kind==="inlineEdit"&&He.kind==="inlineEdit")return Le.inlineSuggestion===He.inlineSuggestion;return!1}},(Le)=>{let He=this.textModel;if(this._suppressInSnippetMode.read(Le)&&this._isInSnippetMode.read(Le))return;let Je=this._inlineSuggestionItems.read(Le),tt=Je?.inlineEdit;if(tt){if(this._hasVisiblePeekWidgets.read(Le))return;let qe=this.primaryPosition.map((vt)=>Y.fromRangeInclusive(tt.targetRange).addMargin(1,1).contains(vt.lineNumber)),nt=tt.action?.kind==="edit"?tt.action.stringEdit:void 0,ft=nt?mr.fromStringEdit(nt,new Tu(this.textModel)).replacements:[],st=(Je.inlineEdit?.command?.id==="vscode.open"||Je.inlineEdit?.command?.id==="_workbench.open")&&Je.inlineEdit?.command.arguments?.length?V.from(Je.inlineEdit?.command.arguments[0]):void 0;if(!tt.originalTextRef.targets(this.textModel))st=tt.originalTextRef.uri;return{kind:"inlineEdit",inlineSuggestion:tt,edits:ft,cursorAtInlineEdit:qe,nextEditUri:st}}let ot=this._selectedSuggestItem.read(Le);if(!this._shouldShowOnSuggestConflict.read(Le)&&ot){let qe=Qo(ot.getSingleTextEdit(),He),nt=this._computeAugmentation(qe,Le);if(!this._suggestPreviewEnabled.read(Le)&&!nt)return;let st=nt?.edit??qe,vt=nt?nt.edit.text.length-qe.text.length:0,lt=this._suggestPreviewMode.read(Le),di=this._positions.read(Le),Et=[st,...DC(this.textModel,di,st)].map((ui,ci)=>({edit:ui,ghostText:ui?_C(ui,He,lt,di[ci],vt):void 0})).filter(({edit:ui,ghostText:ci})=>ui!==void 0&&ci!==void 0),hi=Et.map(({edit:ui})=>ui),Kt=Et.map(({ghostText:ui})=>ui),Pt=Kt[0]??new Rs(st.range.endLineNumber,[]);return{kind:"ghostText",edits:hi,primaryGhostText:Pt,ghostTexts:Kt,inlineSuggestion:nt?.completion,suggestItem:ot}}else{if(!this._isActive.read(Le))return;let qe=this.selectedInlineCompletion.read(Le);if(!qe)return;let nt=qe.getSingleTextEdit(),ft=this._inlineSuggestMode.read(Le),st=this._positions.read(Le),lt=[nt,...DC(this.textModel,st,nt)].map((Et,hi)=>({edit:Et,ghostText:Et?_C(Et,He,ft,st[hi],0):void 0})).filter(({edit:Et,ghostText:hi})=>Et!==void 0&&hi!==void 0),di=lt.map(({edit:Et})=>Et),_t=lt.map(({ghostText:Et})=>Et);if(!_t[0])return;return{kind:"ghostText",edits:di,primaryGhostText:_t[0],ghostTexts:_t,inlineSuggestion:qe,suggestItem:void 0}}}),this.status=d(this,(Le)=>{if(this._source.loading.read(Le))return"loading";let He=this.state.read(Le);if(He?.kind==="ghostText")return"ghostText";if(He?.kind==="inlineEdit")return"inlineEdit";return"noSuggestion"}),this.inlineCompletionState=d(this,(Le)=>{let He=this.state.read(Le);if(!He||He.kind!=="ghostText")return;if(this._editorObs.inComposition.read(Le))return;return He}),this.inlineEditState=d(this,(Le)=>{let He=this.state.read(Le);if(!He||He.kind!=="inlineEdit")return;return He}),this.inlineEditAvailable=d(this,(Le)=>!!this.inlineEditState.read(Le)),this.warning=d(this,(Le)=>this.inlineCompletionState.read(Le)?.inlineSuggestion?.warning),this.ghostTexts=gn({owner:this,equalsFn:mC},(Le)=>{let He=this.inlineCompletionState.read(Le);if(!He)return;return He.ghostTexts}),this.primaryGhostText=gn({owner:this,equalsFn:fC},(Le)=>{let He=this.inlineCompletionState.read(Le);if(!He)return;return He?.primaryGhostText}),this.showCollapsed=d(this,(Le)=>{let He=this.state.read(Le);if(!He||He.kind!=="inlineEdit")return!1;if(He.inlineSuggestion.hint||He.inlineSuggestion.action?.kind==="jumpTo")return!1;let Je=He.inlineSuggestion.updatedEditModelVersion===this._textModelVersionId.read(Le);return(this._inlineEditsShowCollapsedEnabled.read(Le)||!Je)&&this._jumpedToId.read(Le)!==He.inlineSuggestion.semanticId&&!this._inAcceptFlow.read(Le)}),this._tabShouldIndent=d(this,(Le)=>{if(this._inAcceptFlow.read(Le))return!1;function He(ot){return ot.startLineNumber!==ot.endLineNumber}function Je(ot,qe){let nt=ot.getLineIndentColumn(qe),ft=ot.getLineLastNonWhitespaceColumn(qe),st=Math.max(ft,nt);return new t(qe,nt,qe,st)}return this._editorObs.selections.read(Le)?.some((ot)=>{if(ot.isEmpty())return this.textModel.getLineLength(ot.startLineNumber)===0;else return He(ot)||ot.containsRange(Je(this.textModel,ot.startLineNumber))})}),this.tabShouldJumpToInlineEdit=d(this,(Le)=>{if(this._tabShouldIndent.read(Le))return!1;let He=this.inlineEditState.read(Le);if(!He)return!1;if(He.inlineSuggestion.action?.kind==="jumpTo")return!0;if(this.showCollapsed.read(Le))return!0;if(this._inAcceptFlow.read(Le)&&this._appearedInsideViewport.read(Le))return!1;return!He.cursorAtInlineEdit.read(Le)}),this.tabShouldAcceptInlineEdit=d(this,(Le)=>{let He=this.inlineEditState.read(Le);if(!He)return!1;if(He.inlineSuggestion.action?.kind==="jumpTo")return!1;if(this.showCollapsed.read(Le))return!1;if(this._tabShouldIndent.read(Le))return!1;if(this._inAcceptFlow.read(Le)&&this._appearedInsideViewport.read(Le))return!0;if(He.inlineSuggestion.targetRange.startLineNumber===this._editorObs.cursorLineNumber.read(Le))return!0;if(this._jumpedToId.read(Le)===He.inlineSuggestion.semanticId)return!0;return He.cursorAtInlineEdit.read(Le)}),this._jumpedToId=P(this,void 0),this._inAcceptFlow=P(this,!1),this.inAcceptFlow=this._inAcceptFlow,this._source=this._register(this._instantiationService.createInstance(Wf,this.textModel,this._textModelVersionId,this._debounceValue,this.primaryPosition,Nh.defaultChatAgent?.completionsEnablementSetting)),this.lastTriggerKind=this._source.inlineCompletions.map(this,(Le)=>Le?.request?.context.triggerKind),this._editorObs=Xe(this._editor);let Ie=this._editorObs.getOption(134);this._suggestPreviewEnabled=Ie.map((Le)=>Le.preview),this._suggestPreviewMode=Ie.map((Le)=>Le.previewMode);let ke=this._editorObs.getOption(71);this._inlineSuggestMode=ke.map((Le)=>Le.mode),this._suppressedInlineCompletionGroupIds=ke.map((Le)=>new Set(Le.experimental.suppressInlineSuggestions.split(","))),this._inlineEditsEnabled=ke.map((Le)=>!!Le.edits.enabled),this._inlineEditsShowCollapsedEnabled=ke.map((Le)=>Le.edits.showCollapsed),this._triggerCommandOnProviderChange=ke.map((Le)=>Le.triggerCommandOnProviderChange),this._minShowDelay=ke.map((Le)=>Le.minShowDelay),this._showOnSuggestConflict=ke.map((Le)=>Le.experimental.showOnSuggestConflict),this._suppressInSnippetMode=ke.map((Le)=>Le.suppressInSnippetMode);let Oe=_i.get(this._editor);this._isInSnippetMode=Oe?.isInSnippetObservable??Ce(!1),ge.getDefaultAccount().then(JT((Le)=>this.sku.set(N1(Le),void 0),this._store)),this._register(ge.onDidChangeDefaultAccount((Le)=>this.sku.set(N1(Le),void 0))),this._typing=this._register(new Os(this.textModel)),this._register(this._inlineCompletionsService.onDidChangeIsSnoozing((Le)=>{if(Le)this.stop()}));{let Le=this.textModel.uri.scheme===ee.vscodeNotebookCell,[He]=this._codeEditorService.listDiffEditors().filter((Je)=>Je.getOriginalEditor().getId()===this._editor.getId()||Je.getModifiedEditor().getId()===this._editor.getId());this.isInDiffEditor=!!He,this.editorType=Le?ti.Notebook:this.isInDiffEditor?ti.DiffEditor:ti.TextEditor}this._register(pu(this.state,(Le)=>{if(Le&&Le.inlineSuggestion)this._inlineCompletionsService.reportNewCompletion(Le.inlineSuggestion.requestUuid)})),this._register(pu(this._fetchInlineCompletionsPromise)),this._register(H((Le)=>{this._editorObs.versionId.read(Le),this._inAcceptFlow.set(!1,void 0)})),this._register(H((Le)=>{if(this.state.map((Je,tt)=>!Je||Je.kind==="inlineEdit"&&!Je.cursorAtInlineEdit.read(tt)).read(Le))this._jumpedToId.set(void 0,void 0)})),this._register(H((Le)=>{let He=this.state.map((Je)=>Je?.inlineSuggestion).read(Le);if(He)He.addPerformanceMarker("activeSuggestion")}));let Ve=this.inlineEditState.map((Le)=>Le?.inlineSuggestion.semanticId);this._register(H((Le)=>{if(Ve.read(Le))this._editor.pushUndoStop(),this._lastShownInlineCompletionInfo={alternateTextModelVersionId:this.textModel.getAlternativeVersionId(),inlineCompletion:this.state.get().inlineSuggestion}}));let Ue=Te(this._languageFeaturesService.inlineCompletionsProvider.onDidChange,()=>this._languageFeaturesService.inlineCompletionsProvider.all(u));sc(this,Ue,(Le,He)=>{if(!Le.onDidChangeInlineCompletions)return;He.add(Le.onDidChangeInlineCompletions((Je)=>{if(!this._enabled.get())return;if((this._codeEditorService.getFocusedCodeEditor()||this._codeEditorService.getActiveCodeEditor())!==this._editor)return;if(this._triggerCommandOnProviderChange.get()){this.trigger(void 0,{onlyFetchInlineEdits:!0});return}let ot=this.state.get();if(ot&&(ot.inlineSuggestion||ot.edits)&&ot.inlineSuggestion?.source.provider!==Le)return;je((qe)=>{this._fetchSpecificProviderSignal.trigger(qe,{provider:Le,changeHint:Je??void 0}),this.trigger(qe)})}))}).recomputeInitiallyAndOnChange(this._store),this._didUndoInlineEdits.recomputeInitiallyAndOnChange(this._store)}getIndentationInfo(u){let p=!1,v=!0,C=this?.primaryGhostText.read(u);if(!!this?._selectedSuggestItem&&C&&C.parts.length>0){let{column:y,lines:I}=C.parts[0],D=I[0].line,T=this.textModel.getLineIndentColumn(C.lineNumber);if(y<=T){let q=In(D);if(q===-1)q=D.length-1;p=q>0;let Q=this.textModel.getOptions().tabSize;v=wt.visibleColumnFromColumn(D,q+1,Q)<Q}}return{startsWithIndentation:p,startsWithIndentationLessThanTabSize:v}}_getReason(u){if(u?.isUndoing)return Ps.Undo;if(u?.isRedoing)return Ps.Redo;if(this.isAcceptingPartially)return Ps.AcceptWord;return Ps.Other}getAvailableProviders(u){let p=this._suppressedInlineCompletionGroupIds.get(),v=u.filter((I)=>!(I.groupId&&p.has(I.groupId))),C=new Set;for(let I of v)I.excludesGroupIds?.forEach((D)=>C.add(D));let y=[];for(let I of v){if(I.groupId&&C.has(I.groupId))continue;y.push(I)}return y}async trigger(u,p={}){oc(u,(v)=>{if(p.onlyFetchInlineEdits)this._onlyRequestInlineEditsSignal.trigger(v);if(p.noDelay)this._noDelaySignal.trigger(v);if(this._isActive.set(!0,v),p.explicit)this._inAcceptFlow.set(!0,v),this._forceUpdateExplicitlySignal.trigger(v);if(p.provider)this._fetchSpecificProviderSignal.trigger(v,{provider:p.provider,changeHint:p.changeHint})}),await this._fetchInlineCompletionsPromise.get()}async triggerExplicitly(u,p=!1){return this.trigger(u,{onlyFetchInlineEdits:p,explicit:!0})}stop(u="automatic",p){oc(p,(v)=>{if(u==="explicitCancel"){let C=this.state.get()?.inlineSuggestion;if(C)C.reportEndOfLife({kind:Ia.Rejected})}this._isActive.set(!1,v),this._source.clear(v)})}_computeAugmentation(u,p){let v=this.textModel,C=this._source.suggestWidgetInlineCompletions.read(p),y=C?C.inlineCompletions.filter((D)=>!D.isInlineEdit):[this.selectedInlineCompletion.read(p)].filter(Mn);return _$(y,(D)=>{let T=D.getSingleTextEdit();return T=Qo(T,v,t.fromPositions(T.range.getStartPosition(),u.range.getEndPosition())),Ym(T,u)?{completion:D,edit:T}:void 0})}async _deltaSelectedInlineCompletionIndex(u){await this.triggerExplicitly();let p=this._inlineCompletionItems.get()||[];if(p.length>0){let v=(this.selectedInlineCompletionIndex.get()+u+p.length)%p.length;this._selectedInlineCompletionId.set(p[v].semanticId,void 0)}else this._selectedInlineCompletionId.set(void 0,void 0)}async next(){await this._deltaSelectedInlineCompletionIndex(1)}async previous(){await this._deltaSelectedInlineCompletionIndex(-1)}_getMetadata(u,p,v=void 0){if(v)return Nn.inlineCompletionPartialAccept({nes:u.isInlineEdit,requestUuid:u.requestUuid,providerId:u.source.provider.providerId,languageId:p,type:v,correlationId:u.getSourceCompletion().correlationId});else return Nn.inlineCompletionAccept({nes:u.isInlineEdit,requestUuid:u.requestUuid,correlationId:u.getSourceCompletion().correlationId,providerId:u.source.provider.providerId,languageId:p})}async accept(u=this._editor,p=!1){if(u.getModel()!==this.textModel)throw new M;let v,C=!1,y=this.state.get();if(y?.kind==="ghostText"){if(!y||y.primaryGhostText.isEmpty()||!y.inlineSuggestion)return;v=y.inlineSuggestion}else if(y?.kind==="inlineEdit")v=y.inlineSuggestion,C=!!y.nextEditUri;else return;v.addRef();try{let I=!1;if(u.pushUndoStop(),!v.originalTextRef.targets(this.textModel)){let D=await this._codeEditorService.openCodeEditor({resource:v.originalTextRef.uri},this._editor);if(D){let K=Gm(D)?.model.get();D.focus(),K?.transplantCompletion(v),D.revealLineInCenter(v.targetRange.startLineNumber)}}else if(C);else if(v.action?.kind==="edit"){let D=v.action;if(p&&D.alternativeAction){I=!0;let T=D.alternativeAction.command;await this._commandService.executeCommand(T.id,...T.arguments||[]).then(void 0,dt)}else if(D.snippetInfo){let T=ct.delete(D.textReplacement.range),K=v.additionalTextEdits.map((Q)=>new ct(t.lift(Q.range),Q.text??"")),q=mr.fromParallelReplacementsUnsorted([T,...K]);u.edit(q,this._getMetadata(v,this.textModel.getLanguageId())),u.setPosition(D.snippetInfo.range.getStartPosition(),"inlineCompletionAccept"),_i.get(u)?.insert(D.snippetInfo.snippet,{undoStopBefore:!1})}else{let T=y.edits,K=T;if(y.kind==="ghostText")K=o1(T,this.textModel);let q=hC(K).map((oe)=>A.fromPositions(oe)),Q=v.additionalTextEdits.map((oe)=>new ct(t.lift(oe.range),oe.text??"")),te=mr.fromParallelReplacementsUnsorted([...T,...Q]);if(u.edit(te,this._getMetadata(v,this.textModel.getLanguageId())),v.hint===void 0)u.setSelections(y.kind==="inlineEdit"?q.slice(-1):q,"inlineCompletionAccept");if(y.kind==="inlineEdit"&&!this._accessibilityService.isMotionReduced()){let oe=te.getNewRanges(),ne=this._store.add(new O1(u,oe,()=>{this._store.delete(ne)}))}}}if(this._onDidAccept.fire(),this.stop(),v.command)await this._commandService.executeCommand(v.command.id,...v.command.arguments||[]).then(void 0,dt);if(I)this.trigger(void 0);v.reportEndOfLife({kind:Ia.Accepted,alternativeAction:p})}finally{v.removeRef(),this._inAcceptFlow.set(!0,void 0),this._lastAcceptedInlineCompletionInfo={textModelVersionIdAfter:this.textModel.getVersionId(),inlineCompletion:v}}}async acceptNextWord(){await this._acceptNext(this._editor,"word",(u,p)=>{let v=this.textModel.getLanguageIdAtPosition(u.lineNumber,u.column),C=this._languageConfigurationService.getLanguageConfiguration(v),y=new RegExp(C.wordDefinition.source,C.wordDefinition.flags.replace("g","")),I=p.match(y),D=0;if(I&&I.index!==void 0)if(I.index===0)D=I[0].length;else D=I.index;else D=p.length;let K=/\s+/g.exec(p);if(K&&K.index!==void 0){if(K.index+K[0].length<D)D=K.index+K[0].length}return D},0)}async acceptNextLine(){await this._acceptNext(this._editor,"line",(u,p)=>{let v=p.match(/\n/);if(v&&v.index!==void 0)return v.index+1;return p.length},1)}async _acceptNext(u,p,v,C){if(u.getModel()!==this.textModel)throw new M;let y=this.inlineCompletionState.get();if(!y||y.primaryGhostText.isEmpty()||!y.inlineSuggestion)return;let{primaryGhostText:I,inlineSuggestion:D}=y;if(D.snippetInfo){await this.accept(u);return}let T=I.parts[0],K=new o(I.lineNumber,T.column),q=T.text,Q=v(K,q);if(Q===q.length&&I.parts.length===1){this.accept(u);return}let te=q.substring(0,Q),oe=this._positions.get(),ne=oe[0];D.addRef();try{this._isAcceptingPartially=!0;try{u.pushUndoStop();let ke=t.fromPositions(ne,K),Oe=u.getModel().getValueInRange(ke)+te,Ve=new ct(ke,Oe),Ue=[Ve,...DC(this.textModel,oe,Ve)].filter(Mn),Le=hC(Ue).map((He)=>A.fromPositions(He));u.edit(mr.fromParallelReplacementsUnsorted(Ue),this._getMetadata(D,this.textModel.getLanguageId(),p)),u.setSelections(Le,"inlineCompletionPartialAccept"),u.revealPositionInCenterIfOutsideViewport(u.getPosition(),0)}finally{this._isAcceptingPartially=!1}let ae=t.fromPositions(D.editRange.getStartPosition(),At.ofText(te).addToPosition(K)),Ie=u.getModel().getValueInRange(ae,1).length;D.reportPartialAccept(Ie,{kind:C,acceptedLength:Ie},{characters:Q,ratio:Q/q.length,count:1})}finally{D.removeRef()}}handleSuggestAccepted(u){let p=Qo(u.getSingleTextEdit(),this.textModel),v=this._computeAugmentation(p,void 0);if(!v)return;let y=this.textModel.getValueInRange(v.completion.editRange,1).length+p.text.length;v.completion.reportPartialAccept(p.text.length,{kind:2,acceptedLength:y},{characters:p.text.length,count:1,ratio:1})}extractReproSample(){let u=this.textModel.getValue(),p=this.state.get()?.inlineSuggestion;return{documentValue:u,inlineCompletion:p?.getSourceCompletion()}}jump(){let u=this.inlineEditState.get();if(!u)return;let p=u.inlineSuggestion;if(!p.originalTextRef.targets(this.textModel)){this.accept(this._editor);return}p.addRef();try{je((v)=>{if(p.action?.kind==="jumpTo")this.stop(void 0,v),p.reportEndOfLife({kind:Ia.Accepted,alternativeAction:!1});this._jumpedToId.set(u.inlineSuggestion.semanticId,v),this.dontRefetchSignal.trigger(v);let C=u.inlineSuggestion.targetRange,y=C.getStartPosition();if(this._editor.setPosition(y,"inlineCompletions.jump"),C.isSingleLine()&&(u.inlineSuggestion.hint||u.inlineSuggestion.action?.kind==="edit"&&!u.inlineSuggestion.action.textReplacement.text.includes(`
|
|
41
|
-
`))||u.inlineSuggestion.action?.kind==="jumpTo")this._editor.revealPosition(y,0);else{let D=new t(C.startLineNumber-1,1,C.endLineNumber+1,1);this._editor.revealRange(D,0)}u.inlineSuggestion.identity.setJumpTo(v),this._editor.focus()})}finally{p.removeRef()}}async handleInlineSuggestionShown(u,p,v,C){await u.reportInlineEditShown(this._commandService,p,v,this.textModel,C)}transplantCompletion(u){je((p)=>{this._source.seedWithCompletion(u,p),this._isActive.set(!0,p),this._inAcceptFlow.set(!0,p),this.dontRefetchSignal.trigger(p)})}};Bf=YT([wa(8,L),wa(9,Ae),wa(10,et),wa(11,qt),wa(12,j),wa(13,ve),wa(14,Bv),wa(15,o0)],Bf);var Ps;(function(m){m[m.Undo=0]="Undo",m[m.Redo=1]="Redo",m[m.AcceptWord=2]="AcceptWord",m[m.Other=3]="Other"})(Ps||(Ps={}));function DC(m,u,p){if(u.length===1)return[];let v=new Tu(m),C=v.getTransformer(),y=C.getOffset(u[0]),I=u.slice(1).map((te)=>C.getOffset(te));p=p.removeCommonPrefixAndSuffix(v);let D=C.getStringReplacement(p),T=D.replaceRange.start-y,K=D.replaceRange.join(B.emptyAt(y)),q=v.getValueOfOffsetRange(K);return I.map((te)=>{let oe=te+T,ne=oe+D.replaceRange.length,ae=new B(oe,ne),ge=ae.join(B.emptyAt(te));if(v.getValueOfOffsetRange(ge)!==q)return;let ke=new Gn(ae,D.newText);return C.getTextReplacement(ke)}).filter(Mn)}class O1 extends n{constructor(m,u,p){super();if(p)this._register({dispose:()=>p()});this._register(Xe(m).setDecorations(Ce(u.map((C)=>({range:C,options:{description:"animation",className:"edits-fadeout-decoration",zIndex:1}})))));let v=new pC(Xm.startNow(1,0,1000,s1));this._register(H((C)=>{let y=v.getValue(C);if(m.getContainerDomNode().style.setProperty("--animation-opacity",y.toString()),v.isFinished(C))this.dispose()}))}}function RC(m,u,p=void 0){let v=u.targetRange;Xe(m).scrollTop.read(p);let C=m.getVisibleRanges();if(C.length<1)return!1;return new t(C[0].startLineNumber,C[0].startColumn,C[C.length-1].endLineNumber,C[C.length-1].endColumn).containsRange(v)}function N1(m){if(m?.entitlementsData?.access_type_sku&&m?.entitlementsData?.copilot_plan)return{type:m.entitlementsData.access_type_sku,plan:m.entitlementsData.copilot_plan};return}class M1{constructor(m){this.handler=(u)=>this._cb?.(u),this._cb=m}dispose(){this._cb=void 0}}function JT(m,u){let p=new M1(m);return u.add(p),p.handler}var QT=function(m,u,p,v){var C=arguments.length,y=C<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,p):v,I;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")y=Reflect.decorate(m,u,p,v);else for(var D=m.length-1;D>=0;D--)if(I=m[D])y=(C<3?I(y):C>3?I(u,p,y):I(u,p))||y;return C>3&&y&&Object.defineProperty(u,p,y),y},eN=function(m,u){return function(p,v){u(p,v,m)}},kC,Gu=class m{static{kC=this}static{this.AtEnd=new N("atEndOfWord",!1,{type:"boolean",description:e(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(u,p){this._editor=u,this._enabled=!1,this._ckAtEnd=kC.AtEnd.bindTo(p),this._configListener=this._editor.onDidChangeConfiguration((v)=>v.hasChanged(139)&&this._update()),this._update()}dispose(){this._configListener.dispose(),this._selectionListener?.dispose(),this._ckAtEnd.reset()}_update(){let u=this._editor.getOption(139)==="on";if(this._enabled===u)return;if(this._enabled=u,this._enabled){let p=()=>{if(!this._editor.hasModel()){this._ckAtEnd.set(!1);return}let v=this._editor.getModel(),C=this._editor.getSelection(),y=v.getWordAtPosition(C.getStartPosition());if(!y){this._ckAtEnd.set(!1);return}this._ckAtEnd.set(y.endColumn===C.getStartPosition().column&&C.getStartPosition().lineNumber===C.getEndPosition().lineNumber)};this._selectionListener=this._editor.onDidChangeCursorSelection(p),p()}else if(this._selectionListener)this._ckAtEnd.reset(),this._selectionListener.dispose(),this._selectionListener=void 0}};Gu=kC=QT([eN(1,z)],Gu);var tN=function(m,u,p,v){var C=arguments.length,y=C<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,p):v,I;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")y=Reflect.decorate(m,u,p,v);else for(var D=m.length-1;D>=0;D--)if(I=m[D])y=(C<3?I(y):C>3?I(u,p,y):I(u,p))||y;return C>3&&y&&Object.defineProperty(u,p,y),y},iN=function(m,u){return function(p,v){u(p,v,m)}},qu,Fd=class m{static{qu=this}static{this.OtherSuggestions=new N("hasOtherSuggestions",!1)}constructor(u,p){this._editor=u,this._index=0,this._ckOtherSuggestions=qu.OtherSuggestions.bindTo(p)}dispose(){this.reset()}reset(){this._ckOtherSuggestions.reset(),this._listener?.dispose(),this._model=void 0,this._acceptNext=void 0,this._ignore=!1}set({model:u,index:p},v){if(u.items.length===0){this.reset();return}if(qu._moveIndex(!0,u,p)===p){this.reset();return}this._acceptNext=v,this._model=u,this._index=p,this._listener=this._editor.onDidChangeCursorPosition(()=>{if(!this._ignore)this.reset()}),this._ckOtherSuggestions.set(!0)}static _moveIndex(u,p,v){let C=v;for(let y=p.items.length;y>0;y--){if(C=(C+p.items.length+(u?1:-1))%p.items.length,C===v)break;if(!p.items[C].completion.additionalTextEdits)break}return C}next(){this._move(!0)}prev(){this._move(!1)}_move(u){if(!this._model)return;try{this._ignore=!0,this._index=qu._moveIndex(u,this._model,this._index),this._acceptNext({index:this._index,item:this._model.items[this._index],model:this._model})}finally{this._ignore=!1}}};Fd=qu=tN([iN(1,z)],Fd);class TC{constructor(m,u,p,v){this._disposables=new c,this._disposables.add(p.onDidSuggest((C)=>{if(C.completionModel.items.length===0)this.reset()})),this._disposables.add(p.onDidCancel((C)=>{this.reset()})),this._disposables.add(u.onDidShow(()=>this._onItem(u.getFocusedItem()))),this._disposables.add(u.onDidFocus(this._onItem,this)),this._disposables.add(u.onDidHide(this.reset,this)),this._disposables.add(m.onWillType((C)=>{if(this._active&&!u.isFrozen()&&p.state!==0){let y=C.charCodeAt(C.length-1);if(this._active.acceptCharacters.has(y)&&m.getOption(0))v(this._active.item)}}))}_onItem(m){if(!m||!$n(m.item.completion.commitCharacters)){this.reset();return}if(this._active&&this._active.item.item===m.item)return;let u=new Oh;for(let p of m.item.completion.commitCharacters)if(p.length>0)u.add(p.charCodeAt(0));this._active={acceptCharacters:u,item:m}}reset(){this._active=void 0}dispose(){this._disposables.dispose()}}class Vf{static{this._maxSelectionLength=51200}constructor(m,u){this._disposables=new c,this._lastOvertyped=[],this._locked=!1,this._disposables.add(m.onWillType(()=>{if(this._locked||!m.hasModel())return;let p=m.getSelections(),v=p.length,C=!1;for(let I=0;I<v;I++)if(!p[I].isEmpty()){C=!0;break}if(!C){if(this._lastOvertyped.length!==0)this._lastOvertyped.length=0;return}this._lastOvertyped=[];let y=m.getModel();for(let I=0;I<v;I++){let D=p[I];if(y.getValueLengthInRange(D)>Vf._maxSelectionLength)return;this._lastOvertyped[I]={value:y.getValueInRange(D),multiline:D.startLineNumber!==D.endLineNumber}}})),this._disposables.add(u.onDidTrigger((p)=>{this._locked=!0})),this._disposables.add(u.onDidCancel((p)=>{this._locked=!1}))}getLastOvertypedInfo(m){if(m>=0&&m<this._lastOvertyped.length)return this._lastOvertyped[m];return}dispose(){this._disposables.dispose()}}var oN=function(m,u,p,v){var C=arguments.length,y=C<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,p):v,I;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")y=Reflect.decorate(m,u,p,v);else for(var D=m.length-1;D>=0;D--)if(I=m[D])y=(C<3?I(y):C>3?I(u,p,y):I(u,p))||y;return C>3&&y&&Object.defineProperty(u,p,y),y},NC=function(m,u){return function(p,v){u(p,v,m)}},Kf=class m{constructor(u,p,v,C,y,I){this._menuId=p,this._menuService=y,this._contextKeyService=I,this._menuDisposables=new c,this.element=w(u,g(".suggest-status-bar"));let D=(T)=>{if(v?.showIconsNoKeybindings)return T instanceof Ti?C.createInstance(za,T,void 0):void 0;else return T instanceof Ti?C.createInstance(r0,T,{useComma:!1}):void 0};this._leftActions=new Di(this.element,{actionViewItemProvider:D}),this._rightActions=new Di(this.element,{actionViewItemProvider:D}),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 u=this._menuService.createMenu(this._menuId,this._contextKeyService),p=()=>{let v=[],C=[];for(let[y,I]of u.getActions())if(y==="left")v.push(...I);else C.push(...I);this._leftActions.clear(),this._leftActions.push(v),this._rightActions.clear(),this._rightActions.push(C)};this._menuDisposables.add(u.onDidChange(()=>p())),this._menuDisposables.add(u)}hide(){this._menuDisposables.clear()}};Kf=oN([NC(3,L),NC(4,fi),NC(5,z)],Kf);var nN=function(m,u,p,v){var C=arguments.length,y=C<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,p):v,I;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")y=Reflect.decorate(m,u,p,v);else for(var D=m.length-1;D>=0;D--)if(I=m[D])y=(C<3?I(y):C>3?I(u,p,y):I(u,p))||y;return C>3&&y&&Object.defineProperty(u,p,y),y},P1=function(m,u){return function(p,v){u(p,v,m)}};function Zu(m){return!!m&&Boolean(m.completion.documentation||m.completion.detail&&m.completion.detail!==m.completion.label)}var zf=class m{constructor(u,p,v){this._editor=u,this._themeService=p,this._markdownRendererService=v,this._onDidClose=new i,this.onDidClose=this._onDidClose.event,this._onDidChangeContents=new i,this.onDidChangeContents=this._onDidChangeContents.event,this._disposables=new c,this._renderDisposeable=new c,this._size=new Ye(330,0),this.domNode=g(".suggest-details"),this.domNode.classList.add("no-docs"),this._body=g(".body"),this._scrollbar=new Ba(this._body,{alwaysConsumeMouseWheel:!0}),w(this.domNode,this._scrollbar.getDomNode()),this._disposables.add(this._scrollbar),this._header=w(this._body,g(".header")),this._close=w(this._header,g("span"+G.asCSSSelector(b.close))),this._close.title=e(1563,"Close"),this._close.ariaLabel=e(1564,"Close"),this._close.role="button",this._close.tabIndex=-1,this._type=w(this._header,g("p.type")),this._docs=w(this._body,g("p.docs")),this._configureFont(),this._disposables.add(this._editor.onDidChangeConfiguration((C)=>{if(C.hasChanged(59))this._configureFont()}))}dispose(){this._disposables.dispose(),this._renderDisposeable.dispose(),this._onDidClose.dispose(),this._onDidChangeContents.dispose()}_configureFont(){let u=this._editor.getOptions(),p=u.get(59),v=p.getMassagedFontFamily(),C=u.get(135)||p.fontSize,y=u.get(136)||p.lineHeight,I=p.fontWeight,D=`${C}px`,T=`${y}px`;this.domNode.style.fontSize=D,this.domNode.style.lineHeight=`${y/C}`,this.domNode.style.fontWeight=I,this.domNode.style.fontFeatureSettings=p.fontFeatureSettings,this._type.style.fontFamily=v,this._close.style.height=T,this._close.style.width=T}getLayoutInfo(){let u=this._editor.getOption(136)||this._editor.getOption(59).lineHeight,p=Ur(this._themeService.getColorTheme().type)?2:1,v=p*2;return{lineHeight:u,borderWidth:p,borderHeight:v,verticalPadding:22,horizontalPadding:14}}renderLoading(){this._type.textContent=e(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(u,p){this._renderDisposeable.clear();let{detail:v,documentation:C}=u.completion;if(p){let y="";y+=`score: ${u.score[0]}
|
|
42
|
-
`,y+=`prefix: ${u.word??"(no prefix)"}
|
|
43
|
-
`,y+=`word: ${u.completion.filterText?u.completion.filterText+" (filterText)":u.textLabel}
|
|
44
|
-
`,y+=`distance: ${u.distance} (localityBonus-setting)
|
|
45
|
-
`,y+=`index: ${u.idx}, based on ${u.completion.sortText&&`sortText: "${u.completion.sortText}"`||"label"}
|
|
46
|
-
`,y+=`commit_chars: ${u.completion.commitCharacters?.join("")}
|
|
47
|
-
`,C=new xn().appendCodeblock("empty",y),v=`Provider: ${u.provider._debugDisplayName}`}if(!p&&!Zu(u)){this.clearContents();return}if(this.domNode.classList.remove("no-docs","no-type"),v){let y=v.length>1e5?`${v.substr(0,1e5)}…`:v;this._type.textContent=y,this._type.title=y,pr(this._type),this._type.classList.toggle("auto-wrap",!/\r?\n^\s+/gmi.test(y))}else en(this._type),this._type.title="",qi(this._type),this.domNode.classList.add("no-type");if(en(this._docs),typeof C==="string")this._docs.classList.remove("markdown-docs"),this._docs.textContent=C;else if(C){this._docs.classList.add("markdown-docs"),en(this._docs);let y=this._markdownRendererService.render(C,{context:this._editor,asyncRenderCallback:()=>{this.layout(this._size.width,this._type.clientHeight+this._docs.clientHeight),this._onDidChangeContents.fire(this)}});this._docs.appendChild(y.element),this._renderDisposeable.add(y)}this.domNode.classList.toggle("detail-and-doc",!!v&&!!C),this.domNode.style.userSelect="text",this.domNode.tabIndex=-1,this._close.onmousedown=(y)=>{y.preventDefault(),y.stopPropagation()},this._close.onclick=(y)=>{y.preventDefault(),y.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(u,p){let v=new Ye(u,p);if(!Ye.equals(v,this._size))this._size=v,m$(this.domNode,u,p);this._scrollbar.scanDomNode()}scrollDown(u=8){this._body.scrollTop+=u}scrollUp(u=8){this._body.scrollTop-=u}scrollTop(){this._body.scrollTop=0}scrollBottom(){this._body.scrollTop=this._body.scrollHeight}pageDown(){this.scrollDown(80)}pageUp(){this.scrollUp(80)}focus(){this.domNode.focus()}};zf=nN([P1(1,Ne),P1(2,vr)],zf);class OC{constructor(m,u){this.widget=m,this._editor=u,this.allowEditorOverflow=!0,this._disposables=new c,this._added=!1,this._preferAlignAtTop=!0,this._resizable=new Id,this._resizable.domNode.classList.add("suggest-details-container"),this._resizable.domNode.appendChild(m.domNode),this._resizable.enableSashes(!1,!0,!0,!1);let p,v,C=0,y=0;this._disposables.add(this._resizable.onDidWillResize(()=>{p=this._topLeft,v=this._resizable.size})),this._disposables.add(this._resizable.onDidResize((I)=>{if(p&&v){this.widget.layout(I.dimension.width,I.dimension.height);let D=!1;if(I.west)y=v.width-I.dimension.width,D=!0;if(I.north)C=v.height-I.dimension.height,D=!0;if(D)this._applyTopLeft({top:p.top+C,left:p.left+y})}if(I.done)p=void 0,v=void 0,C=0,y=0,this._userSize=I.dimension})),this._disposables.add(this.widget.onDidChangeContents(()=>{if(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(){if(!this._added)this._editor.addOverlayWidget(this),this._added=!0}hide(m=!1){if(this._resizable.clearSashHoverState(),this._added)this._editor.removeOverlayWidget(this),this._added=!1,this._anchorBox=void 0,this._topLeft=void 0;if(m)this._userSize=void 0,this.widget.clearContents()}placeAtAnchor(m,u){let p=m.getBoundingClientRect();this._anchorBox=p,this._preferAlignAtTop=u,this._placeAtAnchor(this._anchorBox,this._userSize??this.widget.size,u)}_placeAtAnchor(m,u,p){let v=Is(this.getDomNode().ownerDocument.body),C=this.widget.getLayoutInfo(),y=new Ye(220,2*C.lineHeight),I=m.top,D=function(){let Le=v.width-(m.left+m.width+C.borderWidth+C.horizontalPadding),He=-C.borderWidth+m.left+m.width,Je=new Ye(Le,v.height-m.top-C.borderHeight-C.verticalPadding),tt=Je.with(void 0,m.top+m.height-C.borderHeight-C.verticalPadding);return{top:I,left:He,fit:Le-u.width,maxSizeTop:Je,maxSizeBottom:tt,minSize:y.with(Math.min(Le,y.width))}}(),T=function(){let Le=m.left-C.borderWidth-C.horizontalPadding,He=Math.max(C.horizontalPadding,m.left-u.width-C.borderWidth),Je=new Ye(Le,v.height-m.top-C.borderHeight-C.verticalPadding),tt=Je.with(void 0,m.top+m.height-C.borderHeight-C.verticalPadding);return{top:I,left:He,fit:Le-u.width,maxSizeTop:Je,maxSizeBottom:tt,minSize:y.with(Math.min(Le,y.width))}}(),K=function(){let Le=m.left,He=-C.borderWidth+m.top+m.height,Je=new Ye(m.width-C.borderHeight,v.height-m.top-m.height-C.verticalPadding);return{top:He,left:Le,fit:Je.height-u.height,maxSizeBottom:Je,maxSizeTop:Je,minSize:y.with(Je.width)}}(),q=function(){let Le=m.left,He=new Ye(m.width-C.borderHeight,m.top-C.verticalPadding);return{top:Math.max(C.verticalPadding,m.top-u.height),left:Le,fit:He.height-u.height,maxSizeTop:He,maxSizeBottom:He,minSize:y.with(He.width)}}(),te=[D,T,p?K:q],oe=te.find((Le)=>Le.fit>=0)??te.sort((Le,He)=>He.fit-Le.fit)[0],ne=m.top+m.height-C.borderHeight,ae,ge=u.height,Ie=Math.max(oe.maxSizeTop.height,oe.maxSizeBottom.height);if(ge>Ie)ge=Ie;let ke;if(p)if(ge<=oe.maxSizeTop.height)ae=!0,ke=oe.maxSizeTop;else ae=!1,ke=oe.maxSizeBottom;else if(ge<=oe.maxSizeBottom.height)ae=!1,ke=oe.maxSizeBottom;else ae=!0,ke=oe.maxSizeTop;let{top:Oe,left:Ve}=oe;if(oe===q)Oe=m.top-ge+C.borderWidth;else if(!ae&&ge>m.height)Oe=ne-ge;let Ue=this._editor.getDomNode();if(Ue){let Le=Ue.getBoundingClientRect();Oe-=Le.top,Ve-=Le.left}if(this._applyTopLeft({left:Ve,top:Oe}),oe===q)this._resizable.enableSashes(!0,!1,!1,!0);else this._resizable.enableSashes(!ae,oe===D,ae,oe!==D);this._resizable.minSize=oe.minSize,this._resizable.maxSize=ke,this._resizable.layout(ge,Math.min(ke.width,u.width)),this.widget.layout(this._resizable.size.width,this._resizable.size.height)}_applyTopLeft(m){this._topLeft=m,this._editor.layoutOverlayWidget(this)}}var ek=Z("fileService"),Po;(function(m){m[m.FILE=0]="FILE",m[m.FOLDER=1]="FOLDER",m[m.ROOT_FOLDER=2]="ROOT_FOLDER"})(Po||(Po={}));var rN=/(?:\/|^)(?:([^\/]+)\/)?([^\/]+)$/;function Hd(m,u,p,v,C){if(G.isThemeIcon(C))return[`codicon-${C.id}`,"predefined-file-icon"];if(V.isUri(C))return[];let y=v===Po.ROOT_FOLDER?["rootfolder-icon"]:v===Po.FOLDER?["folder-icon"]:["file-icon"];if(p){let I;if(p.scheme===ee.data)I=Yc.parseMetaData(p).get(Yc.META_DATA_LABEL);else{let D=p.path.match(rN);if(D){if(I=Uf(D[2].toLowerCase()),D[1])y.push(`${Uf(D[1].toLowerCase())}-name-dir-icon`)}else I=Uf(p.authority.toLowerCase())}if(v===Po.ROOT_FOLDER)y.push(`${I}-root-name-folder-icon`);else if(v===Po.FOLDER)y.push(`${I}-name-folder-icon`);else{if(I){if(y.push(`${I}-name-file-icon`),y.push("name-file-icon"),I.length<=255){let T=I.split(".");for(let K=1;K<T.length;K++)y.push(`${T.slice(K).join(".")}-ext-file-icon`)}y.push("ext-file-icon")}let D=sN(m,u,p);if(D)y.push(`${Uf(D)}-lang-file-icon`)}}return y}function sN(m,u,p){if(!p)return null;let v=null;if(p.scheme===ee.data){let y=Yc.parseMetaData(p).get(Yc.META_DATA_MIME);if(y)v=u.getLanguageIdByMimeType(y)}else{let C=m.getModel(p);if(C)v=C.getLanguageId()}if(v&&v!==Hi)return v;return u.guessLanguageIdByFilepathOrFirstLine(p)}function Uf(m){return m.replace(/[\s]/g,"/")}var aN=function(m,u,p,v){var C=arguments.length,y=C<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,p):v,I;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")y=Reflect.decorate(m,u,p,v);else for(var D=m.length-1;D>=0;D--)if(I=m[D])y=(C<3?I(y):C>3?I(u,p,y):I(u,p))||y;return C>3&&y&&Object.defineProperty(u,p,y),y},MC=function(m,u){return function(p,v){u(p,v,m)}},dN=$t("suggest-more-info",b.chevronRight,e(1566,"Icon for more information in the suggest widget.")),lN=new class m{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=new RegExp(`^${m._regexRelaxed.source}$`,"i")}extract(u,p){if(u.textLabel.match(m._regexStrict))return p[0]=u.textLabel,!0;if(u.completion.detail&&u.completion.detail.match(m._regexStrict))return p[0]=u.completion.detail,!0;if(u.completion.documentation){let v=typeof u.completion.documentation==="string"?u.completion.documentation:u.completion.documentation.value,C=m._regexRelaxed.exec(v);if(C&&(C.index===0||C.index+C[0].length===v.length))return p[0]=C[0],!0}return!1}},jf=class m{constructor(u,p,v,C){this._editor=u,this._modelService=p,this._languageService=v,this._themeService=C,this._onDidToggleDetails=new i,this.onDidToggleDetails=this._onDidToggleDetails.event,this.templateId="suggestion"}dispose(){this._onDidToggleDetails.dispose()}renderTemplate(u){let p=new c,v=u;v.classList.add("show-file-icons");let C=w(u,g(".icon")),y=w(C,g("span.colorspan")),I=w(u,g(".contents")),D=w(I,g(".main")),T=w(D,g(".icon-label.codicon")),K=w(D,g("span.left")),q=w(D,g("span.right")),Q=new sd(K,{supportHighlights:!0,supportIcons:!0});p.add(Q);let te=w(K,g("span.signature-label")),oe=w(K,g("span.qualifier-label")),ne=w(q,g("span.details-label")),ae=w(q,g("span.readMore"+G.asCSSSelector(dN)));return ae.title=e(1567,"Read More"),{root:v,left:K,right:q,icon:C,colorspan:y,iconLabel:Q,iconContainer:T,parametersLabel:te,qualifierLabel:oe,detailsLabel:ne,readMore:ae,disposables:p,configureFont:()=>{let Ie=this._editor.getOptions(),ke=Ie.get(59),Oe=ke.getMassagedFontFamily(),{fontFeatureSettings:Ve,fontVariationSettings:Ue}=ke,Le=Ie.get(135)||ke.fontSize,He=Ie.get(136)||ke.lineHeight,{fontWeight:Je,letterSpacing:tt}=ke,ot=`${Le}px`,qe=`${He}px`,nt=`${tt}px`;v.style.fontSize=ot,v.style.fontWeight=Je,v.style.letterSpacing=nt,D.style.fontFamily=Oe,D.style.fontFeatureSettings=Ve,D.style.fontVariationSettings=Ue,D.style.lineHeight=qe,C.style.height=qe,C.style.width=qe,ae.style.height=qe,ae.style.width=qe}}}renderElement(u,p,v){v.configureFont();let{completion:C}=u;v.colorspan.style.backgroundColor="";let y={labelEscapeNewLines:!0,matches:Su(u.score)},I=[];if(C.kind===19&&lN.extract(u,I))v.icon.className="icon customcolor",v.iconContainer.className="icon hide",v.colorspan.style.backgroundColor=I[0];else if(C.kind===20&&this._themeService.getFileIconTheme().hasFileIcons){v.icon.className="icon hide",v.iconContainer.className="icon hide";let D=Hd(this._modelService,this._languageService,V.from({scheme:"fake",path:u.textLabel}),Po.FILE),T=Hd(this._modelService,this._languageService,V.from({scheme:"fake",path:C.detail}),Po.FILE);y.extraClasses=D.length>T.length?D:T}else if(C.kind===23&&this._themeService.getFileIconTheme().hasFolderIcons)v.icon.className="icon hide",v.iconContainer.className="icon hide",y.extraClasses=[Hd(this._modelService,this._languageService,V.from({scheme:"fake",path:u.textLabel}),Po.FOLDER),Hd(this._modelService,this._languageService,V.from({scheme:"fake",path:C.detail}),Po.FOLDER)].flat();else v.icon.className="icon hide",v.iconContainer.className="",v.iconContainer.classList.add("suggest-icon",...G.asClassNameArray(cu.toIcon(C.kind)));if(C.tags&&C.tags.indexOf(1)>=0)y.extraClasses=(y.extraClasses||[]).concat(["deprecated"]),y.matches=[];if(v.iconLabel.setLabel(u.textLabel,void 0,y),typeof C.label==="string")v.parametersLabel.textContent="",v.detailsLabel.textContent=PC(C.detail||""),v.root.classList.add("string-label");else v.parametersLabel.textContent=PC(C.label.detail||""),v.detailsLabel.textContent=PC(C.label.description||""),v.root.classList.remove("string-label");if(this._editor.getOption(134).showInlineDetails)pr(v.detailsLabel);else qi(v.detailsLabel);if(Zu(u))v.right.classList.add("can-expand-details"),pr(v.readMore),v.readMore.onmousedown=(D)=>{D.stopPropagation(),D.preventDefault()},v.readMore.onclick=(D)=>{D.stopPropagation(),D.preventDefault(),this._onDidToggleDetails.fire()};else v.right.classList.remove("can-expand-details"),qi(v.readMore),v.readMore.onmousedown=null,v.readMore.onclick=null}disposeTemplate(u){u.disposables.dispose()}};jf=aN([MC(1,bt),MC(2,pt),MC(3,Ne)],jf);function PC(m){return m.replace(/\r\n|\r|\n/g,"")}var cN=function(m,u,p,v){var C=arguments.length,y=C<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,p):v,I;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")y=Reflect.decorate(m,u,p,v);else for(var D=m.length-1;D>=0;D--)if(I=m[D])y=(C<3?I(y):C>3?I(u,p,y):I(u,p))||y;return C>3&&y&&Object.defineProperty(u,p,y),y},Gf=function(m,u){return function(p,v){u(p,v,m)}},ec,qf=s("editorSuggestWidget.background",yr,e(1545,"Background color of the suggest widget."));s("editorSuggestWidget.border",Fh,e(1546,"Border color of the suggest widget."));var AC=s("editorSuggestWidget.foreground",oa,e(1547,"Foreground color of the suggest widget.")),A1=s("editorSuggestWidget.selectedForeground",{dark:dc,light:dc,hcDark:qf,hcLight:qf},e(1548,"Foreground color of the selected entry in the suggest widget."));s("editorSuggestWidget.selectedIconForeground",{dark:Sf,light:Sf,hcDark:qf,hcLight:qf},e(1549,"Icon foreground color of the selected entry in the suggest widget."));var hN=s("editorSuggestWidget.selectedBackground",{dark:uc,light:uc,hcDark:AC,hcLight:AC},e(1550,"Background color of the selected entry in the suggest widget.")),uN=s("editorSuggestWidget.focusOutline",Ht,e(1551,"Outline color of the focused (keyboard-navigated) entry in the suggest widget."));s("editorSuggestWidget.highlightForeground",Wh,e(1552,"Color of the match highlights in the suggest widget."));s("editorSuggestWidget.focusHighlightForeground",{dark:Lv,light:Lv,hcDark:A1,hcLight:A1},e(1553,"Color of the match highlights in the suggest widget when an item is focused."));s("editorSuggestWidgetStatus.foreground",de(AC,0.5),e(1554,"Foreground color of the suggest widget status."));class F1{constructor(m,u){this._service=m,this._key=`suggestWidget.size/${u.getEditorType()}/${u instanceof Ji}`}restore(){let m=this._service.get(this._key,0)??"";try{let u=JSON.parse(m);if(Ye.is(u))return Ye.lift(u)}catch{}return}store(m){this._service.store(this._key,JSON.stringify(m),0,1)}reset(){this._service.remove(this._key,0)}}var Zf=class m{static{ec=this}static{this.LOADING_MESSAGE=e(1555,"Loading...")}static{this.NO_SUGGESTIONS_MESSAGE=e(1556,"No suggestions.")}constructor(u,p,v,C,y){this.editor=u,this._storageService=p,this._state=0,this._isAuto=!1,this._loadingTimeout=new ie,this._pendingLayout=new ie,this._pendingShowDetails=new ie,this._ignoreFocusEvents=!1,this._forceRenderingAbove=!1,this._explainMode=!1,this._showTimeout=new qn,this._disposables=new c,this._onDidSelect=new bl,this._onDidFocus=new bl,this._onDidHide=new i,this._onDidShow=new i,this.onDidSelect=this._onDidSelect.event,this.onDidFocus=this._onDidFocus.event,this.onDidHide=this._onDidHide.event,this.onDidShow=this._onDidShow.event,this._onDetailsKeydown=new i,this.element=new Id,this.element.domNode.classList.add("editor-widget","suggest-widget"),this._contentWidget=new H1(this,u),this._persistedSize=new F1(p,u);class I{constructor(ne,ae,ge=!1,Ie=!1){this.persistedSize=ne,this.currentSize=ae,this.persistHeight=ge,this.persistWidth=Ie}}let D;this._disposables.add(this.element.onDidWillResize(()=>{this._contentWidget.lockPreference(),D=new I(this._persistedSize.restore(),this.element.size)})),this._disposables.add(this.element.onDidResize((ne)=>{if(this._resize(ne.dimension.width,ne.dimension.height),D)D.persistHeight=D.persistHeight||!!ne.north||!!ne.south,D.persistWidth=D.persistWidth||!!ne.east||!!ne.west;if(!ne.done)return;if(D){let{itemHeight:ae,defaultSize:ge}=this.getLayoutInfo(),Ie=Math.round(ae/2),{width:ke,height:Oe}=this.element.size;if(!D.persistHeight||Math.abs(D.currentSize.height-Oe)<=Ie)Oe=D.persistedSize?.height??ge.height;if(!D.persistWidth||Math.abs(D.currentSize.width-ke)<=Ie)ke=D.persistedSize?.width??ge.width;this._persistedSize.store(new Ye(ke,Oe))}this._contentWidget.unlockPreference(),D=void 0})),this._messageElement=w(this.element.domNode,g(".message")),this._listElement=w(this.element.domNode,g(".tree"));let T=this._disposables.add(y.createInstance(zf,this.editor));T.onDidClose(()=>this.toggleDetails(),this,this._disposables),this._details=new OC(T,this.editor);let K=()=>this.element.domNode.classList.toggle("no-icons",!this.editor.getOption(134).showIcons);K();let q=()=>this.element.domNode.classList.toggle("fit-width-to-details",this.editor.getOption(134).fitWidthToDetails);q();let Q=y.createInstance(jf,this.editor);this._disposables.add(Q),this._disposables.add(Q.onDidToggleDetails(()=>this.toggleDetails())),this._list=new or("SuggestWidget",this._listElement,{getHeight:(ne)=>this.getLayoutInfo().itemHeight,getTemplateId:(ne)=>"suggestion"},[Q],{alwaysConsumeMouseWheel:!0,useShadows:!1,mouseSupport:!1,multipleSelectionSupport:!1,accessibilityProvider:{getRole:()=>Ut?"listitem":"option",getWidgetAriaLabel:()=>e(1557,"Suggest"),getWidgetRole:()=>"listbox",getAriaLabel:(ne)=>{let ae=ne.textLabel,ge=cu.toLabel(ne.completion.kind);if(typeof ne.completion.label!=="string"){let{detail:Ve,description:Ue}=ne.completion.label;if(Ve&&Ue)ae=e(1558,"{0} {1}, {2}, {3}",ae,Ve,Ue,ge);else if(Ve)ae=e(1559,"{0} {1}, {2}",ae,Ve,ge);else if(Ue)ae=e(1560,"{0}, {1}, {2}",ae,Ue,ge)}else ae=e(1561,"{0}, {1}",ae,ge);if(!ne.isResolved||!this._isDetailsVisible())return ae;let{documentation:Ie,detail:ke}=ne.completion,Oe=ia("{0}{1}",ke||"",Ie?typeof Ie==="string"?Ie:Ie.value:"");return e(1562,"{0}, docs: {1}",ae,Oe)}}}),this._list.style(gc({listInactiveFocusBackground:hN,listInactiveFocusOutline:uN})),this._status=y.createInstance(Kf,this.element.domNode,Dr,void 0);let te=()=>this.element.domNode.classList.toggle("with-status-bar",this.editor.getOption(134).showStatusBar);te(),this._disposables.add(this._list.onMouseDown((ne)=>this._onListMouseDownOrTap(ne))),this._disposables.add(this._list.onTap((ne)=>this._onListMouseDownOrTap(ne))),this._disposables.add(this._list.onDidChangeSelection((ne)=>this._onListSelection(ne))),this._disposables.add(this._list.onDidChangeFocus((ne)=>this._onListFocus(ne))),this._disposables.add(this.editor.onDidChangeCursorSelection(()=>this._onCursorSelectionChanged())),this._disposables.add(this.editor.onDidChangeConfiguration((ne)=>{if(ne.hasChanged(134))te(),K(),q();if(this._completionModel&&(ne.hasChanged(59)||ne.hasChanged(135)||ne.hasChanged(136)))this._list.splice(0,this._list.length,this._completionModel.items)})),this._ctxSuggestWidgetVisible=rt.Visible.bindTo(v),this._ctxSuggestWidgetDetailsVisible=rt.DetailsVisible.bindTo(v),this._ctxSuggestWidgetMultipleSuggestions=rt.MultipleSuggestions.bindTo(v),this._ctxSuggestWidgetHasFocusedSuggestion=rt.HasFocusedSuggestion.bindTo(v),this._ctxSuggestWidgetDetailsFocused=rt.DetailsFocused.bindTo(v);let oe=Xn(this._details.widget.domNode);this._disposables.add(oe),this._disposables.add(oe.onDidFocus(()=>this._ctxSuggestWidgetDetailsFocused.set(!0))),this._disposables.add(oe.onDidBlur(()=>this._ctxSuggestWidgetDetailsFocused.set(!1))),this._disposables.add(mt(this._details.widget.domNode,"keydown",(ne)=>{this._onDetailsKeydown.fire(ne)})),this._disposables.add(this.editor.onMouseDown((ne)=>this._onEditorMouseDown(ne)))}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(u){if(this._details.widget.domNode.contains(u.target.element))this._details.widget.domNode.focus();else if(this.element.domNode.contains(u.target.element))this.editor.focus()}_onCursorSelectionChanged(){if(this._state!==0)this._contentWidget.layout()}_onListMouseDownOrTap(u){if(typeof u.element>"u"||typeof u.index>"u")return;u.browserEvent.preventDefault(),u.browserEvent.stopPropagation(),this._select(u.element,u.index)}_onListSelection(u){if(u.elements.length)this._select(u.elements[0],u.indexes[0])}_select(u,p){let v=this._completionModel;if(v)this._onDidSelect.fire({item:u,index:p,model:v}),this.editor.focus()}_onListFocus(u){if(this._ignoreFocusEvents)return;if(this._state===5)this._setState(3);if(!u.elements.length){if(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 p=u.elements[0],v=u.indexes[0];if(p!==this._focusedItem)this._currentSuggestionDetails?.cancel(),this._currentSuggestionDetails=void 0,this._focusedItem=p,this._list.reveal(v),this._currentSuggestionDetails=jt(async(C)=>{let y=Yn(()=>{if(this._isDetailsVisible())this._showDetails(!0,!1)},250),I=C.onCancellationRequested(()=>y.dispose());try{return await p.resolve(C)}finally{y.dispose(),I.dispose()}}),this._currentSuggestionDetails.then(()=>{if(v>=this._list.length||p!==this._list.element(v))return;if(this._ignoreFocusEvents=!0,this._list.splice(v,1,[p]),this._list.setFocus([v]),this._ignoreFocusEvents=!1,this._isDetailsVisible())this._showDetails(!1,!1);else this.element.domNode.classList.remove("docs-side");this.editor.setAriaOptions({activeDescendant:this._list.getElementID(v)})}).catch(J);this._onDidFocus.fire({item:p,index:v,model:this._completionModel})}_setState(u){if(this._state===u)return;switch(this._state=u,this.element.domNode.classList.toggle("frozen",u===4),this.element.domNode.classList.remove("message"),u){case 0:qi(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=ec.LOADING_MESSAGE,qi(this._listElement,this._status.element),pr(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0,br(ec.LOADING_MESSAGE);break;case 2:this.element.domNode.classList.add("message"),this._messageElement.textContent=ec.NO_SUGGESTIONS_MESSAGE,qi(this._listElement,this._status.element),pr(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0,br(ec.NO_SUGGESTIONS_MESSAGE);break;case 3:qi(this._messageElement),pr(this._listElement,this._status.element),this._show();break;case 4:qi(this._messageElement),pr(this._listElement,this._status.element),this._show();break;case 5:qi(this._messageElement),pr(this._listElement,this._status.element),this._details.show(),this._show(),this._details.widget.focus();break}}_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(u,p){if(this._state!==0)return;if(this._contentWidget.setPosition(this.editor.getPosition()),this._isAuto=!!u,!this._isAuto)this._loadingTimeout.value=Yn(()=>this._setState(1),p)}showSuggestions(u,p,v,C,y){if(this._contentWidget.setPosition(this.editor.getPosition()),this._loadingTimeout.clear(),this._currentSuggestionDetails?.cancel(),this._currentSuggestionDetails=void 0,this._completionModel!==u)this._completionModel=u;if(v&&this._state!==2&&this._state!==0){this._setState(4);return}let I=this._completionModel.items.length,D=I===0;if(this._ctxSuggestWidgetMultipleSuggestions.set(I>1),D){this._setState(C?0:2),this._completionModel=void 0;return}this._focusedItem=void 0,this._onDidFocus.pause(),this._onDidSelect.pause();try{this._list.splice(0,this._list.length,this._completionModel.items),this._setState(v?4:3),this._list.reveal(p,0,p===0?0:this.getLayoutInfo().itemHeight*0.33),this._list.setFocus(y?[]:[p])}finally{this._onDidFocus.resume(),this._onDidSelect.resume()}this._pendingLayout.value=wg(F(this.element.domNode),()=>{this._pendingLayout.clear(),this._layout(this.element.size),this._details.widget.domNode.classList.remove("focused")})}focusSelected(){if(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};return}toggleDetailsFocus(){if(this._state===5)this._list.setFocus(this._list.getFocus()),this._setState(3);else if(this._state===3)if(this._setState(5),!this._isDetailsVisible())this.toggleDetails(!0);else this._details.widget.focus()}toggleDetails(u=!1){if(this._isDetailsVisible())this._pendingShowDetails.clear(),this._ctxSuggestWidgetDetailsVisible.set(!1),this._setDetailsVisible(!1),this._details.hide(),this.element.domNode.classList.remove("shows-details");else if((Zu(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,u)}_showDetails(u,p){this._pendingShowDetails.value=wg(F(this.element.domNode),()=>{this._pendingShowDetails.clear(),this._details.show();let v=!1;if(u)this._details.widget.renderLoading();else this._details.widget.renderItem(this._list.getFocusedElements()[0],this._explainMode);if(!this._details.widget.isEmpty){if(this._positionDetails(),this.element.domNode.classList.add("shows-details"),p)this._details.widget.focus(),v=!0}else this._details.hide();if(!v)this.editor.focus()})}toggleExplainMode(){if(this._list.getFocusedElements()[0])if(this._explainMode=!this._explainMode,!this._isDetailsVisible())this.toggleDetails();else this._showDetails(!1,!1)}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 u=this._persistedSize.restore(),p=Math.ceil(this.getLayoutInfo().itemHeight*4.3);if(u&&u.height<p)this._persistedSize.store(u.with(void 0,p))}isFrozen(){return this._state===4}_afterRender(u){if(u===null){if(this._isDetailsVisible())this._details.hide();return}if(this._state===2||this._state===1)return;if(this._isDetailsVisible()&&!this._details.widget.isEmpty)this._details.show();this._positionDetails()}_layout(u){if(!this.editor.hasModel())return;if(!this.editor.getDomNode())return;let p=Is(this.element.domNode.ownerDocument.body),v=this.getLayoutInfo();if(!u)u=v.defaultSize;let C=u.height,y=u.width;if(this._status.element.style.height=`${v.itemHeight}px`,this._state===2||this._state===1)C=v.itemHeight+v.borderHeight,y=v.defaultSize.width/2,this.element.enableSashes(!1,!1,!1,!1),this.element.minSize=this.element.maxSize=new Ye(y,C),this._contentWidget.setPreference(2);else{let I=p.width-v.borderHeight-2*v.horizontalPadding;if(y>I)y=I;let D=this._completionModel?this._completionModel.stats.pLabelLen*v.typicalHalfwidthCharacterWidth:y;if(this.editor.getOption(134).fitWidthToDetails&&this._completionModel&&!this._persistedSize.restore()){let ke=Math.min(I,this.editor.getLayoutInfo().width),Oe=Math.min(ke,this._measureContentWidth(v));y=Math.max(y,Oe),D=Math.max(D,Oe)}let T=v.statusBarHeight+this._list.contentHeight+v.borderHeight,K=v.itemHeight+v.statusBarHeight,q=gt(this.editor.getDomNode()),Q=this.editor.getScrolledVisiblePosition(this.editor.getPosition()),te=q.top+Q.top+Q.height,oe=Math.min(p.height-te-v.verticalPadding,T),ne=q.top+Q.top-v.verticalPadding,ae=Math.min(ne,T),ge=Math.min(Math.max(ae,oe)+v.borderHeight,T);if(C===this._cappedHeight?.capped)C=this._cappedHeight.wanted;if(C<K)C=K;if(C>ge)C=ge;let Ie=150;if(C>oe&&ae>oe||this._forceRenderingAbove&&ne>Ie)this._contentWidget.setPreference(1),this.element.enableSashes(!0,!0,!1,!1),ge=ae;else this._contentWidget.setPreference(2),this.element.enableSashes(!1,!0,!0,!1),ge=oe;this.element.preferredSize=new Ye(D,v.defaultSize.height),this.element.maxSize=new Ye(I,ge),this.element.minSize=new Ye(220,K),this._cappedHeight=C===T?{wanted:this._cappedHeight?.wanted??u.height,capped:C}:void 0}this._resize(y,C)}_resize(u,p){let{width:v,height:C}=this.element.maxSize;u=Math.min(v,u),p=Math.min(C,p);let{statusBarHeight:y}=this.getLayoutInfo();this._list.layout(p-y,u),this._listElement.style.height=`${p-y}px`,this.element.layout(p,u),this._contentWidget.layout(),this._positionDetails()}_positionDetails(){if(this._isDetailsVisible())this._details.placeAtAnchor(this.element.domNode,this._contentWidget.getPosition()?.preference[0]===2)}_measureContentWidth(u){let p=this._completionModel;if(!p)return 0;if(this._fitContentWidth?.model===p)return this._fitContentWidth.width;if(this._measureContext===void 0)this._measureContext=g("canvas").getContext("2d");let v;if(this._measureContext){let I=this.editor.getOptions(),D=I.get(59),T=I.get(135)||D.fontSize;this._measureContext.font=`${D.fontWeight} ${T}px ${D.getMassagedFontFamily()}`,v=0;for(let K of p.items){let{completion:q}=K,Q=K.textLabel;if(typeof q.label==="string")Q+=q.detail??"";else Q+=(q.label.detail??"")+(q.label.description??"");v=Math.max(v,this._measureContext.measureText(Q).width)}}else v=p.stats.pLabelLen*u.typicalHalfwidthCharacterWidth;let C=2*u.itemHeight+2*u.horizontalPadding+20,y=v+C;return this._fitContentWidth={model:p,width:y},y}getLayoutInfo(){let u=this.editor.getOption(59),p=Ei(this.editor.getOption(136)||u.lineHeight,8,1000),v=!this.editor.getOption(134).showStatusBar||this._state===2||this._state===1?0:p,C=this._details.widget.getLayoutInfo().borderWidth,y=2*C;return{itemHeight:p,statusBarHeight:v,borderWidth:C,borderHeight:y,typicalHalfwidthCharacterWidth:u.typicalHalfwidthCharacterWidth,verticalPadding:22,horizontalPadding:14,defaultSize:new Ye(430,v+12*p)}}_isDetailsVisible(){return this._storageService.getBoolean("expandSuggestionDocs",0,!1)}_setDetailsVisible(u){this._storageService.store("expandSuggestionDocs",u,0,0)}forceRenderingAbove(){if(!this._forceRenderingAbove)this._forceRenderingAbove=!0,this._layout(this._persistedSize.restore())}stopForceRenderingAbove(){this._forceRenderingAbove=!1}};Zf=ec=cN([Gf(1,_n),Gf(2,z),Gf(3,Ne),Gf(4,L)],Zf);class H1{constructor(m,u){this._widget=m,this._editor=u,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._preferenceLocked=!1,this._added=!1,this._hidden=!1}dispose(){if(this._added)this._added=!1,this._editor.removeContentWidget(this)}getId(){return"editor.widget.suggestWidget"}getDomNode(){return this._widget.element.domNode}show(){if(this._hidden=!1,!this._added)this._added=!0,this._editor.addContentWidget(this)}hide(){if(!this._hidden)this._hidden=!0,this.layout()}layout(){this._editor.layoutContentWidget(this)}getPosition(){if(this._hidden||!this._position||!this._preference)return null;return{position:this._position,preference:[this._preference]}}beforeRender(){let{height:m,width:u}=this._widget.element.size,{borderWidth:p,horizontalPadding:v}=this._widget.getLayoutInfo();return new Ye(u+2*p+v,m+2*p)}afterRender(m){this._widget._afterRender(m)}setPreference(m){if(!this._preferenceLocked)this._preference=m}lockPreference(){this._preferenceLocked=!0}unlockPreference(){this._preferenceLocked=!1}setPosition(m){this._position=m}}var gN=function(m,u,p,v){var C=arguments.length,y=C<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,p):v,I;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")y=Reflect.decorate(m,u,p,v);else for(var D=m.length-1;D>=0;D--)if(I=m[D])y=(C<3?I(y):C>3?I(u,p,y):I(u,p))||y;return C>3&&y&&Object.defineProperty(u,p,y),y},tc=function(m,u){return function(p,v){u(p,v,m)}},FC;class W1{constructor(m,u){if(this._model=m,this._position=u,this._decorationOptions=re.register({description:"suggest-line-suffix",stickiness:1}),m.getLineMaxColumn(u.lineNumber)!==u.column){let v=m.getOffsetAt(u),C=m.getPositionAt(v+1);m.changeDecorations((y)=>{if(this._marker)y.removeDecoration(this._marker);this._marker=y.addDecoration(t.fromPositions(u,C),this._decorationOptions)})}}dispose(){if(this._marker&&!this._model.isDisposed())this._model.changeDecorations((m)=>{m.removeDecoration(this._marker),this._marker=void 0})}delta(m){if(this._model.isDisposed()||this._position.lineNumber!==m.lineNumber)return 0;if(this._marker){let u=this._model.getDecorationRange(this._marker);return this._model.getOffsetAt(u.getStartPosition())-this._model.getOffsetAt(m)}else return this._model.getLineMaxColumn(m.lineNumber)-m.column}}var Wn=class m{static{FC=this}static{this.ID="editor.contrib.suggestController"}static get(u){return u.getContribution(FC.ID)}get onWillInsertSuggestItem(){return this._onWillInsertSuggestItem.event}constructor(u,p,v,C,y,I,D){this._memoryService=p,this._commandService=v,this._contextKeyService=C,this._instantiationService=y,this._logService=I,this._telemetryService=D,this._lineSuffix=new ie,this._toDispose=new c,this._selectors=new B1((Q)=>Q.priority),this._onWillInsertSuggestItem=new i,this._wantsForceRenderingAbove=!1,this.editor=u,this.model=y.createInstance(jl,this.editor),this._selectors.register({priority:0,select:(Q,te,oe)=>this._memoryService.select(Q,te,oe)});let T=rt.InsertMode.bindTo(C);T.set(u.getOption(134).insertMode),this._toDispose.add(this.model.onDidTrigger(()=>T.set(u.getOption(134).insertMode))),this.widget=this._toDispose.add(new yv(F(u.getDomNode()),()=>{let Q=this._instantiationService.createInstance(Zf,this.editor);this._toDispose.add(Q),this._toDispose.add(Q.onDidSelect((ge)=>this._insertSuggestion(ge,0),this));let te=new TC(this.editor,Q,this.model,(ge)=>this._insertSuggestion(ge,2));this._toDispose.add(te);let oe=rt.MakesTextEdit.bindTo(this._contextKeyService),ne=rt.HasInsertAndReplaceRange.bindTo(this._contextKeyService),ae=rt.CanResolve.bindTo(this._contextKeyService);if(this._toDispose.add(E(()=>{oe.reset(),ne.reset(),ae.reset()})),this._toDispose.add(Q.onDidFocus(({item:ge})=>{let Ie=this.editor.getPosition(),ke=ge.editStart.column,Oe=Ie.column,Ve=!0;if(this.editor.getOption(1)==="smart"&&this.model.state===2&&!ge.completion.additionalTextEdits&&!(ge.completion.insertTextRules&4)&&Oe-ke===ge.completion.insertText.length)Ve=this.editor.getModel().getValueInRange({startLineNumber:Ie.lineNumber,startColumn:ke,endLineNumber:Ie.lineNumber,endColumn:Oe})!==ge.completion.insertText;oe.set(Ve),ne.set(!o.equals(ge.editInsertEnd,ge.editReplaceEnd)),ae.set(Boolean(ge.provider.resolveCompletionItem)||Boolean(ge.completion.documentation)||ge.completion.detail!==ge.completion.label)})),this._wantsForceRenderingAbove)Q.forceRenderingAbove();return Q})),this._overtypingCapturer=this._toDispose.add(new yv(F(u.getDomNode()),()=>this._toDispose.add(new Vf(this.editor,this.model)))),this._alternatives=this._toDispose.add(new yv(F(u.getDomNode()),()=>this._toDispose.add(new Fd(this.editor,this._contextKeyService)))),this._toDispose.add(y.createInstance(Gu,u)),this._toDispose.add(this.model.onDidTrigger((Q)=>{this.widget.value.showTriggered(Q.auto,Q.shy?250:50),this._lineSuffix.value=new W1(this.editor.getModel(),Q.position)})),this._toDispose.add(this.model.onDidSuggest((Q)=>{if(Q.triggerOptions.shy)return;let te=-1;for(let ne of this._selectors.itemsOrderedByPriorityDesc)if(te=ne.select(this.editor.getModel(),this.editor.getPosition(),Q.completionModel.items),te!==-1)break;if(te===-1)te=0;if(this.model.state===0)return;let oe=!1;if(Q.triggerOptions.auto){let ne=this.editor.getOption(134);if(ne.selectionMode==="never"||ne.selectionMode==="always")oe=ne.selectionMode==="never";else if(ne.selectionMode==="whenTriggerCharacter")oe=Q.triggerOptions.triggerKind!==1;else if(ne.selectionMode==="whenQuickSuggestion")oe=Q.triggerOptions.triggerKind===1&&!Q.triggerOptions.refilter}this.widget.value.showSuggestions(Q.completionModel,te,Q.isFrozen,Q.triggerOptions.auto,oe)})),this._toDispose.add(this.model.onDidCancel((Q)=>{if(!Q.retrigger)this.widget.value.hideWidget()})),this._toDispose.add(this.editor.onDidBlurEditorWidget(()=>{this.model.cancel(),this.model.clear()}));let K=rt.AcceptSuggestionsOnEnter.bindTo(C),q=()=>{let Q=this.editor.getOption(1);K.set(Q==="on"||Q==="smart")};this._toDispose.add(this.editor.onDidChangeConfiguration(()=>q())),q()}dispose(){this._alternatives.dispose(),this._toDispose.dispose(),this.widget.dispose(),this.model.dispose(),this._lineSuffix.dispose(),this._onWillInsertSuggestItem.dispose()}_insertSuggestion(u,p){if(!u||!u.item){this._alternatives.value.reset(),this.model.cancel(),this.model.clear();return}if(!this.editor.hasModel())return;let v=_i.get(this.editor);if(!v)return;this._onWillInsertSuggestItem.fire({item:u.item});let C=this.editor.getModel(),y=C.getAlternativeVersionId(),{item:I}=u,D=[],T=new Pe;if(!(p&1))this.editor.pushUndoStop();let K=this.getOverwriteInfo(I,Boolean(p&8));this._memoryService.memorize(C,this.editor.getPosition(),I);let q=I.isResolved,Q=-1,te=-1;if(Array.isArray(I.completion.additionalTextEdits)){this.model.cancel();let ne=$o.capture(this.editor);this.editor.executeEdits("suggestController.additionalTextEdits.sync",I.completion.additionalTextEdits.map((ae)=>{let ge=t.lift(ae.range);if(ge.startLineNumber===I.position.lineNumber&&ge.startColumn>I.position.column){let Ie=this.editor.getPosition().column-I.position.column,ke=Ie,Oe=t.spansMultipleLines(ge)?0:Ie;ge=new t(ge.startLineNumber,ge.startColumn+ke,ge.endLineNumber,ge.endColumn+Oe)}return Ft.replaceMove(ge,ae.text)})),ne.restoreRelativeVerticalPositionOfCursor(this.editor)}else if(!q){let ne=new Yt,ae,ge=C.onDidChangeContent((Ve)=>{if(Ve.isFlush){T.cancel(),ge.dispose();return}for(let Ue of Ve.changes){let Le=t.getEndPosition(Ue.range);if(!ae||o.isBefore(Le,ae))ae=Le}}),Ie=p;p|=2;let ke=!1,Oe=this.editor.onWillType(()=>{if(Oe.dispose(),ke=!0,!(Ie&2))this.editor.pushUndoStop()});D.push(I.resolve(T.token).then(()=>{if(!I.completion.additionalTextEdits||T.token.isCancellationRequested)return;if(ae&&I.completion.additionalTextEdits.some((Ue)=>o.isBefore(ae,t.getStartPosition(Ue.range))))return!1;if(ke)this.editor.pushUndoStop();let Ve=$o.capture(this.editor);if(this.editor.executeEdits("suggestController.additionalTextEdits.async",I.completion.additionalTextEdits.map((Ue)=>Ft.replaceMove(t.lift(Ue.range),Ue.text))),Ve.restoreRelativeVerticalPositionOfCursor(this.editor),ke||!(Ie&2))this.editor.pushUndoStop();return!0}).then((Ve)=>{this._logService.trace("[suggest] async resolving of edits DONE (ms, applied?)",ne.elapsed(),Ve),te=Ve===!0?1:Ve===!1?0:-2}).finally(()=>{ge.dispose(),Oe.dispose()}))}let{insertText:oe}=I.completion;if(!(I.completion.insertTextRules&4))oe=Co.escape(oe);if(this.model.cancel(),v.insert(oe,{overwriteBefore:K.overwriteBefore,overwriteAfter:K.overwriteAfter,undoStopBefore:!1,undoStopAfter:!1,adjustWhitespace:!(I.completion.insertTextRules&1),clipboardText:u.model.clipboardText,overtypingCapturer:this._overtypingCapturer.value,reason:Nn.suggest({providerId:gg.fromExtensionId(I.extensionId?.value)})}),!(p&2))this.editor.pushUndoStop();if(I.completion.command)if(I.completion.command.id===Xf.id)this.model.trigger({auto:!0,retrigger:!0});else{let ne=new Yt;D.push(this._commandService.executeCommand(I.completion.command.id,...I.completion.command.arguments?[...I.completion.command.arguments]:[]).catch((ae)=>{if(I.completion.extensionId)dt(ae);else J(ae)}).finally(()=>{Q=ne.elapsed()}))}if(p&4)this._alternatives.value.set(u,(ne)=>{T.cancel();while(C.canUndo()){if(y!==C.getAlternativeVersionId())C.undo();this._insertSuggestion(ne,3|(p&8?8:0));break}});this._alertCompletionItem(I),Promise.all(D).finally(()=>{this._reportSuggestionAcceptedTelemetry(I,C,q,Q,te,u.index,u.model.items),this.model.clear(),T.dispose()})}_reportSuggestionAcceptedTelemetry(u,p,v,C,y,I,D){if(Math.random()>0.0001)return;let T=new Map;for(let te=0;te<Math.min(30,D.length);te++){let oe=D[te].textLabel;if(T.has(oe))T.get(oe).push(te);else T.set(oe,[te])}let K=T.get(u.textLabel),Q=K&&K.length>1?K[0]:-1;this._telemetryService.publicLog2("suggest.acceptedSuggestion",{extensionId:u.extensionId?.value??"unknown",providerId:u.provider._debugDisplayName??"unknown",kind:u.completion.kind,basenameHash:qc(mi(p.uri)).toString(16),languageId:p.getLanguageId(),fileExtension:v$(p.uri),resolveInfo:!u.provider.resolveCompletionItem?-1:v?1:0,resolveDuration:u.resolveDuration,commandDuration:C,additionalEditsAsync:y,index:I,firstIndex:Q})}getOverwriteInfo(u,p){Re(this.editor.hasModel());let v=this.editor.getOption(134).insertMode==="replace";if(p)v=!v;let C=u.position.column-u.editStart.column,y=(v?u.editReplaceEnd.column:u.editInsertEnd.column)-u.position.column,I=this.editor.getPosition().column-u.position.column,D=this._lineSuffix.value?this._lineSuffix.value.delta(this.editor.getPosition()):0;return{overwriteBefore:C+I,overwriteAfter:y+D}}_alertCompletionItem(u){if($n(u.completion.additionalTextEdits)){let p=e(1534,"Accepting '{0}' made {1} additional edits",u.textLabel,u.completion.additionalTextEdits.length);Ln(p)}}triggerSuggest(u,p,v){if(this.editor.hasModel())this.model.trigger({auto:p??!1,completionOptions:{providerFilter:u,kindFilter:v?new Set:void 0}}),this.editor.revealPosition(this.editor.getPosition(),0),this.editor.focus()}triggerSuggestAndAcceptBest(u){if(!this.editor.hasModel())return;let p=this.editor.getPosition(),v=()=>{if(p.equals(this.editor.getPosition()))this._commandService.executeCommand(u.fallback)},C=(y)=>{if(y.completion.insertTextRules&4||y.completion.additionalTextEdits)return!0;let I=this.editor.getPosition(),D=y.editStart.column,T=I.column;if(T-D!==y.completion.insertText.length)return!0;return this.editor.getModel().getValueInRange({startLineNumber:I.lineNumber,startColumn:D,endLineNumber:I.lineNumber,endColumn:T})!==y.completion.insertText};S.once(this.model.onDidTrigger)((y)=>{let I=[];S.any(this.model.onDidTrigger,this.model.onDidCancel)(()=>{De(I),v()},void 0,I),this.model.onDidSuggest(({completionModel:D})=>{if(De(I),D.items.length===0){v();return}let T=this._memoryService.select(this.editor.getModel(),this.editor.getPosition(),D.items),K=D.items[T];if(!C(K)){v();return}this.editor.pushUndoStop(),this._insertSuggestion({index:T,item:K,model:D},7)},void 0,I)}),this.model.trigger({auto:!1,shy:!0}),this.editor.revealPosition(p,0),this.editor.focus()}acceptSelectedSuggestion(u,p){let v=this.widget.value.getFocusedItem(),C=0;if(u)C|=4;if(p)C|=8;this._insertSuggestion(v,C)}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(){if(this.widget.isInitialized)this.widget.value.forceRenderingAbove();else this._wantsForceRenderingAbove=!0}stopForceRenderingAbove(){if(this.widget.isInitialized)this.widget.value.stopForceRenderingAbove();else this._wantsForceRenderingAbove=!1}registerSelector(u){return this._selectors.register(u)}};Wn=FC=gN([tc(1,Ul),tc(2,Ae),tc(3,z),tc(4,L),tc(5,Be),tc(6,Tn)],Wn);class B1{constructor(m){this.prioritySelector=m,this._items=[]}register(m){if(this._items.indexOf(m)!==-1)throw Error("Value is already registered");return this._items.push(m),this._items.sort((u,p)=>this.prioritySelector(p)-this.prioritySelector(u)),{dispose:()=>{let u=this._items.indexOf(m);if(u>=0)this._items.splice(u,1)}}}get itemsOrderedByPriorityDesc(){return this._items}}class Xf extends W{static{this.id="editor.action.triggerSuggest"}constructor(){super({id:Xf.id,label:h(1543,"Trigger Suggest"),precondition:_.and(r.writable,r.hasCompletionItemProvider,rt.Visible.toNegated()),kbOpts:{kbExpr:r.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[521,2087]},weight:100}})}run(m,u,p){let v=Wn.get(u);if(!v)return;let C;if(p&&typeof p==="object"){if(p.auto===!0)C=!0}v.triggerSuggest(void 0,C,void 0)}}le(Wn.ID,Wn,2);R(Xf);var bo=190,eo=Vt.bindToContribution(Wn.get);U(new eo({id:"acceptSelectedSuggestion",precondition:_.and(rt.Visible,rt.HasFocusedSuggestion),handler(m){m.acceptSelectedSuggestion(!0,!1)},kbOpts:[{primary:2,kbExpr:_.and(rt.Visible,r.textInputFocus),weight:bo},{primary:3,kbExpr:_.and(rt.Visible,r.textInputFocus,rt.AcceptSuggestionsOnEnter,rt.MakesTextEdit),weight:bo}],menuOpts:[{menuId:Dr,title:e(1535,"Insert"),group:"left",order:1,when:_.and(rt.HasFocusedSuggestion,rt.HasInsertAndReplaceRange.toNegated())},{menuId:Dr,title:e(1536,"Insert"),group:"left",order:1,when:_.and(rt.HasFocusedSuggestion,rt.HasInsertAndReplaceRange,rt.InsertMode.isEqualTo("insert"))},{menuId:Dr,title:e(1537,"Replace"),group:"left",order:1,when:_.and(rt.HasFocusedSuggestion,rt.HasInsertAndReplaceRange,rt.InsertMode.isEqualTo("replace"))}]}));U(new eo({id:"acceptAlternativeSelectedSuggestion",precondition:_.and(rt.Visible,r.textInputFocus,rt.HasFocusedSuggestion),kbOpts:{weight:bo,kbExpr:r.textInputFocus,primary:1027,secondary:[1026]},handler(m){m.acceptSelectedSuggestion(!1,!0)},menuOpts:[{menuId:Dr,group:"left",order:2,when:_.and(rt.HasFocusedSuggestion,rt.HasInsertAndReplaceRange,rt.InsertMode.isEqualTo("insert")),title:e(1538,"Replace")},{menuId:Dr,group:"left",order:2,when:_.and(rt.HasFocusedSuggestion,rt.HasInsertAndReplaceRange,rt.InsertMode.isEqualTo("replace")),title:e(1539,"Insert")}]}));we.registerCommandAlias("acceptSelectedSuggestionOnEnter","acceptSelectedSuggestion");U(new eo({id:"hideSuggestWidget",precondition:rt.Visible,handler:(m)=>m.cancelSuggestWidget(),kbOpts:{weight:bo,kbExpr:r.textInputFocus,primary:9,secondary:[1033]}}));U(new eo({id:"selectNextSuggestion",precondition:_.and(rt.Visible,_.or(rt.MultipleSuggestions,rt.HasFocusedSuggestion.negate())),handler:(m)=>m.selectNextSuggestion(),kbOpts:{weight:bo,kbExpr:r.textInputFocus,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}},menuOpts:{menuId:Dr,group:"left",order:0,when:rt.HasFocusedSuggestion.toNegated(),title:e(1540,"Select")}}));U(new eo({id:"selectNextPageSuggestion",precondition:_.and(rt.Visible,_.or(rt.MultipleSuggestions,rt.HasFocusedSuggestion.negate())),handler:(m)=>m.selectNextPageSuggestion(),kbOpts:{weight:bo,kbExpr:r.textInputFocus,primary:12,secondary:[2060]}}));U(new eo({id:"selectLastSuggestion",precondition:_.and(rt.Visible,_.or(rt.MultipleSuggestions,rt.HasFocusedSuggestion.negate())),handler:(m)=>m.selectLastSuggestion()}));U(new eo({id:"selectPrevSuggestion",precondition:_.and(rt.Visible,_.or(rt.MultipleSuggestions,rt.HasFocusedSuggestion.negate())),handler:(m)=>m.selectPrevSuggestion(),kbOpts:{weight:bo,kbExpr:r.textInputFocus,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}}));U(new eo({id:"selectPrevPageSuggestion",precondition:_.and(rt.Visible,_.or(rt.MultipleSuggestions,rt.HasFocusedSuggestion.negate())),handler:(m)=>m.selectPrevPageSuggestion(),kbOpts:{weight:bo,kbExpr:r.textInputFocus,primary:11,secondary:[2059]}}));U(new eo({id:"selectFirstSuggestion",precondition:_.and(rt.Visible,_.or(rt.MultipleSuggestions,rt.HasFocusedSuggestion.negate())),handler:(m)=>m.selectFirstSuggestion()}));U(new eo({id:"focusSuggestion",precondition:_.and(rt.Visible,rt.HasFocusedSuggestion.negate()),handler:(m)=>m.focusSuggestion(),kbOpts:{weight:bo,kbExpr:r.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[2087]}}}));U(new eo({id:"focusAndAcceptSuggestion",precondition:_.and(rt.Visible,rt.HasFocusedSuggestion.negate()),handler:(m)=>{m.focusSuggestion(),m.acceptSelectedSuggestion(!0,!1)}}));U(new eo({id:"toggleSuggestionDetails",precondition:_.and(rt.Visible,rt.HasFocusedSuggestion),handler:(m)=>m.toggleSuggestionDetails(),kbOpts:{weight:bo,kbExpr:r.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[2087]}},menuOpts:[{menuId:Dr,group:"right",order:1,when:_.and(rt.DetailsVisible,rt.CanResolve),title:e(1541,"Show Less")},{menuId:Dr,group:"right",order:1,when:_.and(rt.DetailsVisible.toNegated(),rt.CanResolve),title:e(1542,"Show More")}]}));U(new eo({id:"toggleExplainMode",precondition:rt.Visible,handler:(m)=>m.toggleExplainMode(),kbOpts:{weight:100,primary:2138}}));U(new eo({id:"toggleSuggestionFocus",precondition:rt.Visible,handler:(m)=>m.toggleSuggestionFocus(),kbOpts:{weight:bo,kbExpr:r.textInputFocus,primary:2570,mac:{primary:778}}}));U(new eo({id:"insertBestCompletion",precondition:_.and(r.textInputFocus,_.equals("config.editor.tabCompletion","on"),Gu.AtEnd,rt.Visible.toNegated(),Fd.OtherSuggestions.toNegated(),_i.InSnippetMode.toNegated()),handler:(m,u)=>{m.triggerSuggestAndAcceptBest(Jt(u)?{fallback:"tab",...u}:{fallback:"tab"})},kbOpts:{weight:bo,primary:2}}));U(new eo({id:"insertNextSuggestion",precondition:_.and(r.textInputFocus,_.equals("config.editor.tabCompletion","on"),Fd.OtherSuggestions,rt.Visible.toNegated(),_i.InSnippetMode.toNegated()),handler:(m)=>m.acceptNextSuggestion(),kbOpts:{weight:bo,kbExpr:r.textInputFocus,primary:2}}));U(new eo({id:"insertPrevSuggestion",precondition:_.and(r.textInputFocus,_.equals("config.editor.tabCompletion","on"),Fd.OtherSuggestions,rt.Visible.toNegated(),_i.InSnippetMode.toNegated()),handler:(m)=>m.acceptPrevSuggestion(),kbOpts:{weight:bo,kbExpr:r.textInputFocus,primary:1026}}));U(new class extends Vt{constructor(){super({id:"suggestWidgetCopy",precondition:rt.DetailsFocused,kbOpts:{weight:bo+10,kbExpr:rt.DetailsFocused,primary:2081,win:{primary:2081,secondary:[2067]}}})}runEditorCommand(m,u){F(u.getDomNode()).document.execCommand("copy")}});R(class extends W{constructor(){super({id:"editor.action.resetSuggestSize",label:h(1544,"Reset Suggest Widget Size"),precondition:void 0})}run(m,u){Wn.get(u)?.resetWidgetSize()}});class V1 extends n{get selectedItem(){return this._currentSuggestItemInfo}constructor(m,u,p){super();this.editor=m,this.suggestControllerPreselector=u,this.onWillAccept=p,this.isSuggestWidgetVisible=!1,this.isShiftKeyPressed=!1,this._isActive=!1,this._currentSuggestItemInfo=void 0,this._onDidSelectedItemChange=this._register(new i),this.onDidSelectedItemChange=this._onDidSelectedItemChange.event,this._register(m.onKeyDown((C)=>{if(C.shiftKey&&!this.isShiftKeyPressed)this.isShiftKeyPressed=!0,this.update(this._isActive)})),this._register(m.onKeyUp((C)=>{if(C.shiftKey&&this.isShiftKeyPressed)this.isShiftKeyPressed=!1,this.update(this._isActive)}));let v=Wn.get(this.editor);if(v){this._register(v.registerSelector({priority:100,select:(I,D,T)=>{let K=this.editor.getModel();if(!K)return-1;let q=this.suggestControllerPreselector(),Q=q?Qo(q,K):void 0;if(!Q)return-1;let te=o.lift(D),oe=T.map((ae,ge)=>{let Ie=Xu.fromSuggestion(v,K,te,ae,this.isShiftKeyPressed),ke=Qo(Ie.getSingleTextEdit(),K),Oe=Ym(Q,ke);return{index:ge,valid:Oe,prefixLength:ke.text.length,suggestItem:ae}}).filter((ae)=>ae&&ae.valid&&ae.prefixLength>0),ne=_v(oe,kn((ae)=>ae.prefixLength,Si));return ne?ne.index:-1}}));let C=!1,y=()=>{if(C)return;C=!0,this._register(v.widget.value.onDidShow(()=>{this.isSuggestWidgetVisible=!0,this.update(!0)})),this._register(v.widget.value.onDidHide(()=>{this.isSuggestWidgetVisible=!1,this.update(!1)})),this._register(v.widget.value.onDidFocus(()=>{this.isSuggestWidgetVisible=!0,this.update(!0)}))};this._register(S.once(v.model.onDidTrigger)((I)=>{y()})),this._register(v.onWillInsertSuggestItem((I)=>{let D=this.editor.getPosition(),T=this.editor.getModel();if(!D||!T)return;let K=Xu.fromSuggestion(v,T,D,I.item,this.isShiftKeyPressed);this.onWillAccept(K)}))}this.update(this._isActive)}update(m){let u=this.getSuggestItemInfo();if(this._isActive!==m||!pN(this._currentSuggestItemInfo,u))this._isActive=m,this._currentSuggestItemInfo=u,this._onDidSelectedItemChange.fire()}getSuggestItemInfo(){let m=Wn.get(this.editor);if(!m||!this.isSuggestWidgetVisible)return;let u=m.widget.value.getFocusedItem(),p=this.editor.getPosition(),v=this.editor.getModel();if(!u||!p||!v)return;return Xu.fromSuggestion(m,v,p,u.item,this.isShiftKeyPressed)}stopForceRenderingAbove(){Wn.get(this.editor)?.stopForceRenderingAbove()}forceRenderingAbove(){Wn.get(this.editor)?.forceRenderingAbove()}}class Xu{static fromSuggestion(m,u,p,v,C){let{insertText:y}=v.completion,I=!1;if(v.completion.insertTextRules&4){let T=new Co().parse(y);if(T.children.length<100)zl.adjustWhitespace(u,p,!0,T);y=T.toString(),I=!0}let D=m.getOverwriteInfo(v,C);return new Xu(t.fromPositions(p.delta(0,-D.overwriteBefore),p.delta(0,Math.max(D.overwriteAfter,0))),y,v.completion.kind,I,v.container.incomplete??!1)}constructor(m,u,p,v,C){this.range=m,this.insertText=u,this.completionItemKind=p,this.isSnippetText=v,this.listIncomplete=C}equals(m){return this.range.equalsRange(m.range)&&this.insertText===m.insertText&&this.completionItemKind===m.completionItemKind&&this.isSnippetText===m.isSnippetText}toSelectedSuggestionInfo(){return new uv(this.range,this.insertText,this.completionItemKind,this.isSnippetText)}getSingleTextEdit(){return new ct(this.range,this.insertText)}}function pN(m,u){if(m===u)return!0;if(!m||!u)return!1;return m.equals(u)}class HC extends n{constructor(m,u,p){super();this._editorObs=m,this._handleSuggestAccepted=u,this._suggestControllerPreselector=p,this._suggestWidgetAdaptor=this._register(new V1(this._editorObs.editor,()=>(this._editorObs.forceUpdate(),this._suggestControllerPreselector()),(v)=>this._editorObs.forceUpdate((C)=>{this._handleSuggestAccepted(v)}))),this.selectedItem=Te(this,(v)=>this._suggestWidgetAdaptor.onDidSelectedItemChange(()=>{this._editorObs.forceUpdate((C)=>v(void 0))}),()=>this._suggestWidgetAdaptor.selectedItem)}stopForceRenderingAbove(){this._suggestWidgetAdaptor.stopForceRenderingAbove()}forceRenderingAbove(){this._suggestWidgetAdaptor.forceRenderingAbove()}}class WC{constructor(m,u){this.lineNumber=m,this.columnRange=u}}class Yf{constructor(m,u){if(this.startColumn=m,this.endColumnExclusive=u,m>u)throw new M(`startColumn ${m} cannot be after endColumnExclusive ${u}`)}toRange(m){return new t(m,this.startColumn,m,this.endColumnExclusive)}equals(m){return this.startColumn===m.startColumn&&this.endColumnExclusive===m.endColumnExclusive}toZeroBasedOffsetRange(){return new B(this.startColumn-1,this.endColumnExclusive-1)}}class Ca{static fromLineTokens(m){let u=[];for(let p=0;p<m.getCount();p++)u.push(new BC(m.getTokenText(p),m.getMetadata(p)));return Ca.create(u)}static create(m){return new Ca(m)}constructor(m){this._tokenInfo=m}toLineTokens(m){return yt.createFromTextAndMetadata(this.map((u,p)=>({text:p.text,metadata:p.metadata})),m)}map(m){let u=[],p=0;for(let v of this._tokenInfo){let C=new B(p,p+v.text.length);u.push(m(C,v)),p+=v.text.length}return u}slice(m){let u=[],p=0;for(let v of this._tokenInfo){let C=p,y=C+v.text.length;if(y>m.start){if(C>=m.endExclusive)break;let I=Math.max(0,m.start-C),D=Math.max(0,y-m.endExclusive);u.push(new BC(v.text.slice(I,v.text.length-D),v.metadata))}p+=v.text.length}return Ca.create(u)}append(m){let u=this._tokenInfo.concat(m._tokenInfo);return Ca.create(u)}}class BC{constructor(m,u){this.text=m,this.metadata=u}}var mN=function(m,u,p,v){var C=arguments.length,y=C<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,p):v,I;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")y=Reflect.decorate(m,u,p,v);else for(var D=m.length-1;D>=0;D--)if(I=m[D])y=(C<3?I(y):C>3?I(u,p,y):I(u,p))||y;return C>3&&y&&Object.defineProperty(u,p,y),y},fN=function(m,u){return function(p,v){u(p,v,m)}};class Qf{static from(m){if(!m)return;return new Qf(m.icon)}constructor(m=b.warning){this.icon=m}}var U1="ghost-text",ya=class m extends n{constructor(u,p,v,C){super();if(this._editor=u,this._data=p,this._languageService=C,this._isDisposed=P(this,!1),this._warningState=d((y)=>{let I=this._data.read(y),D=I?.warning;if(!I||!D)return;let T=I.ghostText;return{lineNumber:T.lineNumber,position:new o(T.lineNumber,T.parts[0].column),icon:D.icon}}),this._onDidClick=this._register(new i),this.onDidClick=this._onDidClick.event,this._nonWhitespaceCount=d(this,(y)=>{let I=this._data.read(y);if(!I)return;return I.ghostText.parts.map((K)=>K.lines.map((q)=>q.line).join("")).join("").replace(/\s/g,"").length}),this._extraClassNames=d(this,(y)=>{let I=this._extraClasses.slice();if(this._warningState.read(y))I.push("warning");let D=this._nonWhitespaceCount.read(y);if(this._highlightShortText&&D&&D<3)I.push("short-text");else if(this._useSyntaxHighlighting.read(y))I.push("syntax-highlighted");return I.map((K)=>` ${K}`).join("")}),this._state=d(this,(y)=>{if(this._isDisposed.read(y))return;let I=this._data.read(y);if(!I)return;let D=this._editorObs.model.read(y);if(!D)return;let T=I.ghostText,K=T instanceof Vu?T.columnRange:void 0,q=this._useSyntaxHighlighting.read(y),Q=this._extraClassNames.read(y),{inlineTexts:te,additionalLines:oe,hiddenRange:ne,additionalLinesOriginalSuffix:ae}=_N(T,D,U1+Q),ge=D.getLineContent(T.lineNumber),Ie=new ir(te.map((ot)=>Gn.insert(ot.column-1,ot.text))),ke=q?D.tokenization.tokenizeLinesAt(T.lineNumber,[Ie.apply(ge),...oe.map((ot)=>ot.content)]):void 0,Oe=Ie.getNewRanges(),Ve=te.map((ot,qe)=>({...ot,tokens:ke?.[0]?.getTokensInRange(Oe[qe])})),Ue=oe.map((ot,qe)=>{let nt=ke?.[qe+1]??yt.createEmpty(ot.content,this._languageService.languageIdCodec);if(qe===oe.length-1&&ae){let st=Ca.fromLineTokens(D.tokenization.getLineTokens(ae.lineNumber)).slice(ae.columnRange.toZeroBasedOffsetRange());nt=Ca.fromLineTokens(nt).append(st).toLineTokens(nt.languageIdCodec)}return new G1(nt,ot.decorations)}),Le=this._editor.getSelection()?.getStartPosition().column,He=Ve.filter((ot)=>ot.text!==""),Je=He.length!==0,tt=new Xl((Je?He[0].column:1)-Le,Je?0:oe.findIndex((ot)=>ot.content!=="")+1,Je?1:0,oe.length+(Je?1:0),0,hg(He.map((ot)=>ot.text.length))+hg(Ue.map((ot)=>ot.content.getTextLength())),He.length+(oe.length>0?1:0),He.length>1&&Ue.length===0?He.every((ot)=>ot.text===He[0].text):void 0);return{replacedRange:K,inlineTexts:Ve,additionalLines:Ue,hiddenRange:ne,lineNumber:T.lineNumber,additionalReservedLineCount:this._minReservedLineCount.read(y),targetTextModel:D,syntaxHighlightingEnabled:q,telemetryViewData:tt,handleInlineCompletionShown:I.handleInlineCompletionShown}}),this._decorations=d(this,(y)=>{let I=this._state.read(y);if(!I)return[];let D=[],T=this._extraClassNames.read(y);if(I.replacedRange)D.push({range:I.replacedRange.toRange(I.lineNumber),options:{inlineClassName:"inline-completion-text-to-replace"+T,description:"GhostTextReplacement"}});if(I.hiddenRange)D.push({range:I.hiddenRange.toRange(I.lineNumber),options:{inlineClassName:"ghost-text-hidden",description:"ghost-text-hidden"}});for(let K of I.inlineTexts){let q="";if(this._highlightShortText&&K.text.length<5)q+=" short-text";D.push({range:t.fromPositions(new o(I.lineNumber,K.column)),options:{description:"ghost-text-decoration",after:{content:K.text,tokens:K.tokens,inlineClassName:(K.preview?"ghost-text-decoration-preview":"ghost-text-decoration")+(this._isClickable?" clickable":"")+T+q+K.lineDecorations.map((Q)=>" "+Q.className).join(" "),cursorStops:Uo.Left,attachedData:new Jf(this)},showIfCollapsed:!0}})}return D}),this.isHovered=d(this,(y)=>{if(this._isDisposed.read(y))return!1;return this._isInlineTextHovered.read(y)||this._additionalLinesWidget.isHovered.read(y)}),this._extraClasses=v.extraClasses??[],this._isClickable=v.isClickable??!1,this._shouldKeepCursorStable=v.shouldKeepCursorStable??!1,this._minReservedLineCount=v.minReservedLineCount??Ce(0),this._useSyntaxHighlighting=v.useSyntaxHighlighting??Ce(!0),this._highlightShortText=v.highlightShortSuggestions??!1,this._editorObs=Xe(this._editor),this._additionalLinesWidget=this._register(new j1(this._editor,gn({owner:this,equalsFn:Gc(Eh())},(y)=>{let I=this._state.read(y);return I?new $1(I.lineNumber,I.additionalLines,I.additionalReservedLineCount):void 0}),this._shouldKeepCursorStable,this._isClickable)),this._isInlineTextHovered=this._editorObs.isTargetHovered((y)=>y.target.type===6&&y.target.detail.injectedText?.options.attachedData instanceof Jf&&y.target.detail.injectedText.options.attachedData.owner===this,this._store),this._register(E(()=>{this._isDisposed.set(!0,void 0)})),this._register(this._editorObs.setDecorations(this._decorations)),this._isClickable)this._register(this._additionalLinesWidget.onDidClick((y)=>this._onDidClick.fire(y))),this._register(this._editor.onMouseUp((y)=>{if(y.target.type!==6)return;let I=y.target.detail.injectedText?.options.attachedData;if(I instanceof Jf&&I.owner===this)this._onDidClick.fire(y.event)}));this._register(H((y)=>{let I=this._state.read(y);I?.handleInlineCompletionShown(I.telemetryViewData)})),this._register(Hn((y,I)=>{return}))}static getWarningWidgetContext(u){let p=u.ghostTextViewWarningWidgetData;if(p)return p;else if(u.parentElement)return this.getWarningWidgetContext(u.parentElement);return}ownsViewZone(u){return this._additionalLinesWidget.viewZoneId===u}};ya=mN([fN(3,pt)],ya);class Jf{constructor(m){this.owner=m}}function _N(m,u,p){let v=[],C=[];function y(Q,te){if(C.length>0){let oe=C[C.length-1];if(te)oe.decorations.push(new Ii(oe.content.length+1,oe.content.length+1+Q[0].line.length,te,0));oe.content+=Q[0].line,Q=Q.slice(1)}for(let oe of Q)C.push({content:oe.line,decorations:te?[new Ii(1,oe.line.length+1,te,0),...oe.lineDecorations]:[...oe.lineDecorations]})}let I=u.getLineContent(m.lineNumber),D=void 0,T=0;for(let Q of m.parts){let te=Q.lines;if(D===void 0)v.push({column:Q.column,text:te[0].line,preview:Q.preview,lineDecorations:te[0].lineDecorations}),te=te.slice(1);else y([{line:I.substring(T,Q.column-1),lineDecorations:[]}],void 0);if(te.length>0){if(y(te,p),D===void 0&&Q.column<=I.length)D=Q.column}T=Q.column-1}let K=void 0;if(D!==void 0)K=new WC(m.lineNumber,new Yf(T+1,I.length+1));let q=D!==void 0?new Yf(D,I.length+1):void 0;return{inlineTexts:v,additionalLines:C,hiddenRange:q,additionalLinesOriginalSuffix:K}}class $1{constructor(m,u,p){this.lineNumber=m,this.additionalLines=u,this.minReservedLineCount=p}equals(m){if(this.lineNumber!==m.lineNumber)return!1;if(this.minReservedLineCount!==m.minReservedLineCount)return!1;return Ke(this.additionalLines,m.additionalLines,Eh())}}class j1 extends n{get viewZoneId(){return this._viewZoneInfo?.viewZoneId}constructor(m,u,p,v){super();if(this._editor=m,this._lines=u,this._shouldKeepCursorStable=p,this._isClickable=v,this._viewZoneHeight=P("viewZoneHeight",void 0),this.editorOptionsChanged=li("editorOptionChanged",S.filter(this._editor.onDidChangeConfiguration,(C)=>C.hasChanged(40)||C.hasChanged(133)||C.hasChanged(113)||C.hasChanged(108)||C.hasChanged(60)||C.hasChanged(59)||C.hasChanged(75)||C.hasChanged(176))),this._onDidClick=this._register(new i),this.onDidClick=this._onDidClick.event,this._viewZoneListener=this._register(new ie),this.isHovered=Xe(this._editor).isTargetHovered((C)=>K1(C.target.element),this._store),this.hasBeenAccepted=!1,this._editor instanceof Rl&&this._shouldKeepCursorStable)this._register(this._editor.onBeforeExecuteEdit((C)=>this.hasBeenAccepted=C.source==="inlineCompletionAccept"));this._register(H((C)=>{let y=this._lines.read(C);if(this.editorOptionsChanged.read(C),y)this.hasBeenAccepted=!1,this.updateLines(y.lineNumber,y.additionalLines,y.minReservedLineCount);else this.clear()}))}dispose(){super.dispose(),this.clear()}clear(){this._viewZoneListener.clear(),this._editor.changeViewZones((m)=>{this.removeActiveViewZone(m)})}updateLines(m,u,p){let v=this._editor.getModel();if(!v)return;let{tabSize:C}=v.getOptions();Xe(this._editor).transaction((y)=>{this._editor.changeViewZones((I)=>{let D=new c;this.removeActiveViewZone(I);let T=Math.max(u.length,p);if(T>0){let K=document.createElement("div");if(bN(K,C,u,this._editor.getOptions(),this._isClickable),this._isClickable)D.add(l(K,"mousedown",(q)=>{q.preventDefault()})),D.add(l(K,"click",(q)=>{if(K1(q.target))this._onDidClick.fire(new Un(F(q),q))}));this.addViewZone(I,m,T,K)}this._viewZoneListener.value=D})})}addViewZone(m,u,p,v){let C=m.addZone({afterLineNumber:u,heightInLines:p,domNode:v,afterColumnAffinity:1,onComputedHeight:(y)=>{this._viewZoneHeight.set(y,void 0)}});this.keepCursorStable(u,p),this._viewZoneInfo={viewZoneId:C,heightInLines:p,lineNumber:u}}removeActiveViewZone(m){if(this._viewZoneInfo){if(m.removeZone(this._viewZoneInfo.viewZoneId),!this.hasBeenAccepted)this.keepCursorStable(this._viewZoneInfo.lineNumber,-this._viewZoneInfo.heightInLines);this._viewZoneInfo=void 0,this._viewZoneHeight.set(void 0,void 0)}}keepCursorStable(m,u){if(!this._shouldKeepCursorStable)return;let p=this._editor.getSelection()?.getStartPosition()?.lineNumber;if(p!==void 0&&m<p)this._editor.setScrollTop(this._editor.getScrollTop()+u*this._editor.getOption(75))}}function K1(m){return xe(m)&&m.classList.contains(U1)}class G1{constructor(m,u){this.content=m,this.decorations=u}equals(m){if(!this.content.equals(m.content))return!1;return Ii.equalsArr(this.decorations,m.decorations)}}function bN(m,u,p,v,C){let y=v.get(40),I=v.get(133),D="none",T=v.get(108),K=v.get(60),q=v.get(59),Q=v.get(75),te=v.get(176)==="twoCells",oe="suggest-preview-text";if(C)oe+=" clickable";let ne=new zo(1e4);ne.appendString(`<div class="${oe}">`);for(let Ie=0,ke=p.length;Ie<ke;Ie++){let Oe=p[Ie],Ve=Oe.content;ne.appendString('<div class="view-line'),ne.appendString('" style="top:'),ne.appendString(String(Ie*Q)),ne.appendString('px;width:1000000px;">');let Ue=Ve.getLineContent(),Le=Uc(Ue),He=Oa(Ue);lc(new qo(q.isMonospace&&!y,q.canUseHalfwidthRightwardsArrow,Ue,!1,Le,He,0,Ve,Oe.decorations.slice(),u,0,q.spaceWidth,q.middotWidth,q.wsmiddotWidth,I,"none",T,K!==oo.OFF,null,null,0,!1,te),ne),ne.appendString("</div>")}ne.appendString("</div>"),ln(m,q);let ae=ne.build(),ge=z1?z1.createHTML(ae):ae;m.innerHTML=ge}var z1=gr("editorGhostText",{createHTML:(m)=>m});class xa{constructor(m,u){this.width=m,this.height=u}toString(){return`(${this.width},${this.height})`}transpose(){return new xa(this.height,this.width)}toDimension(){return{width:this.width,height:this.height}}}class St{static fromPoints(m,u){return new St(m.x,m.y,u.x,u.y)}static fromPointSize(m,u){return new St(m.x,m.y,m.x+u.x,m.y+u.y)}static fromLeftTopRightBottom(m,u,p,v){return new St(m,u,p,v)}static fromLeftTopWidthHeight(m,u,p,v){return new St(m,u,m+p,u+v)}static fromRanges(m,u){return new St(m.start,u.start,m.endExclusive,u.endExclusive)}static hull(m){let{MAX_SAFE_INTEGER:u,MAX_SAFE_INTEGER:p,MIN_SAFE_INTEGER:v,MIN_SAFE_INTEGER:C}=Number;for(let y of m)u=Math.min(u,y.left),p=Math.min(p,y.top),v=Math.max(v,y.right),C=Math.max(C,y.bottom);return new St(u,p,v,C)}get width(){return this.right-this.left}get height(){return this.bottom-this.top}constructor(m,u,p,v){if(this.left=m,this.top=u,this.right=p,this.bottom=v,m>p)throw new M("Invalid arguments: Horizontally offset by "+(m-p));if(u>v)throw new M("Invalid arguments: Vertically offset by "+(u-v))}withMargin(m,u,p,v){let C,y,I,D;if(u===void 0&&p===void 0&&v===void 0)C=y=I=D=m;else if(p===void 0&&v===void 0)C=y=u,I=D=m;else C=v,y=u,I=m,D=p;return new St(this.left-C,this.top-I,this.right+y,this.bottom+D)}intersectVertical(m){let u=Math.max(this.top,m.start),p=Math.min(this.bottom,m.endExclusive);return new St(this.left,u,this.right,Math.max(u,p))}intersectHorizontal(m){let u=Math.max(this.left,m.start),p=Math.min(this.right,m.endExclusive);return new St(u,this.top,Math.max(u,p),this.bottom)}toString(){return`Rect{(${this.left},${this.top}), (${this.right},${this.bottom})}`}intersect(m){let u=Math.max(this.left,m.left),p=Math.min(this.right,m.right),v=Math.max(this.top,m.top),C=Math.min(this.bottom,m.bottom);if(u>p||v>C)return;return new St(u,v,p,C)}containsRect(m){return this.left<=m.left&&this.top<=m.top&&this.right>=m.right&&this.bottom>=m.bottom}containsPoint(m){return this.left<=m.x&&this.top<=m.y&&this.right>=m.x&&this.bottom>=m.y}moveToBeContainedIn(m){let u=this.width,p=this.height,v=this.left,C=this.top;if(v<m.left)v=m.left;else if(v+u>m.right)v=m.right-u;if(C<m.top)C=m.top;else if(C+p>m.bottom)C=m.bottom-p;return new St(v,C,v+u,C+p)}withWidth(m){return new St(this.left,this.top,this.left+m,this.bottom)}withHeight(m){return new St(this.left,this.top,this.right,this.top+m)}withTop(m){return new St(this.left,m,this.right,this.bottom)}withLeft(m){return new St(m,this.top,this.right,this.bottom)}translateX(m){return new St(this.left+m,this.top,this.right+m,this.bottom)}translateY(m){return new St(this.left,this.top+m,this.right,this.bottom+m)}getLeftBottom(){return new ei(this.left,this.bottom)}getRightBottom(){return new ei(this.right,this.bottom)}getRightTop(){return new ei(this.right,this.top)}toStyles(){return{position:"absolute",left:`${this.left}px`,top:`${this.top}px`,width:`${this.width}px`,height:`${this.height}px`}}withHorizontalRange(m){return new St(m.start,this.top,m.endExclusive,this.bottom)}getSize(){return new xa(this.width,this.height)}}class _c{constructor(m,u,p,v=null){this.startLineNumbers=m,this.endLineNumbers=u,this.lastLineRelativePosition=p,this.showEndForLine=v}equals(m){return!!m&&this.lastLineRelativePosition===m.lastLineRelativePosition&&this.showEndForLine===m.showEndForLine&&Ke(this.startLineNumbers,m.startLineNumbers)&&Ke(this.endLineNumbers,m.endLineNumbers)}static get Empty(){return new _c([],[],0)}}var q1=gr("stickyScrollViewLayer",{createHTML:(m)=>m}),VC="data-sticky-line-index",J1="data-sticky-is-line",vN="data-sticky-is-line-number",eD="data-sticky-is-folding-icon";class KC extends n{get height(){return this._height}constructor(m){super();this._foldingIconStore=this._register(new c),this._rootDomNode=document.createElement("div"),this._lineNumbersDomNode=document.createElement("div"),this._linesDomNodeScrollable=document.createElement("div"),this._linesDomNode=document.createElement("div"),this._renderedStickyLines=[],this._lineNumbers=[],this._lastLineRelativePosition=0,this._minContentWidthInPx=0,this._isOnGlyphMargin=!1,this._height=-1,this._onDidChangeStickyScrollHeight=this._register(new i),this.onDidChangeStickyScrollHeight=this._onDidChangeStickyScrollHeight.event,this._editor=m,this._lineNumbersDomNode.className="sticky-widget-line-numbers",this._lineNumbersDomNode.setAttribute("role","none"),this._linesDomNode.className="sticky-widget-lines",this._linesDomNode.setAttribute("role","list"),this._linesDomNodeScrollable.className="sticky-widget-lines-scrollable",this._linesDomNodeScrollable.appendChild(this._linesDomNode),this._rootDomNode.className="sticky-widget",this._rootDomNode.classList.toggle("peek",m instanceof Ji),this._rootDomNode.appendChild(this._lineNumbersDomNode),this._rootDomNode.appendChild(this._linesDomNodeScrollable),this._setHeight(0);let u=()=>{this._linesDomNode.style.left=this._editor.getOption(131).scrollWithEditor?`-${this._editor.getScrollLeft()}px`:"0px"};this._register(this._editor.onDidChangeConfiguration((p)=>{if(p.hasChanged(131))u()})),this._register(this._editor.onDidScrollChange((p)=>{if(p.scrollLeftChanged)u();if(p.scrollWidthChanged)this._updateWidgetWidth()})),this._register(this._editor.onDidChangeModel(()=>{u(),this._updateWidgetWidth()})),u(),this._register(this._editor.onDidLayoutChange((p)=>{this._updateWidgetWidth()})),this._updateWidgetWidth()}get lineNumbers(){return this._lineNumbers}get lineNumberCount(){return this._lineNumbers.length}getRenderedStickyLine(m){return this._renderedStickyLines.find((u)=>u.lineNumber===m)}getCurrentLines(){return this._lineNumbers}setState(m,u,p){let v=!this._state&&!m,C=this._state&&this._state.equals(m);if(p===void 0&&(v||C))return;let y=this._findRenderingData(m),I=this._lineNumbers;this._lineNumbers=y.lineNumbers,this._lastLineRelativePosition=y.lastLineRelativePosition;let D=this._findIndexToRebuildFrom(I,this._lineNumbers,p);this._renderRootNode(this._lineNumbers,this._lastLineRelativePosition,u,D),this._state=m}_findRenderingData(m){if(!m)return{lineNumbers:[],lastLineRelativePosition:0};let u=[...m.startLineNumbers];if(m.showEndForLine!==null)u[m.showEndForLine]=m.endLineNumbers[m.showEndForLine];let p=0;for(let v=0;v<u.length;v++){let C=new o(u[v],1),y=this._editor._getViewModel();if(y&&C.lineNumber<=y.getLineCount())p+=this._editor.getLineHeightForPosition(new o(u[v],1))}if(p===0)return{lineNumbers:[],lastLineRelativePosition:0};return{lineNumbers:u,lastLineRelativePosition:m.lastLineRelativePosition}}_findIndexToRebuildFrom(m,u,p){if(u.length===0)return 0;if(p!==void 0)return p;let v=u.findIndex((C)=>!m.includes(C));return v===-1?0:v}_updateWidgetWidth(){let m=this._editor.getLayoutInfo(),u=m.contentLeft;this._lineNumbersDomNode.style.width=`${u}px`,this._linesDomNodeScrollable.style.setProperty("--vscode-editorStickyScroll-scrollableWidth",`${this._editor.getScrollWidth()-m.verticalScrollbarWidth}px`),this._rootDomNode.style.width=`${m.width-m.verticalScrollbarWidth}px`}_useFoldingOpacityTransition(m){this._lineNumbersDomNode.style.setProperty("--vscode-editorStickyScroll-foldingOpacityTransition",`opacity ${m?0.5:0}s`)}_setFoldingIconsVisibility(m){for(let u of this._renderedStickyLines){let p=u.foldingIcon;if(!p)continue;p.setVisible(m?!0:p.isCollapsed)}}async _renderRootNode(m,u,p,v){let C=this._editor._getViewModel();if(!C){this._clearWidget();return}if(m.length===0){this._clearWidget();return}let y=[],I=m[m.length-1],D=0;for(let K=0;K<this._renderedStickyLines.length;K++)if(K<v){let q=this._renderedStickyLines[K];y.push(this._updatePosition(q,D,q.lineNumber===I)),D+=q.height}else{let q=this._renderedStickyLines[K];q.lineNumberDomNode.remove(),q.lineDomNode.remove()}let T=this._editor.getLayoutInfo();for(let K=v;K<m.length;K++){let q=m[K];if(q>C.getLineCount())continue;let Q=this._renderChildNode(C,K,q,D,I===q,p,T);D+=Q.height,this._linesDomNode.appendChild(Q.lineDomNode),this._lineNumbersDomNode.appendChild(Q.lineNumberDomNode),y.push(Q)}if(p)this._setFoldingHoverListeners(),this._useFoldingOpacityTransition(!this._isOnGlyphMargin);this._minContentWidthInPx=Math.max(...this._renderedStickyLines.map((K)=>K.scrollWidth))+T.verticalScrollbarWidth,this._renderedStickyLines=y,this._setHeight(D+u),this._editor.layoutOverlayWidget(this)}_clearWidget(){for(let m=0;m<this._renderedStickyLines.length;m++){let u=this._renderedStickyLines[m];u.lineNumberDomNode.remove(),u.lineDomNode.remove()}this._setHeight(0)}_setHeight(m){if(this._height===m)return;if(this._height=m,this._height===0)this._rootDomNode.style.display="none";else this._rootDomNode.style.display="block",this._lineNumbersDomNode.style.height=`${this._height}px`,this._linesDomNodeScrollable.style.height=`${this._height}px`,this._rootDomNode.style.height=`${this._height}px`;this._onDidChangeStickyScrollHeight.fire({height:this._height})}_setFoldingHoverListeners(){if(this._foldingIconStore.clear(),this._editor.getOption(126)!=="mouseover")return;this._foldingIconStore.clear(),this._foldingIconStore.add(l(this._lineNumbersDomNode,x.MOUSE_ENTER,()=>{this._isOnGlyphMargin=!0,this._setFoldingIconsVisibility(!0)})),this._foldingIconStore.add(l(this._lineNumbersDomNode,x.MOUSE_LEAVE,()=>{this._isOnGlyphMargin=!1,this._useFoldingOpacityTransition(!0),this._setFoldingIconsVisibility(!1)}))}_renderChildNode(m,u,p,v,C,y,I){let D=new tD(this._editor,m,I,y,this._isOnGlyphMargin,u,p);return this._updatePosition(D,v,C)}_updatePosition(m,u,p){let{lineDomNode:v,lineNumberDomNode:C}=m;if(p){v.style.zIndex="0",C.style.zIndex="0";let I=`${u+this._lastLineRelativePosition+(m.foldingIcon?.isCollapsed?1:0)}px`;v.style.top=I,C.style.top=I}else v.style.zIndex="1",C.style.zIndex="1",v.style.top=`${u}px`,C.style.top=`${u}px`;return m}getId(){return"editor.contrib.stickyScrollWidget"}getDomNode(){return this._rootDomNode}getPosition(){return{preference:2,stackOrdinal:10}}getMinContentWidthInPx(){return this._minContentWidthInPx}focusLineWithIndex(m){if(0<=m&&m<this._renderedStickyLines.length)this._renderedStickyLines[m].lineDomNode.focus()}getEditorPositionFromNode(m){if(!m||m.children.length>0)return null;let u=this._getRenderedStickyLineFromChildDomNode(m);if(!u)return null;let p=wu(u.characterMapping,m,0);return new o(u.lineNumber,p)}getLineNumberFromChildDomNode(m){return this._getRenderedStickyLineFromChildDomNode(m)?.lineNumber??null}_getRenderedStickyLineFromChildDomNode(m){let u=this.getLineIndexFromChildDomNode(m);if(u===null||u<0||u>=this._renderedStickyLines.length)return null;return this._renderedStickyLines[u]}getLineIndexFromChildDomNode(m){let u=this._getAttributeValue(m,VC);return u?parseInt(u,10):null}isInStickyLine(m){return this._getAttributeValue(m,J1)!==void 0}isInFoldingIconDomNode(m){return this._getAttributeValue(m,eD)!==void 0}_getAttributeValue(m,u){while(m&&m!==this._rootDomNode){let p=m.getAttribute(u);if(p!==null)return p;m=m.parentElement}return}}class tD{constructor(m,u,p,v,C,y,I){this.index=y,this.lineNumber=I;let D=u.coordinatesConverter.convertModelPositionToViewPosition(new o(I,1)).lineNumber,T=u.getViewLineRenderingData(D),K=m.getOption(76),q=m.getOption(117).verticalScrollbarSize,Q;try{Q=Ii.filter(T.inlineDecorations,D,T.minColumn,T.maxColumn)}catch(He){Q=[]}let te=m.getLineHeightForPosition(new o(I,1)),oe=u.getTextDirection(I),ne=m.getOption(59),ae=new qo(!0,!0,T.content,T.continuesWithWrappedLine,T.isBasicASCII,T.containsRTL,0,T.tokens,Q,T.tabSize,T.startVisibleColumn,ne.spaceWidth,1,1,500,"none",!0,!0,null,oe,q,!1,m.getOption(176)==="twoCells"),ge=new zo(2000),Ie=lc(ae,ge);this.characterMapping=Ie.characterMapping;let ke;if(q1)ke=q1.createHTML(ge.build());else ke=ge.build();let Oe=document.createElement("span");Oe.setAttribute(VC,String(y)),Oe.setAttribute(J1,""),Oe.setAttribute("role","listitem"),Oe.tabIndex=0,Oe.className="sticky-line-content",Oe.classList.add(`stickyLine${I}`),Oe.style.lineHeight=`${te}px`,Oe.innerHTML=ke;let Ve=document.createElement("span");Ve.setAttribute(VC,String(y)),Ve.setAttribute(vN,""),Ve.className="sticky-line-number",Ve.style.lineHeight=`${te}px`;let Ue=p.contentLeft;Ve.style.width=`${Ue}px`;let Le=document.createElement("span");if(K.renderType===1||K.renderType===3&&I%10===0)Le.innerText=I.toString();else if(K.renderType===2)Le.innerText=Math.abs(I-m.getPosition().lineNumber).toString();if(Le.className="sticky-line-number-inner",Le.style.width=`${p.lineNumbersWidth}px`,Le.style.paddingLeft=`${p.lineNumbersLeft}px`,Ve.appendChild(Le),this.foldingIcon=this._renderFoldingIconForLine(m,v,I,te,C),this.foldingIcon)Ve.appendChild(this.foldingIcon.domNode),this.foldingIcon.domNode.style.left=`${p.lineNumbersWidth+p.lineNumbersLeft}px`,this.foldingIcon.domNode.style.lineHeight=`${te}px`;m.applyFontInfo(Oe),m.applyFontInfo(Ve),Ve.style.lineHeight=`${te}px`,Oe.style.lineHeight=`${te}px`,Ve.style.height=`${te}px`,Oe.style.height=`${te}px`,this.scrollWidth=Oe.scrollWidth,this.lineDomNode=Oe,this.lineNumberDomNode=Ve,this.height=te}_renderFoldingIconForLine(m,u,p,v,C){let y=m.getOption(126);if(!u||y==="never")return;let I=u.regions,D=I.findRange(p),T=I.getStartLineNumber(D);if(p!==T)return;let q=I.isCollapsed(D),Q=new iD(q,T,I.getEndLineNumber(D),v);return Q.setVisible(C?!0:q||y==="always"),Q.domNode.setAttribute(eD,""),Q}}class iD{constructor(m,u,p,v){this.isCollapsed=m,this.foldingStartLine=u,this.foldingEndLine=p,this.dimension=v,this.domNode=document.createElement("div"),this.domNode.style.width="26px",this.domNode.style.height=`${v}px`,this.domNode.style.lineHeight=`${v}px`,this.domNode.className=G.asClassName(m?sh:rh)}setVisible(m){this.domNode.style.cursor=m?"pointer":"default",this.domNode.style.opacity=m?"1":"0"}}var SN=function(m,u,p,v){var C=arguments.length,y=C<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,p):v,I;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")y=Reflect.decorate(m,u,p,v);else for(var D=m.length-1;D>=0;D--)if(I=m[D])y=(C<3?I(y):C>3?I(u,p,y):I(u,p))||y;return C>3&&y&&Object.defineProperty(u,p,y),y},zC=function(m,u){return function(p,v){u(p,v,m)}};class Wd{remove(){this.parent?.children.delete(this.id)}static findId(m,u){let p;if(typeof m==="string")p=`${u.id}/${m}`;else if(p=`${u.id}/${m.name}`,u.children.get(p)!==void 0)p=`${u.id}/${m.name}_${m.range.startLineNumber}_${m.range.startColumn}`;let v=p;for(let C=0;u.children.get(v)!==void 0;C++)v=`${p}_${C}`;return v}static empty(m){return m.children.size===0}}class Yu extends Wd{constructor(m,u,p){super();this.id=m,this.parent=u,this.symbol=p,this.children=new Map}}class e_ extends Wd{constructor(m,u,p,v){super();this.id=m,this.parent=u,this.label=p,this.order=v,this.children=new Map}}class Qr extends Wd{static create(m,u,p){let v=new Pe(p),C=new Qr(u.uri),y=m.ordered(u),I=y.map((T,K)=>{let q=Wd.findId(`provider_${K}`,C),Q=new e_(q,C,T.displayName??"Unknown Outline Provider",K);return Promise.resolve(T.provideDocumentSymbols(u,v.token)).then((te)=>{for(let oe of te||[])Qr._makeOutlineElement(oe,Q);return Q},(te)=>(dt(te),Q)).then((te)=>{if(!Wd.empty(te))C._groups.set(q,te);else te.remove()})}),D=m.onDidChange(()=>{let T=m.ordered(u);if(!Ke(T,y))v.cancel()});return Promise.all(I).then(()=>{if(v.token.isCancellationRequested&&!p.isCancellationRequested)return Qr.create(m,u,p);else return C._compact()}).finally(()=>{v.dispose(),D.dispose(),v.dispose()})}static _makeOutlineElement(m,u){let p=Wd.findId(m,u),v=new Yu(p,u,m);if(m.children)for(let C of m.children)Qr._makeOutlineElement(C,v);u.children.set(v.id,v)}constructor(m){super();this.uri=m,this.id="root",this.parent=void 0,this._groups=new Map,this.children=new Map,this.id="root",this.parent=void 0}_compact(){let m=0;for(let[u,p]of this._groups)if(p.children.size===0)this._groups.delete(u);else m+=1;if(m!==1)this.children=this._groups;else{let u=Se.first(this._groups.values());for(let[,p]of u.children)p.parent=this,this.children.set(p.id,p)}return this}getTopLevelSymbols(){let m=[];for(let u of this.children.values())if(u instanceof Yu)m.push(u.symbol);else m.push(...Se.map(u.children.values(),(p)=>p.symbol));return m.sort((u,p)=>t.compareRangesUsingStarts(u.range,p.range))}asListOfDocumentSymbols(){let m=this.getTopLevelSymbols(),u=[];return Qr._flattenDocumentSymbols(u,m,""),u.sort((p,v)=>o.compare(t.getStartPosition(p.range),t.getStartPosition(v.range))||o.compare(t.getEndPosition(v.range),t.getEndPosition(p.range)))}static _flattenDocumentSymbols(m,u,p){for(let v of u)if(m.push({kind:v.kind,tags:v.tags,name:v.name,detail:v.detail,containerName:v.containerName||p,range:v.range,selectionRange:v.selectionRange,children:void 0}),v.children)Qr._flattenDocumentSymbols(m,v.children,v.name)}}var su=Z("IOutlineModelService"),UC=class m{constructor(u,p,v){this._languageFeaturesService=u,this._disposables=new c,this._cache=new Li(15,0.7),this._debounceInformation=p.for(u.documentSymbolProvider,"DocumentSymbols",{min:350}),this._disposables.add(v.onModelRemoved((C)=>{this._cache.delete(C.id)}))}dispose(){this._disposables.dispose()}async getOrCreate(u,p){let v=this._languageFeaturesService.documentSymbolProvider,C=v.ordered(u),y=this._cache.get(u.id);if(!y||y.versionId!==u.getVersionId()||!Ke(y.provider,C)){let D=new Pe;y={versionId:u.getVersionId(),provider:C,promiseCnt:0,source:D,promise:Qr.create(v,u,D.token),model:void 0},this._cache.set(u.id,y);let T=Date.now();y.promise.then((K)=>{y.model=K,this._debounceInformation.update(u,Date.now()-T)}).catch((K)=>{this._cache.delete(u.id)})}if(y.model)return y.model;y.promiseCnt+=1;let I=p.onCancellationRequested(()=>{if(--y.promiseCnt===0)y.source.cancel(),this._cache.delete(u.id)});try{return await y.promise}finally{I.dispose()}}};UC=SN([zC(0,j),zC(1,Wi),zC(2,bt)],UC);fe(su,UC,1);class La{constructor(m,u){this.startLineNumber=m,this.endLineNumber=u}}class vc{constructor(m,u,p){this.range=m,this.children=u,this.parent=p}}class t_{constructor(m,u,p,v){this.uri=m,this.version=u,this.element=p,this.outlineProviderId=v}}var o_=function(m,u,p,v){var C=arguments.length,y=C<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,p):v,I;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")y=Reflect.decorate(m,u,p,v);else for(var D=m.length-1;D>=0;D--)if(I=m[D])y=(C<3?I(y):C>3?I(u,p,y):I(u,p))||y;return C>3&&y&&Object.defineProperty(u,p,y),y},Qu=function(m,u){return function(p,v){u(p,v,m)}},Ju;(function(m){m.OUTLINE_MODEL="outlineModel",m.FOLDING_PROVIDER_MODEL="foldingProviderModel",m.INDENTATION_MODEL="indentationModel"})(Ju||(Ju={}));var Ea;(function(m){m[m.VALID=0]="VALID",m[m.INVALID=1]="INVALID",m[m.CANCELED=2]="CANCELED"})(Ea||(Ea={}));var i_=class m extends n{constructor(u,p,v,C){super();switch(this._editor=u,this._modelProviders=[],this._modelPromise=null,this._updateScheduler=this._register(new ki(300)),this._updateOperation=this._register(new c),this._editor.getOption(131).defaultModel){case Ju.OUTLINE_MODEL:this._modelProviders.push(new $C(this._editor,C));case Ju.FOLDING_PROVIDER_MODEL:this._modelProviders.push(new GC(this._editor,p,C));case Ju.INDENTATION_MODEL:this._modelProviders.push(new jC(this._editor,v));break}}dispose(){this._modelProviders.forEach((u)=>u.dispose()),this._updateOperation.clear(),this._cancelModelPromise(),super.dispose()}_cancelModelPromise(){if(this._modelPromise)this._modelPromise.cancel(),this._modelPromise=null}async update(u){return this._updateOperation.clear(),this._updateOperation.add({dispose:()=>{this._cancelModelPromise(),this._updateScheduler.cancel()}}),this._cancelModelPromise(),await this._updateScheduler.trigger(async()=>{for(let p of this._modelProviders){let{statusPromise:v,modelPromise:C}=p.computeStickyModel(u);this._modelPromise=C;let y=await v;if(this._modelPromise!==C)return null;switch(y){case Ea.CANCELED:return this._updateOperation.clear(),null;case Ea.VALID:return p.stickyModel}}return null}).catch((p)=>(J(p),null))}};i_=o_([Qu(2,L),Qu(3,j)],i_);class qC extends n{constructor(m){super();this._editor=m,this._stickyModel=null}get stickyModel(){return this._stickyModel}_invalid(){return this._stickyModel=null,Ea.INVALID}computeStickyModel(m){if(m.isCancellationRequested||!this.isProviderValid())return{statusPromise:this._invalid(),modelPromise:null};let u=jt((p)=>this.createModelFromProvider(p));return{statusPromise:u.then((p)=>{if(!this.isModelValid(p))return this._invalid();if(m.isCancellationRequested)return Ea.CANCELED;return this._stickyModel=this.createStickyModel(m,p),Ea.VALID}).then(void 0,(p)=>(J(p),Ea.CANCELED)),modelPromise:u}}isModelValid(m){return!0}isProviderValid(){return!0}}var $C=class m extends qC{constructor(u,p){super(u);this._languageFeaturesService=p}createModelFromProvider(u){return Qr.create(this._languageFeaturesService.documentSymbolProvider,this._editor.getModel(),u)}createStickyModel(u,p){let{stickyOutlineElement:v,providerID:C}=this._stickyModelFromOutlineModel(p,this._stickyModel?.outlineProviderId),y=this._editor.getModel();return new t_(y.uri,y.getVersionId(),v,C)}isModelValid(u){return u&&u.children.size>0}_stickyModelFromOutlineModel(u,p){let v;if(Se.first(u.children.values())instanceof e_){let D=Se.find(u.children.values(),(T)=>T.id===p);if(D)v=D.children;else{let T="",K=-1,q=void 0;for(let[Q,te]of u.children.entries()){let oe=this._findSumOfRangesOfGroup(te);if(oe>K)q=te,K=oe,T=te.id}p=T,v=q.children}}else v=u.children;let C=[],y=Array.from(v.values()).sort((D,T)=>{let K=new La(D.symbol.range.startLineNumber,D.symbol.range.endLineNumber),q=new La(T.symbol.range.startLineNumber,T.symbol.range.endLineNumber);return this._comparator(K,q)});for(let D of y)C.push(this._stickyModelFromOutlineElement(D,D.symbol.selectionRange.startLineNumber));return{stickyOutlineElement:new vc(void 0,C,void 0),providerID:p}}_stickyModelFromOutlineElement(u,p){let v=[];for(let y of u.children.values())if(y.symbol.selectionRange.startLineNumber!==y.symbol.range.endLineNumber)if(y.symbol.selectionRange.startLineNumber!==p)v.push(this._stickyModelFromOutlineElement(y,y.symbol.selectionRange.startLineNumber));else for(let I of y.children.values())v.push(this._stickyModelFromOutlineElement(I,y.symbol.selectionRange.startLineNumber));v.sort((y,I)=>this._comparator(y.range,I.range));let C=new La(u.symbol.selectionRange.startLineNumber,u.symbol.range.endLineNumber);return new vc(C,v,void 0)}_comparator(u,p){if(u.startLineNumber!==p.startLineNumber)return u.startLineNumber-p.startLineNumber;else return p.endLineNumber-u.endLineNumber}_findSumOfRangesOfGroup(u){let p=0;for(let v of u.children.values())p+=this._findSumOfRangesOfGroup(v);if(u instanceof Yu)return p+u.symbol.range.endLineNumber-u.symbol.selectionRange.startLineNumber;else return p}};$C=o_([Qu(1,j)],$C);class ZC extends qC{constructor(m){super(m);this._foldingLimitReporter=this._register(new Wp(m))}createStickyModel(m,u){let p=this._fromFoldingRegions(u),v=this._editor.getModel();return new t_(v.uri,v.getVersionId(),p,void 0)}isModelValid(m){return m!==null}_fromFoldingRegions(m){let u=m.length,p=[],v=new vc(void 0,[],void 0);for(let C=0;C<u;C++){let y=m.getParentIndex(C),I;if(y!==-1)I=p[y];else I=v;let D=new vc(new La(m.getStartLineNumber(C),m.getEndLineNumber(C)+1),[],I);I.children.push(D),p.push(D)}return v}}var jC=class m extends ZC{constructor(u,p){super(u);this._languageConfigurationService=p,this.provider=this._register(new nl(u.getModel(),this._languageConfigurationService,this._foldingLimitReporter))}async createModelFromProvider(u){return this.provider.compute(u)}};jC=o_([Qu(1,et)],jC);var GC=class m extends ZC{constructor(u,p,v){super(u);this._languageFeaturesService=v,this.provider=this._register(new ie),this._register(this._languageFeaturesService.foldingRangeProvider.onDidChange(()=>{this._updateProvider(u,p)})),this._updateProvider(u,p)}_updateProvider(u,p){let v=$r.getFoldingRangeProviders(this._languageFeaturesService,u.getModel());if(v.length===0)return;this.provider.value=new sl(u.getModel(),v,p,this._foldingLimitReporter,void 0)}isProviderValid(){return this.provider!==void 0}async createModelFromProvider(u){return this.provider.value?.compute(u)??null}};GC=o_([Qu(2,j)],GC);var wN=function(m,u,p,v){var C=arguments.length,y=C<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,p):v,I;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")y=Reflect.decorate(m,u,p,v);else for(var D=m.length-1;D>=0;D--)if(I=m[D])y=(C<3?I(y):C>3?I(u,p,y):I(u,p))||y;return C>3&&y&&Object.defineProperty(u,p,y),y},oD=function(m,u){return function(p,v){u(p,v,m)}};class nD{constructor(m,u,p,v){this.startLineNumber=m,this.endLineNumber=u,this.top=p,this.height=v}}var n_=class m extends n{constructor(u,p,v){super();this._languageFeaturesService=p,this._languageConfigurationService=v,this._onDidChangeStickyScroll=this._register(new i),this.onDidChangeStickyScroll=this._onDidChangeStickyScroll.event,this._model=null,this._cts=null,this._stickyModelProvider=null,this._editor=u,this._sessionStore=this._register(new c),this._updateSoon=this._register(new be(()=>this.update(),50)),this._register(this._editor.onDidChangeConfiguration((C)=>{if(C.hasChanged(131))this.readConfiguration()})),this.readConfiguration()}readConfiguration(){if(this._sessionStore.clear(),!this._editor.getOption(131).enabled)return;this._sessionStore.add(this._editor.onDidChangeModel(()=>{this._model=null,this.updateStickyModelProvider(),this._onDidChangeStickyScroll.fire(),this.update()})),this._sessionStore.add(this._editor.onDidChangeHiddenAreas(()=>this.update())),this._sessionStore.add(this._editor.onDidChangeModelContent(()=>this._updateSoon.schedule())),this._sessionStore.add(this._languageFeaturesService.documentSymbolProvider.onDidChange(()=>this.update())),this._sessionStore.add(E(()=>{this._stickyModelProvider?.dispose(),this._stickyModelProvider=null})),this.updateStickyModelProvider(),this.update()}getVersionId(){return this._model?.version}updateStickyModelProvider(){if(this._stickyModelProvider?.dispose(),this._stickyModelProvider=null,this._editor.hasModel())this._stickyModelProvider=new i_(this._editor,()=>this._updateSoon.schedule(),this._languageConfigurationService,this._languageFeaturesService)}async update(){this._cts?.dispose(!0),this._cts=new Pe,await this.updateStickyModel(this._cts.token),this._onDidChangeStickyScroll.fire()}async updateStickyModel(u){if(!this._editor.hasModel()||!this._stickyModelProvider||this._editor.getModel().isTooLargeForTokenization()){this._model=null;return}let p=await this._stickyModelProvider.update(u);if(!u.isCancellationRequested)this._model=p}getCandidateStickyLinesIntersecting(u){if(!this._model?.element)return[];let p=[];return this.getCandidateStickyLinesIntersectingFromStickyModel(u,this._model.element,p,0,0,-1),this.filterHiddenRanges(p)}getCandidateStickyLinesIntersectingFromStickyModel(u,p,v,C,y,I){let D=this._editor.getModel();if(!D)return;if(p.children.length===0)return;let T=I,K=[];for(let te=0;te<p.children.length;te++){let oe=p.children[te];if(oe.range)K.push(oe.range.startLineNumber)}let q=this.updateIndex(rf(K,u.startLineNumber,(te,oe)=>te-oe)),Q=this.updateIndex(rf(K,u.endLineNumber,(te,oe)=>te-oe));for(let te=q;te<=Q;te++){let oe=p.children[te];if(!oe||!oe.range)continue;let{startLineNumber:ne,endLineNumber:ae}=oe.range;if(ae>ne+1&&u.startLineNumber<=ae+1&&ne-1<=u.endLineNumber&&ne!==T&&D.isValidRange(new t(ne,1,ae,1))){T=ne;let ge=this._editor.getLineHeightForPosition(new o(ne,1));v.push(new nD(ne,ae-1,y,ge)),this.getCandidateStickyLinesIntersectingFromStickyModel(u,oe,v,C+1,y+ge,ne)}}}filterHiddenRanges(u){let p=this._editor._getViewModel()?.getHiddenAreas();if(!p)return u;return u.filter((v)=>!p.some((C)=>v.startLineNumber>=C.startLineNumber&&v.endLineNumber<=C.endLineNumber+1))}updateIndex(u){if(u===-1)return 0;else if(u<0)return-u-2;return u}};n_=wN([oD(1,j),oD(2,et)],n_);var CN=function(m,u,p,v){var C=arguments.length,y=C<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,p):v,I;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")y=Reflect.decorate(m,u,p,v);else for(var D=m.length-1;D>=0;D--)if(I=m[D])y=(C<3?I(y):C>3?I(u,p,y):I(u,p))||y;return C>3&&y&&Object.defineProperty(u,p,y),y},Sc=function(m,u){return function(p,v){u(p,v,m)}},XC,ns=class m extends n{static{XC=this}static{this.ID="store.contrib.stickyScrollController"}constructor(u,p,v,C,y,I,D){super();this._editor=u,this._contextMenuService=p,this._languageFeaturesService=v,this._instaService=C,this._contextKeyService=D,this._sessionStore=new c,this._maxStickyLines=Number.MAX_SAFE_INTEGER,this._candidateDefinitionsLength=-1,this._focusedStickyElementIndex=-1,this._enabled=!1,this._focused=!1,this._positionRevealed=!1,this._onMouseDown=!1,this._endLineNumbers=[],this._mouseTarget=null,this._onDidChangeStickyScrollHeight=this._register(new i),this.onDidChangeStickyScrollHeight=this._onDidChangeStickyScrollHeight.event,this._stickyScrollWidget=new KC(this._editor),this._stickyLineCandidateProvider=new n_(this._editor,v,y),this._register(this._stickyScrollWidget),this._register(this._stickyLineCandidateProvider),this._widgetState=_c.Empty;let T=this._stickyScrollWidget.getDomNode();this._register(this._editor.onDidChangeLineHeight((q)=>{q.changes.forEach((Q)=>{let te=Q.lineNumber;if(this._widgetState.startLineNumbers.includes(te))this._renderStickyScroll(te)})})),this._register(this._editor.onDidChangeFont((q)=>{q.changes.forEach((Q)=>{let te=Q.lineNumber;if(this._widgetState.startLineNumbers.includes(te))this._renderStickyScroll(te)})})),this._register(this._editor.onDidChangeConfiguration((q)=>{this._readConfigurationChange(q)})),this._register(l(T,x.CONTEXT_MENU,async(q)=>{this._onContextMenu(F(T),q)})),this._stickyScrollFocusedContextKey=r.stickyScrollFocused.bindTo(this._contextKeyService),this._stickyScrollVisibleContextKey=r.stickyScrollVisible.bindTo(this._contextKeyService);let K=this._register(Xn(T));this._register(K.onDidBlur((q)=>{if(this._positionRevealed===!1&&T.clientHeight===0)this._focusedStickyElementIndex=-1,this.focus();else this._disposeFocusStickyScrollStore()})),this._register(K.onDidFocus((q)=>{this.focus()})),this._registerMouseListeners(),this._register(l(T,x.MOUSE_DOWN,(q)=>{this._onMouseDown=!0})),this._register(this._stickyScrollWidget.onDidChangeStickyScrollHeight((q)=>{this._onDidChangeStickyScrollHeight.fire(q)})),this._onDidResize(),this._readConfiguration()}get stickyScrollWidgetHeight(){return this._stickyScrollWidget.height}static get(u){return u.getContribution(XC.ID)}_disposeFocusStickyScrollStore(){this._stickyScrollFocusedContextKey.set(!1),this._focusDisposableStore?.dispose(),this._focused=!1,this._positionRevealed=!1,this._onMouseDown=!1}isFocused(){return this._focused}focus(){if(this._onMouseDown){this._onMouseDown=!1,this._editor.focus();return}if(this._stickyScrollFocusedContextKey.get()===!0)return;this._focused=!0,this._focusDisposableStore=new c,this._stickyScrollFocusedContextKey.set(!0),this._focusedStickyElementIndex=this._stickyScrollWidget.lineNumbers.length-1,this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex)}focusNext(){if(this._focusedStickyElementIndex<this._stickyScrollWidget.lineNumberCount-1)this._focusNav(!0)}focusPrevious(){if(this._focusedStickyElementIndex>0)this._focusNav(!1)}selectEditor(){this._editor.focus()}_focusNav(u){this._focusedStickyElementIndex=u?this._focusedStickyElementIndex+1:this._focusedStickyElementIndex-1,this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex)}goToFocused(){let u=this._stickyScrollWidget.lineNumbers;this._disposeFocusStickyScrollStore(),this._revealPosition({lineNumber:u[this._focusedStickyElementIndex],column:1})}_revealPosition(u){this._reveaInEditor(u,()=>this._editor.revealPosition(u))}_revealLineInCenterIfOutsideViewport(u){this._reveaInEditor(u,()=>this._editor.revealLineInCenterIfOutsideViewport(u.lineNumber,0))}_reveaInEditor(u,p){if(this._focused)this._disposeFocusStickyScrollStore();this._positionRevealed=!0,p(),this._editor.setSelection(t.fromPositions(u)),this._editor.focus()}_registerMouseListeners(){let u=this._register(new c),p=this._register(new Ss(this._editor,{extractLineNumberFromMouseEvent:(y)=>{let I=this._stickyScrollWidget.getEditorPositionFromNode(y.target.element);return I?I.lineNumber:0}})),v=(y)=>{if(!this._editor.hasModel())return null;if(y.target.type!==12||y.target.detail!==this._stickyScrollWidget.getId())return null;let I=y.target.element;if(!I||I.innerText!==I.innerHTML)return null;let D=this._stickyScrollWidget.getEditorPositionFromNode(I);if(!D)return null;return{range:new t(D.lineNumber,D.column,D.lineNumber,D.column+I.innerText.length),textElement:I}},C=this._stickyScrollWidget.getDomNode();this._register(mt(C,x.CLICK,(y)=>{if(y.ctrlKey||y.altKey||y.metaKey)return;if(!y.leftButton)return;if(y.shiftKey){let K=this._stickyScrollWidget.getLineIndexFromChildDomNode(y.target);if(K===null)return;let q=new o(this._endLineNumbers[K],1);this._revealLineInCenterIfOutsideViewport(q);return}if(this._stickyScrollWidget.isInFoldingIconDomNode(y.target)){let K=this._stickyScrollWidget.getLineNumberFromChildDomNode(y.target);this._toggleFoldingRegionForLine(K);return}if(!this._stickyScrollWidget.isInStickyLine(y.target))return;let T=this._stickyScrollWidget.getEditorPositionFromNode(y.target);if(!T){let K=this._stickyScrollWidget.getLineNumberFromChildDomNode(y.target);if(K===null)return;T=new o(K,1)}this._revealPosition(T)})),this._register(l(Fe,x.MOUSE_MOVE,(y)=>{this._mouseTarget=y.target,this._onMouseMoveOrKeyDown(y)})),this._register(l(Fe,x.KEY_DOWN,(y)=>{this._onMouseMoveOrKeyDown(y)})),this._register(l(Fe,x.KEY_UP,()=>{if(this._showEndForLine!==void 0)this._showEndForLine=void 0,this._renderStickyScroll()})),this._register(p.onMouseMoveOrRelevantKeyDown(([y,I])=>{let D=v(y);if(!D||!y.hasTriggerModifier||!this._editor.hasModel()){u.clear();return}let{range:T,textElement:K}=D;if(!T.equalsRange(this._stickyRangeProjectedOnEditor))this._stickyRangeProjectedOnEditor=T,u.clear();else if(K.style.textDecoration==="underline")return;let q=new Pe;u.add(E(()=>q.dispose(!0)));let Q;aa(this._languageFeaturesService.definitionProvider,this._editor.getModel(),new o(T.startLineNumber,T.startColumn+1),!1,q.token).then((te)=>{if(q.token.isCancellationRequested)return;if(te.length!==0){this._candidateDefinitionsLength=te.length;let oe=K;if(Q!==oe)u.clear(),Q=oe,Q.style.textDecoration="underline",u.add(E(()=>{Q.style.textDecoration="none"}));else if(!Q)Q=oe,Q.style.textDecoration="underline",u.add(E(()=>{Q.style.textDecoration="none"}))}else u.clear()})})),this._register(p.onCancel(()=>{u.clear()})),this._register(p.onExecute(async(y)=>{if(y.target.type!==12||y.target.detail!==this._stickyScrollWidget.getId())return;let I=this._stickyScrollWidget.getEditorPositionFromNode(y.target.element);if(!I)return;if(!this._editor.hasModel()||!this._stickyRangeProjectedOnEditor)return;if(this._candidateDefinitionsLength>1){if(this._focused)this._disposeFocusStickyScrollStore();this._revealPosition({lineNumber:I.lineNumber,column:1})}this._instaService.invokeFunction(Lm,y,this._editor,{uri:this._editor.getModel().uri,range:this._stickyRangeProjectedOnEditor})}))}_onContextMenu(u,p){let v=new Un(u,p);this._contextMenuService.showContextMenu({menuId:a.StickyScrollContext,getAnchor:()=>v,menuActionOptions:{renderShortTitle:!0}})}_onMouseMoveOrKeyDown(u){if(!u.shiftKey)return;if(!this._mouseTarget||!xe(this._mouseTarget))return;let p=this._stickyScrollWidget.getLineIndexFromChildDomNode(this._mouseTarget);if(p===null||this._showEndForLine===p)return;this._showEndForLine=p,this._renderStickyScroll()}_toggleFoldingRegionForLine(u){if(!this._foldingModel||u===null)return;let p=this._stickyScrollWidget.getRenderedStickyLine(u),v=p?.foldingIcon;if(!v)return;nh(this._foldingModel,1,[u]),v.isCollapsed=!v.isCollapsed;let C=(v.isCollapsed?this._editor.getTopForLineNumber(v.foldingEndLine):this._editor.getTopForLineNumber(v.foldingStartLine))-this._editor.getOption(75)*p.index+1;this._editor.setScrollTop(C),this._renderStickyScroll(u)}_readConfiguration(){let u=this._editor.getOption(131);if(u.enabled===!1){this._editor.removeOverlayWidget(this._stickyScrollWidget),this._resetState(),this._sessionStore.clear(),this._enabled=!1;return}else if(u.enabled&&!this._enabled)this._editor.addOverlayWidget(this._stickyScrollWidget),this._sessionStore.add(this._editor.onDidScrollChange((v)=>{if(v.scrollTopChanged)this._showEndForLine=void 0,this._renderStickyScroll()})),this._sessionStore.add(this._editor.onDidLayoutChange(()=>this._onDidResize())),this._sessionStore.add(this._editor.onDidChangeModelTokens((v)=>this._onTokensChange(v))),this._sessionStore.add(this._stickyLineCandidateProvider.onDidChangeStickyScroll(()=>{this._showEndForLine=void 0,this._renderStickyScroll()})),this._enabled=!0;if(this._editor.getOption(76).renderType===2){if(!this._cursorPositionListener)this._cursorPositionListener=this._editor.onDidChangeCursorPosition((v)=>{if(this._positionLineNumber===v.position.lineNumber)return;this._positionLineNumber=v.position.lineNumber,this._showEndForLine=void 0,this._renderStickyScroll(0)}),this._sessionStore.add(this._cursorPositionListener)}else if(this._cursorPositionListener)this._sessionStore.delete(this._cursorPositionListener),this._cursorPositionListener.dispose(),this._cursorPositionListener=void 0}_readConfigurationChange(u){if(u.hasChanged(131)||u.hasChanged(81)||u.hasChanged(75)||u.hasChanged(126)||u.hasChanged(76))this._readConfiguration();if(u.hasChanged(76)||u.hasChanged(52)||u.hasChanged(126)||u.hasChanged(59)||u.hasChanged(176))this._renderStickyScroll(0)}_needsUpdate(u){let p=this._stickyScrollWidget.getCurrentLines();for(let v of p)for(let C of u.ranges)if(v>=C.fromLineNumber&&v<=C.toLineNumber)return!0;return!1}_onTokensChange(u){if(this._needsUpdate(u))this._renderStickyScroll(0)}_onDidResize(){let p=this._editor.getLayoutInfo().height/this._editor.getOption(75);this._maxStickyLines=Math.round(p*0.25),this._renderStickyScroll(0)}async _renderStickyScroll(u){let p=this._editor.getModel();if(!p||p.isTooLargeForTokenization()){this._resetState();return}let v=this._updateAndGetMinRebuildFromLine(u),C=this._stickyLineCandidateProvider.getVersionId();if(C===void 0||C===p.getVersionId())if(!this._focused)await this._updateState(v);else if(this._focusedStickyElementIndex===-1){if(await this._updateState(v),this._focusedStickyElementIndex=this._stickyScrollWidget.lineNumberCount-1,this._focusedStickyElementIndex!==-1)this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex)}else{let I=this._stickyScrollWidget.lineNumbers[this._focusedStickyElementIndex];if(await this._updateState(v),this._stickyScrollWidget.lineNumberCount===0)this._focusedStickyElementIndex=-1;else{if(!this._stickyScrollWidget.lineNumbers.includes(I))this._focusedStickyElementIndex=this._stickyScrollWidget.lineNumberCount-1;this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex)}}}_updateAndGetMinRebuildFromLine(u){if(u!==void 0){let p=this._minRebuildFromLine!==void 0?this._minRebuildFromLine:1/0;this._minRebuildFromLine=Math.min(u,p)}return this._minRebuildFromLine}async _updateState(u){this._minRebuildFromLine=void 0,this._foldingModel=await $r.get(this._editor)?.getFoldingModel()??void 0,this._widgetState=this.findScrollWidgetState();let p=this._widgetState.startLineNumbers.length>0;this._stickyScrollVisibleContextKey.set(p),this._stickyScrollWidget.setState(this._widgetState,this._foldingModel,u)}async _resetState(){this._minRebuildFromLine=void 0,this._foldingModel=void 0,this._widgetState=_c.Empty,this._stickyScrollVisibleContextKey.set(!1),this._stickyScrollWidget.setState(void 0,void 0)}findScrollWidgetState(){let u=Math.min(this._maxStickyLines,this._editor.getOption(131).maxLineCount),p=this._editor.getScrollTop(),v=0,C=[],y=[],I=this._editor.getVisibleRanges();if(I.length!==0){let D=new La(I[0].startLineNumber,I[I.length-1].endLineNumber),T=this._stickyLineCandidateProvider.getCandidateStickyLinesIntersecting(D);for(let K of T){let{startLineNumber:q,endLineNumber:Q,top:te}=K,oe=te+K.height,ne=this._editor.getTopForLineNumber(q)-p,ae=this._editor.getBottomForLineNumber(Q)-p;if(te>ne&&te<=ae){if(C.push(q),y.push(Q+1),oe>ae)v=ae-oe}if(C.length===u)break}}return this._endLineNumbers=y,new _c(C,y,v,this._showEndForLine)}dispose(){super.dispose(),this._sessionStore.dispose()}};ns=XC=CN([Sc(1,On),Sc(2,j),Sc(3,L),Sc(4,et),Sc(5,Wi),Sc(6,z)],ns);var Ta=s("inlineEdit.originalBackground",de(Qc,0.2),e(1286,"Background color for the original text in inline edits."),!0),r_=s("inlineEdit.modifiedBackground",de(bu,0.3),e(1287,"Background color for the modified text in inline edits."),!0);s("inlineEdit.originalChangedLineBackground",de(Qc,0.8),e(1288,"Background color for the changed lines in the original text of inline edits."),!0);var rD=s("inlineEdit.originalChangedTextBackground",de(Qc,0.8),e(1289,"Overlay color for the changed text in the original text of inline edits."),!0),sD=s("inlineEdit.modifiedChangedLineBackground",{light:de(kv,0.7),dark:de(kv,0.7),hcDark:kv,hcLight:kv},e(1290,"Background color for the changed lines in the modified text of inline edits."),!0),aD=s("inlineEdit.modifiedChangedTextBackground",de(bu,0.7),e(1291,"Overlay color for the changed text in the modified text of inline edits."),!0),Ka=s("inlineEdit.gutterIndicator.primaryForeground",Ig,e(1292,"Foreground color for the primary inline edit gutter indicator.")),Kn=s("inlineEdit.gutterIndicator.primaryBorder",vu,e(1293,"Border color for the primary inline edit gutter indicator.")),es=s("inlineEdit.gutterIndicator.primaryBackground",{light:de(Kn,0.5),dark:de(Kn,0.4),hcDark:de(Kn,0.4),hcLight:de(Kn,0.5)},e(1294,"Background color for the primary inline edit gutter indicator.")),dD=s("inlineEdit.gutterIndicator.secondaryForeground",Rg,e(1295,"Foreground color for the secondary inline edit gutter indicator.")),lD=s("inlineEdit.gutterIndicator.secondaryBorder",Bh,e(1296,"Border color for the secondary inline edit gutter indicator.")),wc=s("inlineEdit.gutterIndicator.secondaryBackground",wf,e(1297,"Background color for the secondary inline edit gutter indicator.")),cD=s("inlineEdit.gutterIndicator.successfulForeground",Ig,e(1298,"Foreground color for the successful inline edit gutter indicator.")),YC=s("inlineEdit.gutterIndicator.successfulBorder",vu,e(1299,"Border color for the successful inline edit gutter indicator.")),Cc=s("inlineEdit.gutterIndicator.successfulBackground",YC,e(1300,"Background color for the successful inline edit gutter indicator.")),hD=s("inlineEdit.gutterIndicator.background",{hcDark:de("tab.inactiveBackground",0.5),hcLight:de("tab.inactiveBackground",0.5),dark:de("tab.inactiveBackground",0.5),light:"#5f5f5f18"},e(1301,"Background color for the inline edit gutter indicator.")),eg=s("inlineEdit.originalBorder",{light:Qc,dark:Qc,hcDark:Qc,hcLight:Qc},e(1302,"Border color for the original text in inline edits.")),tg=s("inlineEdit.modifiedBorder",{light:lo(bu,0.6),dark:bu,hcDark:bu,hcLight:bu},e(1303,"Border color for the modified text in inline edits.")),yN=s("inlineEdit.tabWillAcceptModifiedBorder",{light:lo(tg,0),dark:lo(tg,0),hcDark:lo(tg,0),hcLight:lo(tg,0)},e(1304,"Modified border color for the inline edits widget when tab will accept it.")),xN=s("inlineEdit.tabWillAcceptOriginalBorder",{light:lo(eg,0),dark:lo(eg,0),hcDark:lo(eg,0),hcLight:lo(eg,0)},e(1305,"Original border color for the inline edits widget over the original text when tab will accept it."));function Hs(m){return m.map((u)=>u===Qt.Accept?yN:tg)}function Ga(m){return m.map((u)=>u===Qt.Accept?xN:eg)}function vi(m,u){let p;if(typeof m==="string")p=ka(m,u);else p=m.map((C,y)=>ka(C,u).read(y));let v=ka(Tr,u);return p.map((C,y)=>C.makeOpaque(v.read(y)))}function vo(m){let u;switch(m){case ti.TextEditor:u=Tr;break;case ti.DiffEditor:u=Tr;break;case ti.Notebook:u="notebook.cellEditorBackground";break;default:fl(m,"Not supported editor type yet")}return O(u)}function ka(m,u){return cs({owner:{observeColor:m},equalsFn:(p,v)=>p.equals(v),debugName:()=>`observeColor(${m})`},u.onDidColorThemeChange,()=>{let p=u.getColorTheme().getColor(m);if(!p)throw new M(`Missing color: ${m}`);return p})}var wi=3;function on(m,u,p){let v=m.model.read(p);if(!v)return 0;let C=0;for(let I=u.startLineNumber;I<u.endLineNumberExclusive;I++){let D=m.getWidthOfLine(I,p);C=Math.max(C,D)}let y=u.mapToLineArray((I)=>v.getLineContent(I));if(C<5&&y.some((I)=>I.length>0)&&v.uri.scheme!=="file")console.log("unexpected width");return C}function uD(m,u,p){li(m,m.editor.onDidChangeLineHeight).read(p);let v=m.model.read(p);if(!v)throw new M("Model is required");let C=[];for(let y=u.startLineNumber;y<u.endLineNumberExclusive;y++){let I=m.getWidthOfLine(y,p);if(I===-1){let T=v.getLineMaxColumn(y),K=m.editor.getOption(59).typicalHalfwidthCharacterWidth;I=T*K}let D=m.editor.getLineHeightForPosition(new o(y,1));C.push(new xa(I,D))}return C}function gD(m,u,p){if(m.layoutInfo.read(p),m.value.read(p),!m.model.read(p))return 0;return m.scrollTop.read(p),m.editor.getOffsetForColumn(u.lineNumber,u.column)}function yc(m,u,p,v,C=void 0){let y=v.getModel();if(!y)return{prefixTrim:0,prefixLeftOffset:0};let I=m.map((te)=>te.isSingleLine()?te.startColumn-1:0),D=u.mapToLineArray((te)=>K_(y.getLineContent(te))),T=p.filter((te)=>te!=="").map((te)=>K_(te)),K=Math.min(...I,...D,...T),q;if(y.getLineIndentColumn(u.startLineNumber)>=K+1)Xe(v).scrollTop.read(C),q=v.getOffsetForColumn(u.startLineNumber,K+1);else if(p.length>0)q=ig(p[0].slice(0,K),v,y);else return{prefixTrim:0,prefixLeftOffset:0};return{prefixTrim:K,prefixLeftOffset:q}}function ig(m,u,p){let v=u.getOption(59).typicalHalfwidthCharacterWidth,C=p.getOptions().tabSize*v,y=m.split("\t").length-1;return(m.length-y)*v+y*C}function xc(m){let u=m.layoutInfoContentLeft,p=d({name:"editor.validOverlay.width"},(C)=>{let y=m.layoutInfoMinimap.read(C).minimapLeft!==0,I=Math.max(0,m.layoutInfoWidth.read(C)-u.read(C));if(y){let D=m.layoutInfoMinimap.read(C).minimapWidth+m.layoutInfoVerticalScrollbarWidth.read(C);return Math.max(0,I-D)}return I}),v=d({name:"editor.validOverlay.height"},(C)=>m.layoutInfoHeight.read(C)+m.contentHeight.read(C));return d({name:"editor.validOverlay"},(C)=>St.fromLeftTopWidthHeight(u.read(C),0,p.read(C),v.read(C)))}function pD(m,u){let p=[];for(let v of m){let C=u.mapRange(v.modifiedRange);p.push(new Ri(v.originalRange,C))}return p}function Ic(...m){return m.filter((u)=>typeof u==="string").join(" ")}function IN(m,u){return new t(u.lineNumber,u.column+m.start,u.lineNumber,u.column+m.endExclusive)}function LN(m,u){let p=0;e:for(let v=0,C=m.length;v<C;v++)switch(m.charCodeAt(v)){case 9:p+=u;break;case 32:p++;break;default:break e}return p-p%u}function EN(m,u,p){let v=u-u%p,C=0;for(;C<m.length;C++){if(v===0)break;switch(m.charCodeAt(C)){case 9:v-=p;break;case 32:v--;break;default:throw new M("Unexpected character found while calculating indent length")}}return C}function mD(m,u,p){let v=ni(m),C=[],y=O_(u.mapToLineArray((I)=>LN(v[I-1],p)),Si);return u.forEach((I)=>{let D=EN(v[I-1],y,p);C.push(new ct(IN(new B(0,D),new o(I,1)),""))}),new mr(C)}class Lc{constructor(){this._data=""}moveTo(m){return this._data+=`M ${m.x} ${m.y} `,this}lineTo(m){return this._data+=`L ${m.x} ${m.y} `,this}build(){return this._data}}function go(m){let u=Vr(void 0,(p,v)=>m.read(p)||v);return gn({debugName:()=>`${m.debugName}.mapOutFalsy`},(p)=>{if(u.read(p),!m.read(p))return;return u})}function yi(m,u=Ot.ofCaller()){return{left:d({name:"editor.validOverlay.left"},(p)=>m(p)?.left,u),top:d({name:"editor.validOverlay.top"},(p)=>m(p)?.top,u),width:d({name:"editor.validOverlay.width"},(p)=>{let v=m(p);if(!v)return;return v.width},u),height:d({name:"editor.validOverlay.height"},(p)=>{let v=m(p);if(!v)return;return v.height},u)}}function fD(m,u){let p=m.getContainerDomNode(),v=P("domRect",p.getBoundingClientRect());return u.add(m.onDidLayoutChange((C)=>{v.set(p.getBoundingClientRect(),void 0)})),v}var DN=function(m,u,p,v){var C=arguments.length,y=C<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,p):v,I;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")y=Reflect.decorate(m,u,p,v);else for(var D=m.length-1;D>=0;D--)if(I=m[D])y=(C<3?I(y):C>3?I(u,p,y):I(u,p))||y;return C>3&&y&&Object.defineProperty(u,p,y),y},JC=function(m,u){return function(p,v){u(p,v,m)}},s_=class m{constructor(u,p,v,C,y,I){this._editorObs=u,this._data=p,this._close=v,this._contextKeyService=C,this._keybindingService=y,this._commandService=I,this._inlineEditsShowCollapsed=this._editorObs.getOption(71).map((D)=>D.edits.showCollapsed)}toDisposableLiveElement(){return this._createHoverContent().toDisposableLiveElement()}_createHoverContent(){let u=P("active",void 0),p=(ae)=>({title:ae.title,icon:ae.icon,keybinding:typeof ae.commandId==="string"?this._getKeybinding(ae.commandArgs?void 0:ae.commandId):d(this,(ge)=>typeof ae.commandId==="string"?void 0:this._getKeybinding(ae.commandArgs?void 0:ae.commandId.read(ge)).read(ge)),isActive:u.map((ge)=>ge===ae.id),onHoverChange:(ge)=>u.set(ge?ae.id:void 0,void 0),onAction:()=>{let ge=typeof ae.commandId==="string"?ae.commandId:ae.commandId.get();return this._close(!0,ge),this._commandService.executeCommand(ge,...ae.commandArgs??[])}}),v=this._data.extensionCommands.map((ae)=>ae.map((ge,Ie)=>qa(p({id:ge.command.id+"_"+Ie,title:ge.command.title,icon:ge.icon??b.symbolEvent,commandId:ge.command.id,commandArgs:ge.command.arguments})))),C=[];for(let ae of v)if(ae.length>0)C.push(QC()),C.push(...ae);if(this._data.extensionCommandsOnly)return _D(C.slice(1));let y=RN(this._data.displayName),I=qa(p({id:"gotoAndAccept",title:e(1276,"Go To / Accept"),icon:b.check,commandId:xr})),D=qa(p({id:"reject",title:e(1277,"Reject"),icon:b.close,commandId:mm})),T=this._data.alternativeAction?qa(p({id:"alternativeCommand",title:this._data.alternativeAction.command.title,icon:this._data.alternativeAction.icon,commandId:xd})):void 0,K=[],q=this._inlineEditsShowCollapsed.map((ae)=>ae?qa(p({id:"showExpanded",title:e(1278,"Show Expanded"),icon:b.expandAll,commandId:Qh})):qa(p({id:"showCollapsed",title:e(1279,"Show Collapsed"),icon:b.collapseAll,commandId:Qh}))),Q=qa(p({id:"snooze",title:e(1280,"Snooze"),icon:b.bellSlash,commandId:"editor.action.inlineSuggest.snooze"})),te=qa(p({id:"settings",title:e(1281,"Settings"),icon:b.gear,commandId:"workbench.action.openSettings",commandArgs:["@tag:nextEditSuggestions"]})),oe=this._data.action?[this._data.action]:[],ne=oe.length>0?kN(oe.map((ae)=>({id:ae.id,label:ae.title+"...",enabled:!0,run:()=>this._commandService.executeCommand(ae.id,...ae.arguments??[]),class:void 0,tooltip:ae.tooltip??ae.title})),{hoverDelegate:B$}):void 0;return _D([y,I,T,D,q,K.length?QC():void 0,...K,Q,te,...C,ne?QC():void 0,ne])}_getKeybinding(u){if(!u)return Ce(void 0);return Te(this._contextKeyService.onDidChangeContext,()=>this._keybindingService.lookupKeybinding(u))}};s_=DN([JC(3,z),JC(4,ce),JC(5,Ae)],s_);function _D(m){return se.div({class:"content",style:{margin:4,minWidth:180}},m)}function RN(m){return se.div({class:"header",style:{color:O(Cv),fontSize:"13px",fontWeight:"600",padding:"0 4px",lineHeight:28}},[m])}function qa(m){return d({name:"inlineEdits.option"},(u)=>se.div({class:["monaco-menu-option",m.isActive?.map((p)=>p&&"active")],onmouseenter:()=>m.onHoverChange?.(!0),onmouseleave:()=>m.onHoverChange?.(!1),onclick:m.onAction,onkeydown:(p)=>{if(p.key==="Enter")m.onAction?.()},tabIndex:0,style:{borderRadius:3}},[se.elem("span",{style:{fontSize:16,display:"flex"}},[G.isThemeIcon(m.icon)?rr(m.icon):m.icon.map((p)=>rr(p))]),se.elem("span",{},[m.title]),se.div({style:{marginLeft:"auto"},ref:(p)=>{let v=u.store.add(new ca(p,pi,{disableTitle:!0,...Hg,keybindingLabelShadow:void 0,keybindingLabelForeground:O(Cv),keybindingLabelBackground:"transparent",keybindingLabelBorder:"transparent",keybindingLabelBottomBorder:void 0}));u.store.add(H((C)=>{v.set(m.keybinding.read(C))}))}})]))}function kN(m,u){return d({name:"inlineEdits.actionBar"},(p)=>se.div({class:["action-widget-action-bar"],style:{padding:"3px 24px"}},[se.div({ref:(v)=>{p.store.add(new Di(v,u)).push(m,{icon:!1,label:!0})}})]))}function QC(){return se.div({id:"inline-edit-gutter-indicator-menu-separator",class:"menu-separator",style:{color:O(O$),padding:"2px 0"}},se.div({style:{borderBottom:`1px solid ${O(Bh)}`}}))}var TN=function(m,u,p,v){var C=arguments.length,y=C<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,p):v,I;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")y=Reflect.decorate(m,u,p,v);else for(var D=m.length-1;D>=0;D--)if(I=m[D])y=(C<3?I(y):C>3?I(u,p,y):I(u,p))||y;return C>3&&y&&Object.defineProperty(u,p,y),y},ng=function(m,u){return function(p,v){u(p,v,m)}};class fg{constructor(m,u,p,v,C){this.gutterMenuData=m,this.originalRange=u,this.model=p,this.altAction=v,this.customization=C}}class Dc{static fromInlineSuggestion(m){let u=m.action?.kind==="edit"?m.action.alternativeAction:void 0,p=m.source.inlineSuggestions.commands??[];return new Dc(m.gutterMenuLinkAction,m.source.provider.displayName??e(1282,"Inline Suggestion"),p.length>0?[p]:[],u,m.source.provider.modelInfo,m.source.provider.setModelId?.bind(m.source.provider))}constructor(m,u,p,v,C,y,I=!1){this.action=m,this.displayName=u,this.extensionCommands=p,this.alternativeAction=v,this.modelInfo=C,this.setModelId=y,this.extensionCommandsOnly=I}}class Rc{static fromInlineCompletionModel(m){return new Rc(()=>m.accept(),()=>m.jump())}constructor(m,u){this.accept=m,this.jump=u}}var ey=16,bD=2,Ec=class m extends n{constructor(u,p,v,C,y,I,D,T,K,q,Q){super();this._editorObs=u,this._data=p,this._tabAction=v,this._verticalOffset=C,this._isHoveringOverInlineEdit=y,this._focusIsInMenu=I,this._hoverService=D,this._instantiationService=T,this._accessibilityService=K,this._themeService=q,this._userInteractionService=Q,this._onDidCloseWithCommand=this._register(new i),this._modifierPressed=d(this,(oe)=>this._userInteractionService.readModifierKeyStatus(this._editorObs.editor.getDomNode(),oe).shiftKey),this._gutterIndicatorStyles=d(this,(oe)=>{let ne=this._tabAction.read(oe),ae=this._data.read(oe)?.altAction,ge=this._modifierPressed.read(oe);if(ae&&ge)ne=Qt.Inactive;switch(ne){case Qt.Inactive:return{background:vi(wc,this._themeService).read(oe).toString(),foreground:vi(dD,this._themeService).read(oe).toString(),border:vi(lD,this._themeService).read(oe).toString()};case Qt.Jump:return{background:vi(es,this._themeService).read(oe).toString(),foreground:vi(Ka,this._themeService).read(oe).toString(),border:vi(Kn,this._themeService).read(oe).toString()};case Qt.Accept:return{background:vi(Cc,this._themeService).read(oe).toString(),foreground:vi(cD,this._themeService).read(oe).toString(),border:vi(YC,this._themeService).read(oe).toString()};default:fl()}}),this._state=d(this,(oe)=>{let ne=this._originalRangeObs.read(oe);if(!ne)return;return{range:ne,lineOffsetRange:this._editorObs.observeLineOffsetRange(ne,oe.store)}}),this._lineNumberToRender=d(this,(oe)=>{if(this._verticalOffset.read(oe)!==0)return"";let ne=this._data.read(oe)?.originalRange.startLineNumber,ae=this._editorObs.getOption(76).read(oe);if(ne===void 0||ae.renderType===0)return"";if(ae.renderType===3){let ge=this._editorObs.cursorPosition.read(oe);if(ne%10===0||ge&&ge.lineNumber===ne)return ne.toString();return""}if(ae.renderType===2){let ge=this._editorObs.cursorPosition.read(oe);if(!ge)return"";let Ie=Math.abs(ne-ge.lineNumber);if(Ie===0)return ne.toString();return Ie.toString()}if(ae.renderType===4){if(ae.renderFn)return ae.renderFn(ne);return""}return ne.toString()}),this._availableWidthForIcon=d(this,(oe)=>{let ne=this._editorObs.editor.getModel(),ae=this._editorObs.editor,ge=this._editorObs.layoutInfo.read(oe),Ie=ge.decorationsLeft+ge.decorationsWidth-ge.glyphMarginLeft;if(!ne||Ie<=0)return()=>0;if(ge.lineNumbersLeft===0)return()=>Ie;let ke=this._editorObs.getOption(76).read(oe);if(ke.renderType===2||ke.renderType===0)return()=>Ie;let Oe=ae.getOption(59).typicalHalfwidthCharacterWidth,Ve=ge.lineNumbersLeft+ge.lineNumbersWidth,Le=(ne.getLineCount()+1).toString().length,He=[];for(let Je=1;Je<=Le;Je++){let tt=10**(Je-1),ot=ae.getTopForLineNumber(tt),qe=Je*Oe,nt=Math.min(Ie,Math.max(0,Ve-qe-ge.glyphMarginLeft));He.push({firstLineNumberWithDigitCount:tt,topOfLineNumber:ot,usableWidthLeftOfLineNumber:nt})}return(Je)=>{for(let tt=He.length-1;tt>=0;tt--)if(Je>=He[tt].topOfLineNumber)return He[tt].usableWidthLeftOfLineNumber;throw new M("Could not find avilable width for icon")}}),this._layout=d(this,(oe)=>{let ne=this._state.read(oe);if(!ne)return;let ae=this._editorObs.layoutInfo.read(oe),ge=this._editorObs.observeLineHeightForLine(ne.range.map((zt)=>zt.startLineNumber)).read(oe),Ie=1,ke=2,Oe=ae.decorationsLeft+ae.decorationsWidth-ae.glyphMarginLeft-2*Ie,Ve=ae.height-2*ke,Ue=St.fromLeftTopWidthHeight(Ie,ke,Oe,Ve),Le=Ue.withTop(this._stickyScrollHeight.read(oe)),He=Ue.withTop(Le.top+ke),Je=ne.lineOffsetRange.read(oe),tt=St.fromRanges(B.fromTo(He.left,He.right),Je),ot=ge,qe=this._verticalOffset.read(oe),nt=tt.withHeight(ot).translateY(qe),ft=Le.containsRect(nt),st=this._data.read(oe)?.customization?.icon,vt=st?Ce(st):this._tabAction.map((zt)=>zt===Qt.Accept?b.keyboardTab:b.arrowRight),lt=st?Ce(st):d(this,(zt)=>{if(this._isHoveredOverIconDebounced.read(zt)||this._isHoveredOverInlineEditDebounced.read(zt))return b.check;if(this._tabAction.read(zt)===Qt.Accept)return b.keyboardTab;let zi=this._editorObs.cursorLineNumber.read(zt)??0,Vs=ne.range.read(zt).startLineNumber;return zi<=Vs?b.keyboardTabAbove:b.keyboardTabBelow}),di=22,_t=(zt)=>{let zi=this._availableWidthForIcon.read(void 0)(zt.bottom+this._editorObs.editor.getScrollTop())-Ie;return Math.max(Math.min(zi,di),ey)};if(ft){let zt=nt,zi;if(ae.lineNumbersWidth===0)zi=Math.max(0,Math.min(Math.max(ae.lineNumbersLeft-Ue.left,0),zt.width-di));else zi=Math.max(ae.lineNumbersLeft+ae.lineNumbersWidth-Ue.left,0);let Vs=zt.withWidth(zi),sn=ey+bD,Or=Math.min(zt.width-zi,di),Xa=zt.withWidth(Math.max(Or,sn)).translateX(zi),bb=Or>=sn;return{gutterEditArea:tt,icon:lt,iconDirection:"right",iconRect:Xa,iconVisible:bb,pillRect:zt,lineNumberRect:Vs}}let Et=Ue.intersect(tt);if(Et&&Et.height>=ot){let zt=nt.moveToBeContainedIn(He).moveToBeContainedIn(Et),zi=zt.withWidth(_t(zt));return{gutterEditArea:tt,icon:lt,iconDirection:"right",iconRect:zi,pillRect:zi,iconVisible:!0}}let Kt=nt.moveToBeContainedIn(Ue),Pt=Kt.withWidth(_t(Kt)),ui=Pt,ci=Pt.top<nt.top?"top":"bottom";return{gutterEditArea:tt,icon:vt,iconDirection:ci,iconRect:ui,pillRect:Pt,iconVisible:!0}}),this._iconRef=se.ref(),this.isVisible=this._layout.map((oe)=>!!oe),this._hoverVisible=P(this,!1),this.isHoverVisible=this._hoverVisible,this._isHoveredOverIcon=P(this,!1),this._isHoveredOverIconDebounced=L_(this._isHoveredOverIcon,100),this.isHoveredOverIcon=this._isHoveredOverIconDebounced,this._indicator=se.div({class:"inline-edits-view-gutter-indicator",style:{position:"absolute",overflow:"visible"}},go(this._layout).map((oe)=>!oe?[]:[se.div({style:{position:"absolute",background:O(hD),borderRadius:`${wi}px`,...yi((ne)=>oe.read(ne).gutterEditArea)}}),se.div({class:"icon",ref:this._iconRef,tabIndex:0,onclick:()=>{let ae=this._layout.get()?.icon.get()===b.check,ge=this._data.get();if(!ge)throw new M("Gutter indicator data not available");if(this._editorObs.editor.focus(),ae)ge.model.accept();else ge.model.jump()},onmouseenter:()=>{this._isHoveredOverIcon.set(!0,void 0),this._showHover()},onmouseleave:()=>this._isHoveredOverIcon.set(!1,void 0),style:{cursor:"pointer",zIndex:"20",position:"absolute",backgroundColor:this._gutterIndicatorStyles.map((ne)=>ne.background),["--vscodeIconForeground"]:this._gutterIndicatorStyles.map((ne)=>ne.foreground),border:this._gutterIndicatorStyles.map((ne)=>`1px solid ${ne.border}`),boxSizing:"border-box",borderRadius:`${wi}px`,display:"flex",justifyContent:oe.map((ne)=>ne.iconDirection==="bottom"?"flex-start":"flex-end"),transition:this._modifierPressed.map((ne)=>ne?"":"background-color 0.2s ease-in-out, width 0.2s ease-in-out"),...yi((ne)=>oe.read(ne).pillRect)}},[se.div({className:"line-number",style:{lineHeight:oe.map((ne)=>ne.lineNumberRect?ne.lineNumberRect.height:0),display:oe.map((ne)=>ne.lineNumberRect?"flex":"none"),alignItems:"center",justifyContent:"flex-end",width:oe.map((ne)=>ne.lineNumberRect?ne.lineNumberRect.width:0),height:"100%",color:this._gutterIndicatorStyles.map((ne)=>ne.foreground)}},this._lineNumberToRender),se.div({style:{transform:oe.map((ne)=>`rotate(${NN(ne.iconDirection)}deg)`),transition:"rotate 0.2s ease-in-out, opacity 0.2s ease-in-out",display:"flex",alignItems:"center",justifyContent:"center",height:"100%",opacity:oe.map((ne)=>ne.iconVisible?"1":"0"),marginRight:oe.map((ne)=>ne.pillRect.width-ne.iconRect.width-(ne.lineNumberRect?.width??0)),width:oe.map((ne)=>ne.iconRect.width),position:"relative",right:oe.map((ne)=>ne.iconDirection==="top"?"1px":"0"),color:this._data.map((ne)=>ne?.customization?.icon?.color?O(ne.customization.icon.color.id):void 0)}},[oe.map((ne,ae)=>ON(rr(ne.icon.read(ae)),{fontSize:MN(Math.min(ne.iconRect.width-bD,ey))}))])])])),this._originalRangeObs=go(this._data.map((oe)=>oe?.originalRange)),this._stickyScrollController=ns.get(this._editorObs.editor),this._stickyScrollHeight=this._stickyScrollController?Te(this._stickyScrollController.onDidChangeStickyScrollHeight,()=>this._stickyScrollController.stickyScrollWidgetHeight):Ce(0),this._isHoveredOverInlineEditDebounced=L_(this._isHoveringOverInlineEdit,100);let te=this._indicator.keepUpdated(this._store);this._register(this._editorObs.createOverlayWidget({domNode:te.element,position:Ce(null),allowEditorOverflow:!1,minContentWidthInPx:Ce(0)})),this._register(this._editorObs.editor.onDidScrollChange(()=>{this._isHoveredOverIcon.set(!1,void 0)})),this._register(co(this._isHoveredOverInlineEditDebounced,(oe)=>{if(oe)this.triggerAnimation()})),this._register(H((oe)=>{if(te.readEffect(oe),te.element)this._editorObs.editor.applyFontInfo(te.element)}))}triggerAnimation(){if(this._accessibilityService.isMotionReduced())return new Animation(null,null).finished;return this._iconRef.element.animate([{outline:`2px solid ${this._gutterIndicatorStyles.map((p)=>p.border).get()}`,outlineOffset:"-1px",offset:0},{outline:"2px solid transparent",outlineOffset:"10px",offset:1}],{duration:500}).finished}_showHover(){if(this._hoverVisible.get())return;let u=this._data.get();if(!u)throw new M("Gutter indicator data not available");let p=new c,v=p.add(this._instantiationService.createInstance(s_,this._editorObs,u.gutterMenuData,(I,D)=>{if(I)this._editorObs.editor.focus();if(D)this._onDidCloseWithCommand.fire(D);y?.dispose()}).toDisposableLiveElement()),C=this._userInteractionService.createFocusTracker(v.element,p);p.add(H((I)=>{this._focusIsInMenu.set(C.read(I),void 0)})),p.add(E(()=>this._focusIsInMenu.set(!1,void 0)));let y=this._hoverService.showInstantHover({target:this._iconRef.element,content:v.element});if(y)this._hoverVisible.set(!0,void 0),p.add(this._editorObs.editor.onDidScrollChange(()=>y.dispose())),p.add(y.onDispose(()=>{this._hoverVisible.set(!1,void 0),p.dispose()}));else p.dispose()}};Ec=TN([ng(6,wn),ng(7,L),ng(8,qt),ng(9,Ne),ng(10,uo)],Ec);function NN(m){switch(m){case"top":return 90;case"bottom":return-90;case"right":return 0}}function ON(m,u){for(let p in u)m.style[p]=u[p];return m}function MN(m){return`${m}px`}var PN=function(m,u,p,v){var C=arguments.length,y=C<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,p):v,I;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")y=Reflect.decorate(m,u,p,v);else for(var D=m.length-1;D>=0;D--)if(I=m[D])y=(C<3?I(y):C>3?I(u,p,y):I(u,p))||y;return C>3&&y&&Object.defineProperty(u,p,y),y},vD=function(m,u){return function(p,v){u(p,v,m)}},Ao;(function(m){m.FirstTime="firstTime",m.SecondTime="secondTime",m.Active="active"})(Ao||(Ao={}));var a_=class m extends n{constructor(u,p,v,C,y){super();this._model=u,this._indicator=p,this._collapsedView=v,this._storageService=C,this._configurationService=y,this._disposables=this._register(new ie),this._setupDone=P({name:"setupDone"},!1),this._activeCompletionId=d((I)=>{let D=this._model.read(I);if(!D)return;if(!this._setupDone.read(I))return;let T=this._indicator.read(I);if(!T||!T.isVisible.read(I))return;return D.inlineEdit.inlineCompletion.identity.id}),this._register(this._initializeDebugSetting()),this._disposables.value=this.setupNewUserExperience(),this._setupDone.set(!0,void 0)}setupNewUserExperience(){if(this.getNewUserType()===Ao.Active)return;let u=new c,p=!1,v=!1,C=0,y=0;return u.add(F$(this._activeCompletionId,async(I,D,T,K)=>{if(I===void 0)return;let q=this.getNewUserType();switch(q){case Ao.FirstTime:{if(C++>=5||p)q=Ao.SecondTime,this.setNewUserType(q);break}case Ao.SecondTime:{if(y++>=3&&v)q=Ao.Active,this.setNewUserType(q);break}}switch(q){case Ao.FirstTime:{for(let Q=0;Q<3&&!K.isCancellationRequested;Q++)await this._indicator.get()?.triggerAnimation(),await so(500);break}case Ao.SecondTime:{this._indicator.get()?.triggerAnimation();break}}})),u.add(H((I)=>{if(this._collapsedView.isVisible.read(I)){if(this.getNewUserType()!==Ao.Active)this._collapsedView.triggerAnimation()}})),u.add(H((I)=>{let D=this._indicator.read(I);if(!D)return;I.store.add(co(D.isHoveredOverIcon,async(T)=>{if(T)p=!0}))})),u.add(H((I)=>{let D=this._model.read(I);if(!D)return;I.store.add(D.onDidAccept(()=>{v=!0}))})),u}getNewUserType(){return this._storageService.get("inlineEditsGutterIndicatorUserKind",-1,Ao.FirstTime)}setNewUserType(u){switch(u){case Ao.FirstTime:throw new M("UserKind should not be set to first time");case Ao.SecondTime:break;case Ao.Active:this._disposables.clear();break}this._storageService.store("inlineEditsGutterIndicatorUserKind",u,-1,0)}_initializeDebugSetting(){if(this._configurationService.getValue("editor.inlineSuggest.edits.resetNewUserExperience"))this._storageService.remove("inlineEditsGutterIndicatorUserKind",-1);return this._configurationService.onDidChangeConfiguration((v)=>{if(v.affectsConfiguration("editor.inlineSuggest.edits.resetNewUserExperience")&&this._configurationService.getValue("editor.inlineSuggest.edits.resetNewUserExperience"))this._storageService.remove("inlineEditsGutterIndicatorUserKind",-1),this._disposables.value=this.setupNewUserExperience()})}};a_=PN([vD(3,_n),vD(4,X)],a_);class ty{static{this.empty=new ty([])}constructor(m){this.replacements=m,au(Vc(m,(u,p)=>u.lineRange.endLineNumberExclusive<=p.lineRange.startLineNumber))}toString(){return this.replacements.map((m)=>m.toString()).join(",")}getNewLineRanges(){let m=[],u=0;for(let p of this.replacements)m.push(Y.ofLength(p.lineRange.startLineNumber+u,p.newLines.length)),u+=p.newLines.length-p.lineRange.length;return m}}class kc{static fromSingleTextEdit(m,u){let p=ni(m.text),v=m.range.startLineNumber,C=u.getValueOfRange(t.fromPositions(new o(m.range.startLineNumber,1),m.range.getStartPosition()));p[0]=C+p[0];let y=m.range.endLineNumber+1,I=u.getTransformer().getLineLength(m.range.endLineNumber)+1,D=u.getValueOfRange(t.fromPositions(m.range.getEndPosition(),new o(m.range.endLineNumber,I)));p[p.length-1]=p[p.length-1]+D;let T=m.range.startColumn===u.getTransformer().getLineLength(m.range.startLineNumber)+1,K=m.range.endColumn===1;if(T&&p[0].length===C.length)v++,p.shift();if(p.length>0&&v<y&&K&&p[p.length-1].length===D.length)y--,p.pop();return new kc(new Y(v,y),p)}constructor(m,u){this.lineRange=m,this.newLines=u}toString(){return`${this.lineRange}->${JSON.stringify(this.newLines)}`}toLineEdit(){return new ty([this])}}class iy{get lineEdit(){if(this.action?.kind==="jumpTo")return new kc(Y.ofLength(this.action.position.lineNumber,0),[]);else if(this.action?.kind==="edit")return kc.fromSingleTextEdit(this.edit.toReplacement(this.originalText),this.originalText);return new kc(new Y(1,1),[])}get originalLineRange(){return this.lineEdit.lineRange}get modifiedLineRange(){return this.lineEdit.toLineEdit().getNewLineRanges()[0]}get displayRange(){return this.originalText.lineRange.intersect(this.originalLineRange.join(Y.ofLength(this.originalLineRange.startLineNumber,this.lineEdit.newLines.length)))}constructor(m,u,p,v,C,y,I){this.originalText=m,this.action=u,this.edit=p,this.cursorPosition=v,this.multiCursorPositions=C,this.commands=y,this.inlineCompletion=I}}class oy{constructor(m,u,p){this._model=m,this.inlineEdit=u,this.tabAction=p,this.editorType=this._model.editorType,this.displayLocation=this.inlineEdit.inlineCompletion.hint,this.inViewPort=d(this,(v)=>RC(this._model.editor,this.inlineEdit.inlineCompletion,v)),this.onDidAccept=this._model.onDidAccept}accept(m){this._model.accept(void 0,m)}handleInlineEditShownNextFrame(m,u){let p=this.inlineEdit.inlineCompletion,v=Date.now();p.addRef(),na(()=>{this._model.handleInlineSuggestionShown(p,m,u,v),p.removeRef()})}}var AN=function(m,u,p,v){var C=arguments.length,y=C<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,p):v,I;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")y=Reflect.decorate(m,u,p,v);else for(var D=m.length-1;D>=0;D--)if(I=m[D])y=(C<3?I(y):C>3?I(u,p,y):I(u,p))||y;return C>3&&y&&Object.defineProperty(u,p,y),y},FN=function(m,u){return function(p,v){u(p,v,m)}},x_=class m extends n{constructor(u,p,v){super();this._editor=u,this._edit=p,this._accessibilityService=v,this.onDidClick=S.None,this._iconRef=se.ref(),this.isHovered=Ce(!1),this._editorObs=Xe(this._editor);let y=this._edit.map((K)=>K?.edit?.replacements[0]??null).map((K)=>K?Qo(K,this._editor.getModel()).range.getStartPosition():null),I=this._editorObs.observePosition(y,this._store),D=d((K)=>{let q=I.read(K);if(!q)return null;let Q=this._editorObs.layoutInfoContentLeft.read(K),te=this._editorObs.scrollLeft.read(K);return new ei(Q+q.x-te,q.y)}),T=se.div({class:"inline-edits-collapsed-view",style:{position:"absolute",overflow:"visible",top:"0px",left:"0px",display:"block"}},[[this.getCollapsedIndicator(D)]]).keepUpdated(this._store).element;this._register(this._editorObs.createOverlayWidget({domNode:T,position:Ce(null),allowEditorOverflow:!1,minContentWidthInPx:Ce(0)})),this.isVisible=this._edit.map((K,q)=>!!K&&D.read(q)!==null)}triggerAnimation(){if(this._accessibilityService.isMotionReduced())return new Animation(null,null).finished;return this._iconRef.element.animate([{offset:0,transform:"translateY(-3px)"},{offset:0.2,transform:"translateY(1px)"},{offset:0.36,transform:"translateY(-1px)"},{offset:0.52,transform:"translateY(1px)"},{offset:0.68,transform:"translateY(-1px)"},{offset:0.84,transform:"translateY(1px)"},{offset:1,transform:"translateY(0px)"}],{duration:2000}).finished}getCollapsedIndicator(u){let p=this._editorObs.layoutInfoContentLeft,v=u.map((y,I)=>y?y.deltaX(-p.read(I)):null),C=this.createIconPath(v);return se.svg({class:"collapsedView",ref:this._iconRef,style:{position:"absolute",...yi((y)=>xc(this._editorObs).read(y)),overflow:"hidden",pointerEvents:"none"}},[se.svgElem("path",{class:"collapsedViewPath",d:C,fill:O(Kn)})])}createIconPath(u){return u.map((y)=>{if(!y)return new Lc().build();let I=y.deltaX(-3).deltaY(-1),D=I.deltaX(6),T=I.deltaY(1),K=D.deltaY(1),q=T.deltaX(3).deltaY(3);return new Lc().moveTo(I).lineTo(D).lineTo(K).lineTo(q).lineTo(T).lineTo(I).build()})}};x_=AN([FN(2,qt)],x_);var HN=function(m,u,p,v){var C=arguments.length,y=C<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,p):v,I;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")y=Reflect.decorate(m,u,p,v);else for(var D=m.length-1;D>=0;D--)if(I=m[D])y=(C<3?I(y):C>3?I(u,p,y):I(u,p))||y;return C>3&&y&&Object.defineProperty(u,p,y),y},SD=function(m,u){return function(p,v){u(p,v,m)}},D_=14,ny=0,Ws=4,T_=4,wD=2,W_=class m extends n{constructor(u,p,v,C,y,I){super();this._editor=u,this._languageService=I,this._onDidClick=this._register(new i),this.onDidClick=this._onDidClick.event,this._isHovered=P(this,!1),this.isHovered=this._isHovered,this._viewRef=se.ref(),this._editorObs=Xe(this._editor);let D=v.map((Q,te)=>{let oe;switch(Q){case Qt.Inactive:oe=wc;break;case Qt.Jump:oe=es;break;case Qt.Accept:oe=Cc;break}return{border:vi(oe,y).read(te).toString(),background:vo(C.read(te))}}),T=p.map((Q)=>Q?this.getState(Q):void 0),K=T.map((Q)=>Q?this.getRendering(Q,D):void 0);this.minEditorScrollHeight=d(this,(Q)=>{let te=T.read(Q);if(!te)return 0;return te.rect.read(Q).bottom+this._editor.getScrollTop()});let q=se.div({class:"inline-edits-custom-view",style:{position:"absolute",overflow:"visible",top:"0px",left:"0px",display:"block"}},[K]).keepUpdated(this._store);this._register(this._editorObs.createOverlayWidget({domNode:q.element,position:Ce(null),allowEditorOverflow:!1,minContentWidthInPx:Vr(this,(Q,te)=>{let oe=T.read(Q);if(!oe)return te??0;let ne=oe.rect.map((ae)=>ae.right).read(Q)+this._editorObs.layoutInfoVerticalScrollbarWidth.read(Q)+Ws-this._editorObs.layoutInfoContentLeft.read(Q);return Math.max(te??0,ne)}).recomputeInitiallyAndOnChange(this._store)})),this._register(H((Q)=>{if(!K.read(Q)){this._isHovered.set(!1,void 0);return}this._isHovered.set(q.isHovered.read(Q),void 0)}))}fitsInsideViewport(u,p,v){let C=this._editorObs.layoutInfoWidth.read(v),y=this._editorObs.layoutInfoContentLeft.read(v),I=this._editor.getLayoutInfo().verticalScrollbarWidth,D=this._editorObs.layoutInfoMinimap.read(v).minimapLeft!==0?this._editorObs.layoutInfoMinimap.read(v).minimapWidth:0,T=on(this._editorObs,u,void 0),K=ig(p,this._editor,this._editor.getModel()),q=Ws+D_;return T+K+q<C-y-I-D}getState(u){let p=d(this,(D)=>{let T=u.range.startLineNumber,K=u.range.endLineNumber,q=u.range.startColumn,Q=u.range.endColumn,te=this._editor.getModel()?.getLineCount()??0,oe=on(this._editorObs,new Y(T,T+1),D),ne=T+1<=te?on(this._editorObs,new Y(T+1,T+2),D):void 0,ae=T-1>=1?on(this._editorObs,new Y(T-1,T),D):void 0,ge=this._editor.getOffsetForColumn(T,q),Ie=this._editor.getOffsetForColumn(K,Q);return{lineWidth:oe,lineWidthBelow:ne,lineWidthAbove:ae,startContentLeftOffset:ge,endContentLeftOffset:Ie}}),v=u.range.startLineNumber,C=u.range.endLineNumber,y=this.fitsInsideViewport(new Y(v,C+1),u.content,void 0);return{rect:d(this,(D)=>{let T=this._editorObs.getOption(59).read(D).typicalHalfwidthCharacterWidth,{lineWidth:K,lineWidthBelow:q,lineWidthAbove:Q,startContentLeftOffset:te,endContentLeftOffset:oe}=p.read(D),ne=this._editorObs.layoutInfoContentLeft.read(D),ae=this._editorObs.observeLineHeightForLine(v).recomputeInitiallyAndOnChange(D.store).read(D),ge=this._editorObs.scrollTop.read(D),Ie=this._editorObs.scrollLeft.read(D),ke;if(v===C&&oe+5*T>=K&&y)ke="end";else if(q!==void 0&&q+D_-T_-Ws<te)ke="below";else if(Q!==void 0&&Q+D_-T_-Ws<te)ke="above";else ke="end";let Oe,Ve,Ue=0,Le=0;switch(ke){case"end":{Oe=this._editorObs.editor.getTopForLineNumber(v),Ve=K,Ue=Ws+D_;break}case"below":{Oe=this._editorObs.editor.getTopForLineNumber(v+1),Ve=te,Ue=Ws+T_,Le=ny+wD;break}case"above":{Oe=this._editorObs.editor.getTopForLineNumber(v-1),Ve=te,Ue=Ws+T_,Le=-ny+wD;break}}return St.fromLeftTopWidthHeight(ne+Ve-Ie,Oe-ge,T*u.content.length,ae).withMargin(ny,Ws).translateX(Ue).translateY(Le)}),label:u.content,kind:u.style}}getRendering(u,p){let v=document.createElement("div"),C=this._editor.getModel().tokenization.tokenizeLinesAt(1,[u.label])?.[0],y;if(C&&u.kind===__.Code)y=Fa.fromLineTokens(C).toLineTokens(u.label,this._languageService.languageIdCodec);else y=yt.createEmpty(u.label,this._languageService.languageIdCodec);let I=ld(new bc([y]),da.fromEditor(this._editor).withSetWidth(!1).withScrollBeyondLastColumn(0),[],v,!0);v.style.width=`${I.minWidthInPx}px`;let D=u.rect.map((T)=>T.withMargin(0,Ws));return se.div({class:"collapsedView",ref:this._viewRef,style:{position:"absolute",...yi((T)=>D.read(T)),overflow:"hidden",boxSizing:"border-box",cursor:"pointer",border:p.map((T)=>`1px solid ${T.border}`),borderRadius:`${wi}px`,backgroundColor:p.map((T)=>T.background),display:"flex",alignItems:"center",justifyContent:"center",whiteSpace:"nowrap"},onmousedown:(T)=>{T.preventDefault()},onclick:(T)=>{this._onDidClick.fire(Oo.create(T))}},[v])}};W_=HN([SD(4,Ne),SD(5,pt)],W_);var WN=0,BN=0,ry=1,VN=1,KN=3,sy=wi;class ay extends n{constructor(m,u,p,v){super();this._editor=m,this._edit=u,this._uiState=p,this._tabAction=v,this.onDidClick=S.None,this._display=d(this,(I)=>this._uiState.read(I)?"block":"none"),this._editorMaxContentWidthInRange=d(this,(I)=>{let D=this._originalDisplayRange.read(I);if(!D)return Ce(0);return this._editorObs.versionId.read(I),Vr(this,(T,K)=>{let q=on(this._editorObs,D,T);return Math.max(q,K??0)})}).map((I,D)=>I.read(D)),this._maxPrefixTrim=d(this,(I)=>{let D=this._uiState.read(I);if(!D)return{prefixTrim:0,prefixLeftOffset:0};return yc(D.deletions,D.originalRange,[],this._editor)}),this._editorLayoutInfo=d(this,(I)=>{let D=this._edit.read(I);if(!D)return null;if(!this._uiState.read(I))return null;let K=this._editorObs.layoutInfo.read(I),q=this._editorObs.scrollLeft.read(I),Q=this._editorObs.getOption(59).map((ke)=>ke.typicalHalfwidthCharacterWidth).read(I),te=K.contentLeft+Math.max(this._editorMaxContentWidthInRange.read(I),Q)-q,oe=D.originalLineRange,ne=this._originalVerticalStartPosition.read(I)??this._editor.getTopForLineNumber(oe.startLineNumber)-this._editorObs.scrollTop.read(I),ae=this._originalVerticalEndPosition.read(I)??this._editor.getTopForLineNumber(oe.endLineNumberExclusive)-this._editorObs.scrollTop.read(I),ge=K.contentLeft+this._maxPrefixTrim.read(I).prefixLeftOffset-q;if(te<=ge)return null;return{codeRect:St.fromLeftTopRightBottom(ge,ne,te,ae).withMargin(BN,WN),contentLeft:K.contentLeft}}).recomputeInitiallyAndOnChange(this._store),this._originalOverlay=se.div({style:{pointerEvents:"none"}},d(this,(I)=>{let D=go(this._editorLayoutInfo).read(I);if(!D)return;let T=D.map((oe)=>St.fromLeftTopRightBottom(oe.contentLeft-sy-ry,oe.codeRect.top,oe.contentLeft,oe.codeRect.bottom)),K=d(this,(oe)=>{let ne=D.read(oe).codeRect,ae=T.read(oe);return ne.intersectHorizontal(new B(ae.left,Number.MAX_SAFE_INTEGER))}),q=this._uiState.map((oe)=>oe?.editorType===ti.DiffEditor?KN:VN).read(I),Q=K.map((oe)=>oe.withMargin(q,q)),te=vo(this._uiState.map((oe)=>oe?.editorType??ti.TextEditor).read(I));return[se.div({class:"originalSeparatorDeletion",style:{...Q.read(I).toStyles(),borderRadius:`${sy}px`,border:`${ry+q}px solid ${te}`,boxSizing:"border-box"}}),se.div({class:"originalOverlayDeletion",style:{...K.read(I).toStyles(),borderRadius:`${sy}px`,border:Ga(this._tabAction).map((oe)=>`${ry}px solid ${O(oe)}`),boxSizing:"border-box",backgroundColor:O(Ta)}}),se.div({class:"originalOverlayHiderDeletion",style:{...T.read(I).toStyles(),backgroundColor:te}})]})).keepUpdated(this._store),this._nonOverflowView=se.div({class:"inline-edits-view",style:{position:"absolute",overflow:"visible",top:"0px",left:"0px",display:this._display}},[[this._originalOverlay]]).keepUpdated(this._store),this.isHovered=Ce(!1),this._editorObs=Xe(this._editor);let C=d(this,(I)=>{let D=this._edit.read(I);return D?new o(D.originalLineRange.startLineNumber,1):null}),y=d(this,(I)=>{let D=this._edit.read(I);return D?new o(D.originalLineRange.endLineNumberExclusive,1):null});this._originalDisplayRange=this._uiState.map((I)=>I?.originalRange),this._originalVerticalStartPosition=this._editorObs.observePosition(C,this._store).map((I)=>I?.y),this._originalVerticalEndPosition=this._editorObs.observePosition(y,this._store).map((I)=>I?.y),this._register(this._editorObs.createOverlayWidget({domNode:this._nonOverflowView.element,position:Ce(null),allowEditorOverflow:!1,minContentWidthInPx:d(this,(I)=>{let D=this._editorLayoutInfo.read(I);if(D===null)return 0;return D.codeRect.width})}))}}var zN=function(m,u,p,v){var C=arguments.length,y=C<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,p):v,I;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")y=Reflect.decorate(m,u,p,v);else for(var D=m.length-1;D>=0;D--)if(I=m[D])y=(C<3?I(y):C>3?I(u,p,y):I(u,p))||y;return C>3&&y&&Object.defineProperty(u,p,y),y},CD=function(m,u){return function(p,v){u(p,v,m)}},Tc=1,UN=1,$N=3,dy=wi,X_=class m extends n{constructor(u,p,v,C,y){super();this._editor=u,this._input=p,this._tabAction=v,this._languageService=y,this._onDidClick=this._register(new i),this.onDidClick=this._onDidClick.event,this._state=d(this,(I)=>{let D=this._input.read(I);if(!D)return;let T=this._editor.getModel(),K=T.getEOL();if(D.startColumn===1&&D.lineNumber>1&&T.getLineLength(D.lineNumber)!==0&&D.text.endsWith(K)&&!D.text.startsWith(K)){let q=T.getLineLength(D.lineNumber-1)+1;return{lineNumber:D.lineNumber-1,column:q,text:K+D.text.slice(0,-K.length)}}return{lineNumber:D.lineNumber,column:D.startColumn,text:D.text}}),this._trimVertically=d(this,(I)=>{let D=this._state.read(I);if(!D)return{topOffset:0,contentHeight:0,linesTop:0,linesBottom:0};let T=D.text,K=this._editor.getLineHeightForPosition(new o(D.lineNumber,1)),q=this._editor.getModel().getEOL(),Q=T.split(q).length,te=0,oe=0;if(T.trim()!==""){let ne=0;for(;ne<T.length&&T.startsWith(q,ne);ne+=q.length)te+=1;for(let ae=T.length;ae>ne&&T.endsWith(q,ae);ae-=q.length)oe+=1}return{topOffset:te*K,contentHeight:(Q-te-oe)*K,linesTop:te,linesBottom:oe}}),this._maxPrefixTrim=d(this,(I)=>{let D=this._state.read(I);if(!D)return{prefixLeftOffset:0,prefixTrim:0};let T=this._editor.getModel(),K=T.getEOL(),q=this._trimVertically.read(I),Q=D.text.split(K),te=Q.slice(q.linesTop,Q.length-q.linesBottom);if(q.linesTop===0)te[0]=T.getLineContent(D.lineNumber)+te[0];let oe=new Y(D.lineNumber,D.lineNumber+(q.linesTop>0?0:1));return yc([],oe,te,this._editor)}),this._ghostText=d((I)=>{let D=this._state.read(I),T=this._maxPrefixTrim.read(I);if(!D)return;let q=this._editor.getModel().getEOL(),te=D.text.split(q).map((oe,ne)=>new fc(new t(ne+1,ne===0?1:T.prefixTrim+1,ne+1,oe.length+1),"modified-background",0));return new Rs(D.lineNumber,[new Md(D.column,D.text,!1,te)])}),this._display=d(this,(I)=>this._state.read(I)?"block":"none"),this._editorMaxContentWidthInRange=d(this,(I)=>{let D=this._state.read(I);if(!D)return 0;this._editorObs.versionId.read(I);let T=this._editor.getModel(),K=T.getEOL(),q=D.text.startsWith(K)?"":T.getValueInRange(new t(D.lineNumber,1,D.lineNumber,D.column)),Q=T.getValueInRange(new t(D.lineNumber,D.column,D.lineNumber,T.getLineLength(D.lineNumber)+1)),oe=(q+D.text+Q).split(K),ne=da.fromEditor(this._editor).withSetWidth(!1).withScrollBeyondLastColumn(0),ae=oe.map((ge)=>{let Ie=T.tokenization.tokenizeLinesAt(D.lineNumber,[ge])?.[0],ke;if(Ie)ke=Fa.fromLineTokens(Ie).toLineTokens(ge,this._languageService.languageIdCodec);else ke=yt.createEmpty(ge,this._languageService.languageIdCodec);return ld(new bc([ke]),ne,[],g("div"),!0).minWidthInPx});return Math.max(...ae)}),this.startLineOffset=this._trimVertically.map((I)=>I.topOffset),this.originalLines=this._state.map((I)=>I?new Y(I.lineNumber,Math.min(I.lineNumber+2,this._editor.getModel().getLineCount()+1)):void 0),this._overlayLayout=d(this,(I)=>{this._ghostText.read(I);let D=this._state.read(I);if(!D)return null;this._editorObs.observePosition(P(this,new o(D.lineNumber,D.column)),I.store).read(I);let T=this._editorObs.layoutInfo.read(I),K=this._editorObs.scrollLeft.read(I),q=this._editorObs.layoutInfoVerticalScrollbarWidth.read(I),Q=T.contentLeft+this._editorMaxContentWidthInRange.read(I)-K,te=this._maxPrefixTrim.read(I).prefixLeftOffset??0,oe=T.contentLeft+te-K;if(Q<=oe)return null;let{topOffset:ne,contentHeight:ae}=this._trimVertically.read(I),ge=this._editorObs.scrollTop.read(I),Ie=this._editor.getTopForLineNumber(D.lineNumber)-ge+ne,ke=Ie+ae,Oe=new St(oe,Ie,Q,ke);return{overlay:Oe,startsAtContentLeft:te===0,contentLeft:T.contentLeft,minContentWidthRequired:te+Oe.width+q}}).recomputeInitiallyAndOnChange(this._store),this._modifiedOverlay=se.div({style:{pointerEvents:"none"}},d(this,(I)=>{let D=go(this._overlayLayout).read(I);if(!D)return;let T=D.map((oe)=>St.fromLeftTopRightBottom(oe.contentLeft-dy-Tc,oe.overlay.top,oe.contentLeft,oe.overlay.bottom)).read(I),K=this._input.map((oe)=>oe?.editorType===ti.DiffEditor?$N:UN).read(I),q=D.map((oe)=>oe.overlay.withMargin(0,Tc,Tc,oe.startsAtContentLeft?0:Tc).intersectHorizontal(new B(T.left,Number.MAX_SAFE_INTEGER))),Q=q.map((oe)=>oe.withMargin(K,K)),te=vo(this._input.read(void 0)?.editorType??ti.TextEditor);return[se.div({class:"originalUnderlayInsertion",style:{...Q.read(I).toStyles(),borderRadius:dy,border:`${Tc+K}px solid ${te}`,boxSizing:"border-box"}}),se.div({class:"originalOverlayInsertion",style:{...q.read(I).toStyles(),borderRadius:dy,border:Hs(this._tabAction).map((oe)=>`${Tc}px solid ${O(oe)}`),boxSizing:"border-box",backgroundColor:O(r_)}}),se.div({class:"originalOverlayHiderInsertion",style:{...T.toStyles(),backgroundColor:te}})]})).keepUpdated(this._store),this._view=se.div({class:"inline-edits-view",style:{position:"absolute",overflow:"visible",top:"0px",left:"0px",display:this._display}},[[this._modifiedOverlay]]).keepUpdated(this._store),this._editorObs=Xe(this._editor),this._ghostTextView=this._register(C.createInstance(ya,this._editor,d((I)=>{let D=this._ghostText.read(I);if(!D)return;return{ghostText:D,handleInlineCompletionShown:(T)=>{},warning:void 0}}),{extraClasses:["inline-edit"],isClickable:!0,shouldKeepCursorStable:!0})),this.isHovered=this._ghostTextView.isHovered,this._register(this._ghostTextView.onDidClick((I)=>{this._onDidClick.fire(new Oo(I))})),this._register(this._editorObs.createOverlayWidget({domNode:this._view.element,position:Ce(null),allowEditorOverflow:!1,minContentWidthInPx:d(this,(I)=>{let D=this._overlayLayout.read(I);if(D===null)return 0;return D.minContentWidthRequired})}))}};X_=zN([CD(3,L),CD(4,pt)],X_);var jN=function(m,u,p,v){var C=arguments.length,y=C<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,p):v,I;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")y=Reflect.decorate(m,u,p,v);else for(var D=m.length-1;D>=0;D--)if(I=m[D])y=(C<3?I(y):C>3?I(u,p,y):I(u,p))||y;return C>3&&y&&Object.defineProperty(u,p,y),y},yD=function(m,u){return function(p,v){u(p,v,m)}},eb=class m extends n{constructor(u,p,v,C,y,I){super();this._editor=u,this._edit=p,this._editorType=v,this._tabAction=C,this._languageService=y,this._themeService=I,this._onDidClick=this._register(new i),this.onDidClick=this._onDidClick.event,this._maxPrefixTrim=this._edit.map((D,T)=>D?yc(D.replacements.flatMap((K)=>[K.originalRange,K.modifiedRange]),D.originalRange,D.modifiedLines,this._editor.editor,T):void 0),this._modifiedLineElements=d(this,(D)=>{let T=[],K=0,q=this._maxPrefixTrim.read(D),Q=this._edit.read(D);if(!Q||!q)return;let te=q.prefixTrim,oe=GN(Q.replacements.map((ge)=>ge.modifiedRange)).map((ge)=>new t(ge.startLineNumber,ge.startColumn-te,ge.endLineNumber,ge.endColumn-te)),ne=this._editor.model.get(),ae=Q.modifiedRange.startLineNumber;for(let ge=0;ge<Q.modifiedRange.length;ge++){let Ie=document.createElement("div"),ke=ae+ge,Oe=Q.modifiedLines[ge].slice(te),Ve=ne.tokenization.tokenizeLinesAt(ke,[Oe])?.[0],Ue;if(Ve)Ue=Fa.fromLineTokens(Ve).toLineTokens(Oe,this._languageService.languageIdCodec);else Ue=yt.createEmpty(Oe,this._languageService.languageIdCodec);let Le=[];for(let Je of oe.filter((tt)=>tt.startLineNumber===ke)){let tt=Math.min(Je.endColumn,Oe.length+1);Le.push(new fc(new t(1,Je.startColumn,1,tt),"inlineCompletions-modified-bubble",0))}let He=ld(new bc([Ue]),da.fromEditor(this._editor.editor).withSetWidth(!1).withScrollBeyondLastColumn(0),Le,Ie,!0);this._editor.getOption(59).read(D),K=Math.max(K,He.minWidthInPx),T.push(Ie)}return{lines:T,requiredWidth:K}}),this._layout=d(this,(D)=>{let T=this._modifiedLineElements.read(D),K=this._maxPrefixTrim.read(D),q=this._edit.read(D);if(!T||!K||!q)return;let{prefixLeftOffset:Q}=K,{requiredWidth:te}=T,oe=this._editor.observeLineHeightsForLineRange(q.originalRange).read(D),ne=(()=>{let lt=oe.slice(0,q.modifiedRange.length);while(lt.length<q.modifiedRange.length)lt.push(oe[oe.length-1]);return lt})(),ae=this._editor.layoutInfoContentLeft.read(D),ge=this._editor.layoutInfoVerticalScrollbarWidth.read(D),Ie=this._editor.scrollLeft.read(D),ke=this._editor.scrollTop.read(D),Oe=ae-Ie,Ve=this._editor.editor.getModel(),Ue=q.originalRange.mapToLineArray((lt)=>this._editor.editor.getOffsetForColumn(lt,Ve.getLineMaxColumn(lt))-Q),Le=Math.max(...Ue,te),He=q.originalRange.startLineNumber,Je=q.originalRange.endLineNumberExclusive-1,tt=this._editor.editor.getTopForLineNumber(He)-ke,ot=this._editor.editor.getBottomForLineNumber(Je)-ke,qe=St.fromLeftTopWidthHeight(Oe+Q,tt,Le,ot-tt),nt=St.fromLeftTopWidthHeight(qe.left,qe.bottom,qe.width,ne.reduce((lt,di)=>lt+di,0)),ft=St.hull([qe,nt]),st=ft.intersectVertical(new B(qe.bottom,Number.MAX_SAFE_INTEGER)),vt=new St(st.left,st.top,st.right,st.bottom);return{originalLinesOverlay:qe,modifiedLinesOverlay:nt,background:ft,lowerBackground:st,lowerText:vt,modifiedLineHeights:ne,minContentWidthRequired:Q+Le+ge}}),this._viewZoneInfo=d((D)=>{if(!this._editor.getOption(71).map((oe)=>oe.edits.allowCodeShifting==="always").read(D))return;let K=this._layout.read(D),q=this._edit.read(D);if(!K||!q)return;let Q=K.lowerBackground.height,te=q.originalRange.endLineNumberExclusive;return{height:Q,lineNumber:te}}),this.minEditorScrollHeight=d(this,(D)=>{let T=go(this._layout).read(D);if(!T||this._viewZoneInfo.read(D)!==void 0)return 0;return T.read(D).lowerText.bottom+this._editor.editor.getScrollTop()}),this._div=se.div({class:"line-replacement"},[d(this,(D)=>{let T=go(this._layout).read(D),K=this._modifiedLineElements.read(D);if(!T||!K)return[];let q=T.read(D),Q=this._editor.layoutInfoContentLeft.read(D),te=this._editorType.read(D)===ti.DiffEditor?3:1;K.lines.forEach((ge,Ie)=>{ge.style.width=`${q.lowerText.width}px`,ge.style.height=`${q.modifiedLineHeights[Ie]}px`,ge.style.position="relative"});let oe=Hs(this._tabAction).read(D),ne=Ga(this._tabAction).read(D),ae=vo(this._editorType.read(D));return[se.div({style:{position:"absolute",...yi((ge)=>xc(this._editor).read(ge)),overflow:"hidden",pointerEvents:"none"}},[se.div({class:"borderAroundLineReplacement",style:{position:"absolute",...yi((ge)=>T.read(ge).background.translateX(-Q).withMargin(te)),borderRadius:`${wi}px`,border:`${te+1}px solid ${ae}`,boxSizing:"border-box",pointerEvents:"none"}}),se.div({class:"originalOverlayLineReplacement",style:{position:"absolute",...yi((ge)=>T.read(ge).background.translateX(-Q)),borderRadius:`${wi}px`,border:vi(ne,this._themeService).map((ge)=>`1px solid ${ge.toString()}`),pointerEvents:"none",boxSizing:"border-box",background:O(Ta)}}),se.div({class:"modifiedOverlayLineReplacement",style:{position:"absolute",...yi((ge)=>T.read(ge).lowerBackground.translateX(-Q)),borderRadius:`0 0 ${wi}px ${wi}px`,background:ae,boxShadow:`${O(bf)} 0 6px 6px -6px`,border:`1px solid ${O(oe)}`,boxSizing:"border-box",overflow:"hidden",cursor:"pointer",pointerEvents:"auto"},onmousedown:(ge)=>{ge.preventDefault()},onclick:(ge)=>this._onDidClick.fire(Oo.create(ge))},[se.div({style:{position:"absolute",top:0,left:0,width:"100%",height:"100%",background:O(sD)}})]),se.div({class:"modifiedLinesLineReplacement",style:{position:"absolute",boxSizing:"border-box",...yi((ge)=>T.read(ge).lowerText.translateX(-Q)),fontFamily:this._editor.getOption(58),fontSize:this._editor.getOption(61),fontWeight:this._editor.getOption(62),pointerEvents:"none",whiteSpace:"nowrap",borderRadius:`0 0 ${wi}px ${wi}px`,overflow:"hidden"}},[...K.lines])])]})]).keepUpdated(this._store),this.isHovered=this._editor.isTargetHovered((D)=>this._isMouseOverWidget(D),this._store),this._previousViewZoneInfo=void 0,this._register(E(()=>this._editor.editor.changeViewZones((D)=>this.removePreviousViewZone(D)))),this._register(u$(this._viewZoneInfo,({lastValue:D,newValue:T})=>{if(D===T||D?.height===T?.height&&D?.lineNumber===T?.lineNumber)return;this._editor.editor.changeViewZones((K)=>{if(this.removePreviousViewZone(K),!T)return;this.addViewZone(T,K)})})),this._register(this._editor.createOverlayWidget({domNode:this._div.element,minContentWidthInPx:d(this,(D)=>this._layout.read(D)?.minContentWidthRequired??0),position:Ce({preference:{top:0,left:0}}),allowEditorOverflow:!1}))}_isMouseOverWidget(u){let p=this._layout.get();if(!p||!(u.event instanceof Ha))return!1;return p.lowerBackground.containsPoint(new ei(u.event.relativePos.x,u.event.relativePos.y))}removePreviousViewZone(u){if(!this._previousViewZoneInfo)return;u.removeZone(this._previousViewZoneInfo.id);let p=this._editor.cursorLineNumber.get();if(p!==null&&p>=this._previousViewZoneInfo.lineNumber)this._editor.editor.setScrollTop(this._editor.scrollTop.get()-this._previousViewZoneInfo.height);this._previousViewZoneInfo=void 0}addViewZone(u,p){let v=p.addZone({afterLineNumber:u.lineNumber-1,heightInPx:u.height,domNode:g("div")});this._previousViewZoneInfo={height:u.height,lineNumber:u.lineNumber,id:v};let C=this._editor.cursorLineNumber.get();if(C!==null&&C>=u.lineNumber)this._editor.editor.setScrollTop(this._editor.scrollTop.get()+u.height)}};eb=jN([yD(4,pt),yD(5,Ne)],eb);function GN(m){let u=[];while(m.length){let p=m.shift();if(p.startLineNumber!==p.endLineNumber)m.push(new t(p.startLineNumber+1,1,p.endLineNumber,p.endColumn)),p=new t(p.startLineNumber,p.startColumn,p.startLineNumber,Number.MAX_SAFE_INTEGER);u.push(p)}return u}function xD(m,u){let p={};for(let[I,D]of Object.entries(u))if(Array.isArray(D))p[I]={min:0,rules:D};else p[I]={min:D.min??0,rules:D.rules??[{max:D.max,priority:D.priority,share:D.share}]};let v={},C=0;for(let[I,D]of Object.entries(p))v[I]=D.min,C+=D.min;if(C>m)return null;let y=m-C;while(y>0){let I=[];for(let[te,oe]of Object.entries(p))for(let ne=0;ne<oe.rules.length;ne++){let ae=oe.rules[ne],ge=v[te],Ie=ae.max??1/0;if(ge<Ie)I.push({partKey:te,ruleIndex:ne,rule:ae,priority:ae.priority??0,share:ae.share??1})}if(I.length===0)break;let D=Math.max(...I.map((te)=>te.priority)),T=I.filter((te)=>te.priority===D),K=T.reduce((te,oe)=>te+oe.share,0),q=0,Q=[];for(let te of T){let oe=te.rule,ne=v[te.partKey],ge=(oe.max??1/0)-ne,Ie=y*te.share/K,ke=Math.min(Ie,ge);Q.push({partKey:te.partKey,ruleIndex:te.ruleIndex,amount:ke}),q+=ke}if(q===0)break;for(let te of Q)v[te.partKey]+=te.amount;if(y-=q,y<0.0001)break}return v}var qN=function(m,u,p,v){var C=arguments.length,y=C<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,p):v,I;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")y=Reflect.decorate(m,u,p,v);else for(var D=m.length-1;D>=0;D--)if(I=m[D])y=(C<3?I(y):C>3?I(u,p,y):I(u,p))||y;return C>3&&y&&Object.defineProperty(u,p,y),y},ly=function(m,u){return function(p,v){u(p,v,m)}},tb=class m extends n{constructor(u,p,v,C,y,I){super();this._editor=u,this._data=v,this._themeService=C,this._keybindingService=y,this._contextKeyService=I,this._styles=d(this,(T)=>({background:vi(es,this._themeService).read(T).toString(),foreground:vi(Ka,this._themeService).read(T).toString(),border:vi(Kn,this._themeService).read(T).toString()})),this._pos=d(this,(T)=>this._editor.observePosition(d((K)=>this._data.read(K)?.jumpToPosition||null),T.store)).flatten(),this._layout=d(this,(T)=>{let K=this._data.read(T);if(!K)return;let q=K.jumpToPosition,Q=this._editor.observeLineHeightForLine(Ce(q.lineNumber)).read(T),te=this._editor.scrollLeft.read(T),oe=this._pos.read(T);if(!oe)return;let ne=this._editor.layoutInfo.read(T);return{widgetRect:St.fromLeftTopWidthHeight(oe.x+ne.contentLeft+2-te,oe.y,100,Q)}}),this._blink=ZN([{value:!0,durationMs:600},{value:!1,durationMs:600}]),this._widget=se.div({class:"inline-edit-jump-to-widget",style:{position:"absolute",display:this._layout.map((T)=>T?"flex":"none"),alignItems:"center",cursor:"pointer",userSelect:"none",...yi((T)=>this._layout.read(T)?.widgetRect)}},d((T)=>{if(this._data.read(T)===void 0)return[];return se.div({style:{display:"flex",alignItems:"center",gap:"4px",padding:"0 4px",height:"100%",backgroundColor:this._styles.map((K)=>K.background),["--vscodeIconForeground"]:this._styles.map((K)=>K.foreground),border:this._styles.map((K)=>`1px solid ${K.border}`),borderRadius:"3px",boxSizing:"border-box",fontSize:"11px",color:this._styles.map((K)=>K.foreground)}},[this._style==="cursor"?se.elem("div",{style:{borderLeft:"2px solid",height:14,opacity:this._blink.map((K)=>K?"0":"1")}}):[d(()=>se.elem("div",{},XN(this._keybinding))),se.elem("div",{style:{lineHeight:this._layout.map((K)=>K?.widgetRect.height),marginTop:"-2px"}},["to jump"])]])})),this._style=p.style,this._keybinding=this._getKeybinding(xr);let D=this._widget.keepUpdated(this._store);this._register(this._editor.createOverlayWidget({domNode:D.element,position:Ce(null),allowEditorOverflow:!1,minContentWidthInPx:Ce(0)})),this._register(this._editor.setDecorations(d((T)=>{let K=this._data.read(T);if(!K)return[];return[{range:t.fromPositions(K.jumpToPosition,K.jumpToPosition),options:{description:"inline-edit-jump-to-decoration",inlineClassNameAffectsLetterSpacing:!0,showIfCollapsed:!0,after:{content:this._style==="label"?" ":" "}}}]})))}_getKeybinding(u,p=Ot.ofCaller()){if(!u)return Ce(void 0);return Te(this,this._contextKeyService.onDidChangeContext,()=>this._keybindingService.lookupKeybinding(u),p)}};tb=qN([ly(3,Ne),ly(4,ce),ly(5,z)],tb);function ZN(m,u=Ot.ofCaller()){let p=0;return Te(void 0,(v)=>{p=0;let C=new be(()=>{p=(p+1)%m.length,v(null),C.schedule(m[p].durationMs)},0);return C.schedule(0),C},()=>m[p].value,u)}function XN(m){return d((u)=>se.div({style:{},ref:(p)=>{let v=u.store.add(new ca(p,pi,{disableTitle:!0,...Hg,keybindingLabelShadow:void 0,keybindingLabelForeground:O(Ka),keybindingLabelBackground:"transparent",keybindingLabelBorder:O(Ka),keybindingLabelBottomBorder:void 0}));u.store.add(H((C)=>{v.set(m.read(C))}))}}))}var YN=function(m,u,p,v){var C=arguments.length,y=C<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,p):v,I;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")y=Reflect.decorate(m,u,p,v);else for(var D=m.length-1;D>=0;D--)if(I=m[D])y=(C<3?I(y):C>3?I(u,p,y):I(u,p))||y;return C>3&&y&&Object.defineProperty(u,p,y),y},JN=function(m,u){return function(p,v){u(p,v,m)}};function QN(m,u,p){let v=Math.max(1,Math.min(p,m)),C=Math.max(1,v-u),y=Math.min(p+1,v+u+1);return new Y(C,y)}var ib=class m extends n{constructor(u,p,v,C,y){super();this._previewTextModel=u,this._properties=p,this._parentEditor=v,this._tabAction=C,this._instantiationService=y,this._previewRef=se.ref(),this.element=se.div({class:"preview",style:{},ref:this._previewRef}),this._state=d(this,(I)=>{let D=this._properties.read(I);if(!D)return;let T,K;if(D.nextCursorPosition!==null)T="original",K=D.nextCursorPosition.lineNumber;else if(D.diff[0].innerChanges?.every((ne)=>ne.modifiedRange.isEmpty()))T="original",K=D.diff[0].original.startLineNumber;else T="modified",K=D.diff[0].modified.startLineNumber;let q=T==="modified"?Jr.snapshot(this._previewTextModel):D.target,Q=this._parentEditorObs.getOption(71).read(I).edits.longDistanceHintContextLineCount,te=T==="modified"?this._previewTextModel:D.target.dangerouslyGetUnderlyingModel(),oe=QN(K,Q,te.getLineCount());return{mode:T,targetLineNumber:K,visibleLineRange:oe,textModel:q,diff:D.diff}}),this.updatePreviewEditorEffect=d(this,(I)=>{this._previewEditorObs.model.read(I);let D=this._state.read(I)?.visibleLineRange;if(!D)return;let T=[];if(D.startLineNumber>1)T.push(new t(1,1,D.startLineNumber-1,1));if(D.endLineNumberExclusive<this._previewTextModel.getLineCount()+1)T.push(new t(D.endLineNumberExclusive,1,this._previewTextModel.getLineCount()+1,1));this.previewEditor.setHiddenAreas(T,void 0,!0)}),this.horizontalContentRangeInPreviewEditorToShow=d(this,(I)=>this._getHorizontalContentRangeInPreviewEditorToShow(this.previewEditor,I)),this.contentHeight=d(this,(I)=>{let D=this._state.read(I);if(!D)return Ce(null);return this._previewEditorObs.observeLineHeightsForLineRange(D.visibleLineRange).map((T)=>T.reduce((K,q)=>K+q,0))}).flatten(),this._editorDecorations=d(this,(I)=>{let D=this._state.read(I);if(!D)return;let T={diff:D.diff},K=[],q=[],Q=re.register({className:"inlineCompletions-char-delete",description:"char-delete",isWholeLine:!1,zIndex:1}),te=re.register({className:"inlineCompletions-char-insert",description:"char-insert",isWholeLine:!0}),oe=re.register({className:"inlineCompletions-char-insert",description:"char-insert",shouldFillLineOnLineBreak:!0});for(let ne of T.diff)if(ne.modified.isEmpty||ne.original.isEmpty){if(!ne.original.isEmpty)K.push({range:ne.original.toInclusiveRange(),options:Q});if(!ne.modified.isEmpty)q.push({range:ne.modified.toInclusiveRange(),options:te})}else for(let ae of ne.innerChanges||[]){if(ne.original.contains(ae.originalRange.startLineNumber)&&!ae.originalRange.isEmpty())K.push({range:ae.originalRange,options:{description:"char-delete",shouldFillLineOnLineBreak:!1,className:Ic("inlineCompletions-char-delete",ae.originalRange.isEmpty()&&"empty"),zIndex:1}});if(ne.modified.contains(ae.modifiedRange.startLineNumber))q.push({range:ae.modifiedRange,options:oe})}return{originalDecorations:K,modifiedDecorations:q}}),this.previewEditor=this._register(this._createPreviewEditor()),this._parentEditorObs=Xe(this._parentEditor),this._register(H((I)=>{let D=this._state.read(I)?.textModel||null;if(D)this.previewEditor.setModel(D.dangerouslyGetUnderlyingModel())})),this._previewEditorObs=Xe(this.previewEditor),this._register(this._previewEditorObs.setDecorations(d((I)=>{let D=this._state.read(I),T=this._editorDecorations.read(I);return(D?.mode==="original"?T?.originalDecorations:T?.modifiedDecorations)??[]}))),this._register(H((I)=>{if(!this._properties.read(I))return;let D=this._parentEditorObs.cursorPosition.read(I);if(D)this.previewEditor.setPosition(this._previewTextModel.validatePosition(D),"longDistanceHintPreview")})),this._register(H((I)=>{let D=this._state.read(I);if(!D)return;let T=(D.visibleLineRange.endLineNumberExclusive-1).toString().length;this.previewEditor.updateOptions({lineNumbersMinChars:T+1})})),this._register(this._instantiationService.createInstance(Ec,this._previewEditorObs,d((I)=>{let D=this._state.read(I);if(!D)return;let T=this._properties.read(I);if(!T)return;return new fg(T.inlineSuggestInfo,Y.ofLength(D.targetLineNumber,1),T.model,void 0)}),this._tabAction,Ce(0),Ce(!1),P(this,!1))),this.updatePreviewEditorEffect.recomputeInitiallyAndOnChange(this._store)}_createPreviewEditor(){return this._instantiationService.createInstance(Ji,this._previewRef.element,{glyphMargin:!1,lineNumbers:"on",minimap:{enabled:!1},guides:{indentation:!1,bracketPairs:!1,bracketPairsHorizontal:!1,highlightActiveIndentation:!1},editContext:!1,rulers:[],padding:{top:0,bottom:0},selectOnLineNumbers:!1,selectionHighlight:!1,columnSelection:!1,overviewRulerBorder:!1,overviewRulerLanes:0,revealHorizontalRightPadding:0,bracketPairColorization:{enabled:!0,independentColorPoolPerBracketType:!1},scrollBeyondLastLine:!1,scrollbar:{vertical:"hidden",horizontal:"hidden",handleMouseWheel:!1},readOnly:!0,wordWrap:"off",wordWrapOverride1:"off",wordWrapOverride2:"off"},{contextKeyValues:{[Ct.inInlineEditsPreviewEditor.key]:!0},contributions:[]},this._parentEditor)}_getHorizontalContentRangeInPreviewEditorToShow(u,p){let v=this._state.read(p);if(!v)return;let C=v.diff,y=this._properties.read(p)?.nextCursorPosition,I=v.visibleLineRange,D=this._previewEditorObs.layoutInfo.read(p),T=on(this._previewEditorObs,I,p),K;if(y)K=t.fromPositions(y);else if(C[0].innerChanges)K=v.mode==="modified"?C[0].innerChanges[0].modifiedRange:C[0].innerChanges[0].originalRange;else return;let q=eO(u.getModel(),K,5),Q=this._previewEditorObs.getLeftOfPosition(q.getStartPosition(),p),te=this._previewEditorObs.getLeftOfPosition(q.getEndPosition(),p),oe=Ei(Q,0,T),ne=Ei(te,oe,T),ae=u.getModel().getLineFirstNonWhitespaceColumn(q.startLineNumber),ge=this._previewEditorObs.getLeftOfPosition(new o(q.startLineNumber,ae),p),Ie=new B(oe,ne);return{indentationEnd:ge,preferredRangeToReveal:Ie,maxEditorWidth:T+D.contentLeft,contentWidth:T,nonContentWidth:D.contentLeft}}layout(u,p){this.previewEditor.layout(u),this._previewEditorObs.editor.setScrollLeft(p)}};ib=YN([JN(4,L)],ib);function eO(m,u,p){let v=u.getStartPosition(),C=u.getEndPosition(),y=m.getLineContent(v.lineNumber);function I(q){let Q=y.charAt(q-1);return/[a-zA-Z0-9_]/.test(Q)}function D(q){let Q=y.charAt(q-1);return Q===" "||Q==="\t"}let T=v.column;while(T>1&&I(T)&&!D(T-1)&&v.column-T<p)T--;let K=C.column-1;while(K<=y.length&&I(K)&&!D(K+1)&&K-C.column<p)K++;return new t(v.lineNumber,T,C.lineNumber,K+1)}function ID(m,u){let{start:p,endExclusive:v}=m,C=Number.MAX_VALUE,y=0;for(let I of u){let D=y+I.width,T=Math.max(p,y),K=Math.min(v,D);if(T<K)C=Math.min(C,I.height);y=D}if(v>y)return 0;return C===Number.MAX_VALUE?0:C}class ob{constructor(m,u,p){this._lineRangeInfo=m,this.availableSpaceSizes=m.sizes.map((v,C)=>{let y=m.lineRange.startLineNumber+C,I=p(y);return new xa(Math.max(0,u-v.width-I),v.height)}),this.availableSpaceHeightPrefixSums=iO(this.availableSpaceSizes,(v)=>v.height),this.availableSpaceSizesTransposed=this.availableSpaceSizes.map((v)=>v.transpose())}getWidgetVerticalOutline(m,u,p){let v=m-this._lineRangeInfo.lineRange.startLineNumber,C=this._lineRangeInfo.top+this.availableSpaceHeightPrefixSums[v],y=B.ofStartAndLength(C,u),{previewEditorMargin:I,widgetPadding:D,widgetBorder:T,lowerBarHeight:K}=p;return y.withMargin(I+D+T).withMargin(0,K)}tryFindWidgetOutline(m,u,p,v){if(this._lineRangeInfo.lineRange.length<3)return;return tO(this._lineRangeInfo.lineRange.addMargin(-1,-1),m,(C)=>{let y=this.getWidgetVerticalOutline(C,u,v),I=ID(y.delta(-this._lineRangeInfo.top),this.availableSpaceSizesTransposed);if(I<v.minWidgetWidth)return;return{horizontalWidgetRange:B.ofStartAndLength(p-I,I),verticalWidgetRange:y}})}}function LD(m,u,p,v,C){let y=[],I=m.startLineNumber,D=p,T=[];for(let K=0;K<u.length;K++){let q=m.startLineNumber+K,Q=D+T.reduce((oe,ne)=>oe+ne.height,0),te=v.editor.getTopForLineNumber(q);if(K>0&&te!==Q)y.push({lineRange:Y.ofLength(I,q-I),top:D,sizes:T}),I=q,D=te,T=[];T.push(u[K])}return y.push({lineRange:Y.ofLength(I,m.endLineNumberExclusive-I),top:D,sizes:T}),d({owner:"splitIntoContinuousLineRanges"},(K)=>v.observeTopForLineNumber(m.endLineNumberExclusive-1).read(K)).read(C),y}function tO(m,u,p){for(let v=0;;v++){let C=u+v;if(C<=m.endLineNumberExclusive){let I=p(C);if(I!==void 0)return I}let y=u-v;if(y>=m.startLineNumber){let I=p(y);if(I!==void 0)return I}if(y<m.startLineNumber&&C>m.endLineNumberExclusive)return}}function iO(m,u){let p=[0],v=0;for(let C of m)v+=u(C),p.push(v);return p}var oO=function(m,u,p,v){var C=arguments.length,y=C<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,p):v,I;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")y=Reflect.decorate(m,u,p,v);else for(var D=m.length-1;D>=0;D--)if(I=m[D])y=(C<3?I(y):C>3?I(u,p,y):I(u,p))||y;return C>3&&y&&Object.defineProperty(u,p,y),y},vg=function(m,u){return function(p,v){u(p,v,m)}},nO=6,cy={EMPTY_SPACE:425,OVERLAY:375},rO=250,sO={previewEditorMargin:2,widgetPadding:2,widgetBorder:1,lowerBarHeight:20,minWidgetWidth:rO},nb=class m extends n{constructor(u,p,v,C,y,I,D,T,K){super();this._editor=u,this._viewState=p,this._previewTextModel=v,this._tabAction=C,this._instantiationService=y,this._themeService=I,this._keybindingService=D,this._modelService=T,this._languageService=K,this.onDidClick=S.None,this._viewWithElement=void 0,this._hintTextPosition=d(this,(q)=>{let Q=this._viewState.read(q);return Q?new o(Q.hint.lineNumber,Number.MAX_SAFE_INTEGER):null}),this._lineSizesAroundHintPosition=d(this,(q)=>{let Q=this._viewState.read(q),te=this._hintTextPosition.read(q);if(!Q||!te)return[];let oe=this._editorObs.model.read(q);if(!oe)return[];let ne=Y.ofLength(te.lineNumber,1).addMargin(5,5).intersect(Y.ofLength(1,oe.getLineCount()));if(!ne)return[];let ae=uD(this._editorObs,ne,q),ge=this._editorObs.observeTopForLineNumber(ne.startLineNumber).read(q);return LD(ne,ae,ge,this._editorObs,q)}),this._isVisibleDelayed=sk(d(this,(q)=>this._viewState.read(q)?.hint.isVisible),(q,Q)=>q===!0&&Q===!1?200:0),this._previewEditorLayoutInfo=d(this,(q)=>{let Q=this._viewState.read(q);if(!Q||!this._isVisibleDelayed.read(q))return;let te=this._lineSizesAroundHintPosition.read(q);if(te.length===0)return;let oe=this._editorObs.scrollTop.read(q),ne=this._editorObs.scrollLeft.read(q),ae=this._editorObs.layoutInfo.read(q),ge=this._previewEditor.contentHeight.read(q),Ie=this._previewEditor.horizontalContentRangeInPreviewEditorToShow.read(q);if(!ge||!Ie)return;let ke=ae.contentWidth-ae.verticalScrollbarWidth,Oe=ae.contentLeft+ke;if(!this._editorObs.cursorLineNumber.read(q))return;let Ue=sO,He=ge+2,Je,tt,ot=(sn)=>sn===Q.hint.lineNumber?40:20;for(let sn of te){let Or=new ob(sn,ke,ot);if(tt=Or,Je=Or.tryFindWidgetOutline(Q.hint.lineNumber,He,Oe,Ue),Je)break}let qe="empty-space";if(!Je){qe="overlay";let sn=Math.min(ae.width-ae.contentLeft,cy.OVERLAY),Or=tt??new ob(te[0],ke,ot);Je={horizontalWidgetRange:B.ofStartAndLength(Oe-sn,sn),verticalWidgetRange:Or.getWidgetVerticalOutline(Q.hint.lineNumber+2,He,Ue).delta(10)}}if(!Je)return;let nt=St.fromRanges(Je.horizontalWidgetRange,Je.verticalWidgetRange).translateX(-ne).translateY(-oe),{previewEditorMargin:ft,widgetPadding:st,widgetBorder:vt,lowerBarHeight:lt}=Ue,di=qe==="overlay"?cy.OVERLAY:cy.EMPTY_SPACE,_t=Ie.maxEditorWidth+ft+st,Et=Math.min(di,Math.max(_t,Ue.minWidgetWidth)),hi=xD(nt.width,{spaceBefore:{min:0,max:10,priority:1},content:{min:50,rules:[{max:150,priority:2},{max:Et,priority:1}]},spaceAfter:{min:10}});if(!hi)return null;let Kt=aO([hi.spaceBefore,hi.content,hi.spaceAfter],nt.left);nt.withHorizontalRange(Kt[0]);let Pt=nt.withHorizontalRange(Kt[1]);nt.withHorizontalRange(Kt[2]);let ui=Pt.withMargin(-st-vt-ft).withMargin(0,0,-lt,0),ci=ui.width-Ie.nonContentWidth,zt=ci*0.8,zi=Ie.preferredRangeToReveal.intersect(B.ofStartAndLength(Ie.preferredRangeToReveal.start,zt))??Ie.preferredRangeToReveal,Vs=dO(Ie.indentationEnd,ci,zi);return{codeEditorSize:ui.getSize(),codeScrollLeft:ne,contentLeft:ae.contentLeft,widgetRect:Pt,previewEditorMargin:ft,widgetPadding:st,widgetBorder:vt,lowerBarHeight:lt,desiredPreviewEditorScrollLeft:Vs.newScrollPosition}}),this._view=se.div({class:"inline-edits-view",style:{position:"absolute",overflow:"visible",top:"0px",left:"0px",display:d(this,(q)=>this._previewEditorLayoutInfo.read(q)?"block":"none")}},[d(this,(q)=>[this._widgetContent])]),this._widgetContent=d(this,(q)=>se.div({class:["inline-edits-long-distance-hint-widget","show-file-icons"],style:{position:"absolute",overflow:"hidden",cursor:"pointer",background:O(yr),padding:this._previewEditorLayoutInfo.map((Q)=>Q?.widgetPadding),boxSizing:"border-box",borderRadius:nO,border:d((Q)=>`${this._previewEditorLayoutInfo.read(Q)?.widgetBorder}px solid ${this._styles.read(Q).border}`),display:"flex",flexDirection:"column",opacity:d((Q)=>this._viewState.read(Q)?.hint.isVisible?"1":"0"),transition:"opacity 200ms ease-in-out",...yi((Q)=>this._previewEditorLayoutInfo.read(Q)?.widgetRect)},onmousedown:(Q)=>{Q.preventDefault()},onclick:()=>{this._viewState.read(void 0)?.model.jump()}},[se.div({class:["editorContainer"],style:{overflow:"hidden",padding:this._previewEditorLayoutInfo.map((Q)=>Q?.previewEditorMargin),background:this._styles.map((Q)=>Q.background),pointerEvents:"none"}},[d(this,(Q)=>this._previewEditor.element)]),se.div({class:"bar",style:{color:O(Cv),pointerEvents:"none",margin:"0 4px",height:this._previewEditorLayoutInfo.map((Q)=>Q?.lowerBarHeight),display:"flex",justifyContent:"space-between",alignItems:"center"}},[d(this,(Q)=>{let te=[],oe=this._viewState.read(Q);if(!oe)return te;let ne=this._editorObs.model.read(Q),ae=oe.target.uri,ge=!ne||!oe.target.targets(ne);if(ge){let Ue=mi(ae),Le=Hd(this._modelService,this._languageService,ae,Po.FILE);te.push(se.div({class:"target-file",style:{display:"flex",alignItems:"center",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}},[se.elem("span",{class:Le,style:{flexShrink:"0",marginRight:"4px"}}),Ue]))}else{let Ue=this._originalOutlineSource.read(Q),Le=this._originalTargetLineNumber.read(Q),He=Ue?.getAt(Le,Q).slice(0,1)??[],Je=[];if(He.length>0)for(let tt=0;tt<He.length;tt++){let ot=He[tt],qe=uu.toIcon(ot.kind);Je.push(se.div({class:"breadcrumb-item",style:{display:"flex",alignItems:"center",flex:"1 1 auto",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}},[rr(qe)," ",ot.name,...tt===He.length-1?[]:[rr(b.chevronRight)]]))}te.push(se.div({class:"outline-elements",style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}},Je))}let Ie=this._originalTargetLineNumber.read(Q),ke=ge?b.arrowRight:oe.hint.lineNumber<Ie?b.arrowDown:b.arrowUp,Oe=this._keybindingService.lookupKeybinding(Tl),Ve=ge?"Go to file":"Go to suggestion";if(Oe&&Oe.getLabel()==="Tab")Ve=ge?"Tab to open":"Tab to jump";return te.push(se.div({class:"go-to-label",style:{position:"relative",display:"flex",alignItems:"center",flex:"0 0 auto",paddingLeft:"6px"}},[Ve," ",rr(ke)])),te})])])),this._originalTargetLineNumber=d(this,(q)=>{let Q=this._viewState.read(q);if(!Q)return-1;if(Q.edit.action?.kind==="jumpTo")return Q.edit.action.position.lineNumber;return Q.diff[0]?.original.startLineNumber??-1}),this._originalOutlineSource=Wr(this,(q)=>{let Q=this._editorObs.model.read(q),te=Lu._breadcrumbsSourceFactory.read(q);return!Q||!te?void 0:te(Q,this._instantiationService)}),this._styles=d((q)=>{let Q=this._tabAction.read(q),te=ka(Fh,this._themeService).read(q),oe=Te(this._themeService.onDidColorThemeChange,()=>{let ae=this._themeService.getColorTheme();return ae.type==="hcDark"||ae.type==="hcLight"}).read(q),ne;if(oe)ne=te;else{let ae;switch(Q){case Qt.Inactive:ae=wc;break;case Qt.Jump:ae=es;break;case Qt.Accept:ae=Cc;break}ne=vi(ae,this._themeService).read(q)}return{border:ne.toString(),background:vo(this._viewState.map((ae)=>ae?.editorType??ti.TextEditor).read(q))}}),this._editorObs=Xe(this._editor),this._previewEditor=this._register(this._instantiationService.createInstance(ib,this._previewTextModel,d((q)=>{let Q=this._viewState.read(q);if(!Q)return;return{diff:Q.diff,model:Q.model,inlineSuggestInfo:Q.inlineSuggestInfo,nextCursorPosition:Q.nextCursorPosition,target:Q.target}}),this._editor,this._tabAction)),this._viewWithElement=this._view.keepUpdated(this._store),this._register(this._editorObs.createOverlayWidget({domNode:this._viewWithElement.element,position:Ce(null),allowEditorOverflow:!1,minContentWidthInPx:Ce(0)})),this._widgetContent.get().keepUpdated(this._store),this._register(H((q)=>{let Q=this._previewEditorLayoutInfo.read(q);if(!Q)return;this._previewEditor.layout(Q.codeEditorSize.toDimension(),Q.desiredPreviewEditorScrollLeft)})),this._isVisibleDelayed.recomputeInitiallyAndOnChange(this._store)}get isHovered(){return this._widgetContent.get().didMouseMoveDuringHover}};nb=oO([vg(4,L),vg(5,Ne),vg(6,ce),vg(7,bt),vg(8,pt)],nb);function aO(m,u=0){let p=[],v=u;for(let C of m)p.push(new B(v,v+C)),v+=C;return p}function dO(m,u,p){let v=new B(m,m+u);if(v.containsRange(p))return{newScrollPosition:m};if(p.length>u)return{newScrollPosition:p.start};if(p.endExclusive>v.endExclusive)return{newScrollPosition:p.endExclusive-u};if(p.start<v.start)return{newScrollPosition:p.start};return{newScrollPosition:m}}var lO=function(m,u,p,v){var C=arguments.length,y=C<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,p):v,I;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")y=Reflect.decorate(m,u,p,v);else for(var D=m.length-1;D>=0;D--)if(I=m[D])y=(C<3?I(y):C>3?I(u,p,y):I(u,p))||y;return C>3&&y&&Object.defineProperty(u,p,y),y},hy=function(m,u){return function(p,v){u(p,v,m)}},Nc=0,Eg=0,Nr=1,cO=1,hO=3,Bs=wi,uy=20,ED=12,Ug=class m extends n{static fitsInsideViewport(u,p,v,C){let y=Xe(u),I=y.layoutInfoWidth.read(C),D=y.layoutInfoContentLeft.read(C),T=u.getLayoutInfo().verticalScrollbarWidth,K=y.layoutInfoMinimap.read(C).minimapLeft!==0?y.layoutInfoMinimap.read(C).minimapWidth:0,q=on(y,v.displayRange,void 0),Q=v.lineEdit.newLines.reduce((ne,ae)=>Math.max(ne,ig(ae,u,p)),0),te=uy,oe=ED+2*Nr;return q+Q+te+oe<I-D-T-K}constructor(u,p,v,C,y,I,D,T){super();this._editor=u,this._edit=p,this._previewTextModel=v,this._uiState=C,this._tabAction=y,this._instantiationService=I,this._themeService=D,this._userInteractionService=T,this._onDidClick=this._register(new i),this.onDidClick=this._onDidClick.event,this._editorObs=Xe(this._editor),this._display=d(this,(Q)=>this._uiState.read(Q)?"block":"none"),this.previewRef=se.ref();let K=this._uiState.map((Q)=>Q?.editorType===ti.DiffEditor?hO:cO);this._editorContainer=se.div({class:["editorContainer"],style:{position:"absolute",overflow:"hidden",cursor:"pointer"},onmousedown:(Q)=>{Q.preventDefault()},onclick:(Q)=>{this._onDidClick.fire(Oo.create(Q))}},[se.div({class:"preview",style:{pointerEvents:"none"},ref:this.previewRef})]).keepUpdated(this._store),this.isHovered=this._userInteractionService.createHoverTracker(this._editorContainer.element,this._store),this.previewEditor=this._register(this._instantiationService.createInstance(Ji,this.previewRef.element,{glyphMargin:!1,lineNumbers:"off",minimap:{enabled:!1},guides:{indentation:!1,bracketPairs:!1,bracketPairsHorizontal:!1,highlightActiveIndentation:!1},editContext:!1,rulers:[],padding:{top:0,bottom:0},folding:!1,selectOnLineNumbers:!1,selectionHighlight:!1,columnSelection:!1,overviewRulerBorder:!1,overviewRulerLanes:0,lineDecorationsWidth:0,lineNumbersMinChars:0,revealHorizontalRightPadding:0,bracketPairColorization:{enabled:!0,independentColorPoolPerBracketType:!1},scrollBeyondLastLine:!1,scrollbar:{vertical:"hidden",horizontal:"hidden",handleMouseWheel:!1},readOnly:!0,wordWrap:"off",wordWrapOverride1:"off",wordWrapOverride2:"off"},{contextKeyValues:{[Ct.inInlineEditsPreviewEditor.key]:!0},contributions:[]},this._editor)),this._previewEditorObs=Xe(this.previewEditor),this._activeViewZones=[],this._updatePreviewEditor=d(this,(Q)=>{if(this._editorContainer.readEffect(Q),this._previewEditorObs.model.read(Q),this._display.read(Q),this._nonOverflowView)this._nonOverflowView.element.style.display=this._display.read(Q);let te=this._uiState.read(Q),oe=this._edit.read(Q);if(!te||!oe)return;let ne=oe.originalLineRange,ae=[];if(ne.startLineNumber>1)ae.push(new t(1,1,ne.startLineNumber-1,1));if(ne.startLineNumber+te.newTextLineCount<this._previewTextModel.getLineCount()+1)ae.push(new t(ne.startLineNumber+te.newTextLineCount,1,this._previewTextModel.getLineCount()+1,1));this.previewEditor.setHiddenAreas(ae,void 0,!0);let ge=[...this._activeViewZones];this._activeViewZones=[];let Ie=ne.endLineNumberExclusive-ne.startLineNumber-te.newTextLineCount;this.previewEditor.changeViewZones((ke)=>{if(ge.forEach((Oe)=>ke.removeZone(Oe)),Ie>0)this._activeViewZones.push(ke.addZone({afterLineNumber:ne.startLineNumber+te.newTextLineCount-1,heightInLines:Ie,showInHiddenAreas:!0,domNode:g("div.diagonal-fill.inline-edits-view-zone")}))})}),this._previewEditorWidth=d(this,(Q)=>{let te=this._edit.read(Q);if(!te)return 0;return this._updatePreviewEditor.read(Q),on(this._previewEditorObs,te.modifiedLineRange,Q)}),this._cursorPosIfTouchesEdit=d(this,(Q)=>{let te=this._editorObs.cursorPosition.read(Q),oe=this._edit.read(Q);if(!oe||!te)return;return oe.modifiedLineRange.contains(te.lineNumber)?te:void 0}),this._originalStartPosition=d(this,(Q)=>{let te=this._edit.read(Q);return te?new o(te.originalLineRange.startLineNumber,1):null}),this._originalEndPosition=d(this,(Q)=>{let te=this._edit.read(Q);return te?new o(te.originalLineRange.endLineNumberExclusive,1):null}),this._originalVerticalStartPosition=this._editorObs.observePosition(this._originalStartPosition,this._store).map((Q)=>Q?.y),this._originalVerticalEndPosition=this._editorObs.observePosition(this._originalEndPosition,this._store).map((Q)=>Q?.y),this._originalDisplayRange=this._edit.map((Q)=>Q?.displayRange),this._editorMaxContentWidthInRange=d(this,(Q)=>{let te=this._originalDisplayRange.read(Q);if(!te)return Ce(0);return this._editorObs.versionId.read(Q),Vr(this,(oe,ne)=>{let ae=on(this._editorObs,te,oe);return Math.max(ae,ne??0)})}).map((Q,te)=>Q.read(te));let q=fD(this._editor,this._store);this._previewEditorLayoutInfo=d(this,(Q)=>{let te=this._edit.read(Q);if(!te)return null;if(!this._uiState.read(Q))return null;let ne=te.originalLineRange,ae=this._editorObs.scrollLeft.read(Q),ge=this._editorMaxContentWidthInRange.read(Q),Ie=this._editorObs.layoutInfo.read(Q),ke=this._previewEditorWidth.read(Q),Oe=Ie.contentWidth-Ie.verticalScrollbarWidth,Ve=q.read(Q),Ue=Ie.contentLeft+Ie.contentWidth+Ve.left,Le=F(this._editor.getContainerDomNode()).innerWidth-Ue,He=F(this._editor.getContainerDomNode()).innerWidth-Ve.right,Je=Math.min(Ie.contentWidth*0.3,ke,100),tt=0,ot=tt+Le,qe=this._cursorPosIfTouchesEdit.read(Q),nt=Math.max(Oe+ae-tt-Math.max(0,Je-ot),Math.min(qe?gD(this._editorObs,qe,Q)+50:0,Oe+ae)),ft=Math.min(ge+uy,nt),st=ge+uy+ke+70,vt=nt-ft,lt,di;if(ft>ae)lt=0,di=Ie.contentLeft+ft-ae;else lt=ae-ft,di=Ie.contentLeft;let _t=this._originalVerticalStartPosition.read(Q)??this._editor.getTopForLineNumber(ne.startLineNumber)-this._editorObs.scrollTop.read(Q),Et=this._originalVerticalEndPosition.read(Q)??this._editor.getBottomForLineNumber(ne.endLineNumberExclusive-1)-this._editorObs.scrollTop.read(Q),hi=Ie.contentLeft-ae,Kt=St.fromLeftTopRightBottom(hi,_t,di,Et),Pt=Kt.height===0;if(!Pt)Kt=Kt.withMargin(Eg,Nc);let ci=this._previewEditorObs.observeLineHeightsForLineRange(te.modifiedLineRange).read(Q).reduce((bb,qD)=>bb+qD,0),zt=Et-_t,zi=Math.max(zt,ci),Vs=vt===0,sn=0,Or=Math.min(ke+ED,He+Ie.width-Ie.contentLeft-sn),Xa=St.fromLeftTopWidthHeight(Kt.right+sn,_t,Or,zi);if(!Pt)Xa=Xa.withMargin(Eg,Nc).translateX(Nc+Nr);else Xa=Xa.withMargin(Eg,Nc).translateY(Eg);return{codeRect:Kt,editRect:Xa,codeScrollLeft:ae,contentLeft:Ie.contentLeft,isInsertion:Pt,maxContentWidth:st,shouldShowShadow:Vs,desiredPreviewEditorScrollLeft:lt,previewEditorWidth:Or}}),this._stickyScrollController=ns.get(this._editorObs.editor),this._stickyScrollHeight=this._stickyScrollController?Te(this._stickyScrollController.onDidChangeStickyScrollHeight,()=>this._stickyScrollController.stickyScrollWidgetHeight):Ce(0),this._shouldOverflow=d(this,(Q)=>!1),this._originalBackgroundColor=Te(this,this._themeService.onDidColorThemeChange,()=>this._themeService.getColorTheme().getColor(Ta)??f.transparent),this._editorBackgroundColor=this._uiState.map((Q)=>vo(Q?.editorType??ti.TextEditor)),this._backgroundSvg=se.svg({transform:"translate(-0.5 -0.5)",style:{overflow:"visible",pointerEvents:"none",position:"absolute"}},[se.svgElem("path",{class:"rightOfModifiedBackgroundCoverUp",d:d(this,(Q)=>{let te=this._previewEditorLayoutInfo.read(Q);if(!te)return;if(this._originalBackgroundColor.read(Q).isTransparent())return;return new Lc().moveTo(te.codeRect.getRightTop()).lineTo(te.codeRect.getRightTop().deltaX(1000)).lineTo(te.codeRect.getRightBottom().deltaX(1000)).lineTo(te.codeRect.getRightBottom()).build()}),style:{fill:this._editorBackgroundColor}})]).keepUpdated(this._store),this._originalOverlay=se.div({style:{pointerEvents:"none",display:this._previewEditorLayoutInfo.map((Q)=>Q?.isInsertion?"none":"block")}},d(this,(Q)=>{let te=go(this._previewEditorLayoutInfo).read(Q);if(!te)return;let oe=this._editorBackgroundColor.read(Q),ne=K.read(Q),ae=Ga(this._tabAction).map((tt)=>`${Nr}px solid ${O(tt)}`),ge=`${Nr+ne}px solid ${oe}`,Ie=te.read(Q).codeScrollLeft!==0,ke=te.map((tt)=>tt.codeRect.bottom<tt.editRect.bottom),Oe=Bs*2+Nr*2,Ve=te.map((tt)=>St.fromLeftTopRightBottom(tt.contentLeft-Bs-Nr,tt.codeRect.top,tt.contentLeft,tt.codeRect.bottom+Oe)).read(Q),Ue=new B(Ve.left,Number.MAX_SAFE_INTEGER),Le=te.map((tt)=>tt.codeRect.intersectHorizontal(Ue)),He=Le.map((tt)=>tt.withMargin(ne,0,ne,ne).intersectHorizontal(Ue)),Je=Le.map((tt)=>St.fromLeftTopWidthHeight(tt.right-Oe+Nr,tt.bottom-Nr,Oe,Oe).intersectHorizontal(Ue));return[se.div({class:"originalSeparatorSideBySide",style:{...He.read(Q).toStyles(),boxSizing:"border-box",borderRadius:`${Bs}px 0 0 ${Bs}px`,borderTop:ge,borderBottom:ge,borderLeft:Ie?"none":ge}}),se.div({class:"originalOverlaySideBySide",style:{...Le.read(Q).toStyles(),boxSizing:"border-box",borderRadius:`${Bs}px 0 0 ${Bs}px`,borderTop:ae,borderBottom:ae,borderLeft:Ie?"none":ae,backgroundColor:O(Ta)}}),se.div({class:"originalCornerCutoutSideBySide",style:{pointerEvents:"none",display:ke.map((tt)=>tt?"block":"none"),...Je.read(Q).toStyles()}},[se.div({class:"originalCornerCutoutBackground",style:{position:"absolute",top:"0px",left:"0px",width:"100%",height:"100%",backgroundColor:vi(Ta,this._themeService).map((tt)=>tt.toString())}}),se.div({class:"originalCornerCutoutBorder",style:{position:"absolute",top:"0px",left:"0px",width:"100%",height:"100%",boxSizing:"border-box",borderTop:ae,borderRight:ae,borderRadius:"0 100% 0 0",backgroundColor:oe}})]),se.div({class:"originalOverlaySideBySideHider",style:{...Ve.toStyles(),backgroundColor:oe}})]})).keepUpdated(this._store),this._modifiedOverlay=se.div({style:{pointerEvents:"none"}},d(this,(Q)=>{let te=go(this._previewEditorLayoutInfo).read(Q);if(!te)return;let oe=te.map((Le)=>Le.codeRect.bottom<Le.editRect.bottom),ne=this._editorBackgroundColor.read(Q),ae=K.read(Q),ge=oe.map((Le)=>`0 ${Bs}px ${Bs}px ${Le?Bs:0}px`),Ie=vi(Hs(this._tabAction),this._themeService).map((Le)=>`1px solid ${Le.toString()}`),ke=`${Nr+ae}px solid ${ne}`,Oe=te.map((Le)=>Le.editRect.withMargin(0,Nr)),Ve=Oe.map((Le)=>Le.withMargin(ae,ae,ae,0)),Ue=d(this,(Le)=>{let He=Oe.read(Le),Je=te.read(Le);if(!Je.isInsertion||Je.contentLeft>=He.left)return St.fromLeftTopWidthHeight(He.left,He.top,0,0);return new St(Je.contentLeft,He.top,He.left,He.top+Nr*2)});return[se.div({class:"modifiedInsertionSideBySide",style:{...Ue.read(Q).toStyles(),backgroundColor:Hs(this._tabAction).map((Le)=>O(Le))}}),se.div({class:"modifiedSeparatorSideBySide",style:{...Ve.read(Q).toStyles(),borderRadius:ge,borderTop:ke,borderBottom:ke,borderRight:ke,boxSizing:"border-box"}}),se.div({class:"modifiedOverlaySideBySide",style:{...Oe.read(Q).toStyles(),borderRadius:ge,border:Ie,boxSizing:"border-box",backgroundColor:O(r_)}})]})).keepUpdated(this._store),this._nonOverflowView=se.div({class:"inline-edits-view",style:{position:"absolute",overflow:"visible",top:"0px",left:"0px",display:this._display}},[this._backgroundSvg,d(this,(Q)=>this._shouldOverflow.read(Q)?[]:[this._editorContainer,this._originalOverlay,this._modifiedOverlay])]).keepUpdated(this._store),this._register(this._editorObs.createOverlayWidget({domNode:this._nonOverflowView.element,position:Ce(null),allowEditorOverflow:!1,minContentWidthInPx:d(this,(Q)=>{let te=this._previewEditorLayoutInfo.read(Q)?.maxContentWidth;if(te===void 0)return 0;return te})})),this.previewEditor.setModel(this._previewTextModel),this._register(H((Q)=>{let te=this._previewEditorLayoutInfo.read(Q);if(!te)return;let oe=te.editRect.withMargin(-Eg,-Nc);this.previewEditor.layout({height:oe.height,width:te.previewEditorWidth+15}),this._editorContainer.element.style.top=`${oe.top}px`,this._editorContainer.element.style.left=`${oe.left}px`,this._editorContainer.element.style.width=`${te.previewEditorWidth+Nc}px`})),this._register(H((Q)=>{let te=this._previewEditorLayoutInfo.read(Q);if(!te)return;this._previewEditorObs.editor.setScrollLeft(te.desiredPreviewEditorScrollLeft)})),this._updatePreviewEditor.recomputeInitiallyAndOnChange(this._store)}};Ug=lO([hy(5,L),hy(6,Ne),hy(7,uo)],Ug);var uO=function(m,u,p,v){var C=arguments.length,y=C<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,p):v,I;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")y=Reflect.decorate(m,u,p,v);else for(var D=m.length-1;D>=0;D--)if(I=m[D])y=(C<3?I(y):C>3?I(u,p,y):I(u,p))||y;return C>3&&y&&Object.defineProperty(u,p,y),y},Zg=function(m,u){return function(p,v){u(p,v,m)}};class py{constructor(m,u,p){this.edit=m,this.editorType=u,this.alternativeAction=p}equals(m){return this.edit.equals(m.edit)&&this.alternativeAction===m.alternativeAction}}var to=1,DD="word-replacement-view-overlay",RD="word-replacement-view-widget",kD="word-replacement-view-replacement",gy="word-replacement-view-rename",Bd=class m extends n{static{this.MAX_LENGTH=100}constructor(u,p,v,C,y,I,D,T){super();this._editor=u,this._viewData=p,this._tabAction=v,this._languageService=C,this._themeService=y,this._keybindingService=I,this._hoverService=D,this._userInteractionService=T,this._onDidClick=this._register(new i),this.onDidClick=this._onDidClick.event,this._start=this._editor.observePosition(Ce(this._viewData.edit.range.getStartPosition()),this._store),this._end=this._editor.observePosition(Ce(this._viewData.edit.range.getEndPosition()),this._store),this._line=document.createElement("div"),this._primaryElement=P(this,null),this._secondaryElement=P(this,null),this.isHovered=d(this,(te)=>{let oe=this._primaryElement.read(te);if(!oe)return!1;return this._userInteractionService.createHoverTracker(oe.element,te.store).read(te)}),this._renderTextEffect=d(this,(te)=>{let oe=this._editor.model.read(void 0);if(!oe)return;let ne=oe.getLineContent(this._viewData.edit.range.startLineNumber),ae=Gn.replace(new B(this._viewData.edit.range.startColumn-1,this._viewData.edit.range.endColumn-1),this._viewData.edit.text),ge=ae.replace(ne),Ie=oe.tokenization.tokenizeLinesAt(this._viewData.edit.range.startLineNumber,[ge])?.[0],ke;if(Ie)ke=Fa.fromLineTokens(Ie).slice(ae.getRangeAfterReplace()).toLineTokens(this._viewData.edit.text,this._languageService.languageIdCodec);else ke=yt.createEmpty(this._viewData.edit.text,this._languageService.languageIdCodec);let Oe=ld(new bc([ke]),da.fromEditor(this._editor.editor).withSetWidth(!1).withScrollBeyondLastColumn(0),[],this._line,!0);this._line.style.width=`${Oe.minWidthInPx}px`});let K=this._editor.observeLineHeightForPosition(this._viewData.edit.range.getStartPosition()),q=ok(this._viewData.alternativeAction?.count??new Promise((te)=>te(void 0))).map((te)=>te.value),Q=d(this,(te)=>this._userInteractionService.readModifierKeyStatus(this._editor.editor.getDomNode(),te).shiftKey);this._layout=d(this,(te)=>{this._renderTextEffect.read(te);let oe=this._start.read(te),ne=this._end.read(te);if(!oe||!ne||oe.x>ne.x||oe.y>ne.y)return;let ae=K.read(te);if(ae<=0)return;let ge=this._editor.scrollLeft.read(te),Ie=this._editor.getOption(59).read(te).typicalHalfwidthCharacterWidth,ke=3*Ie,Ve=new ei(ke,4),Ue=void 0;if(this._viewData.alternativeAction){let ot=this._viewData.alternativeAction.label,qe=q.read(te),nt=Q.read(te),ft=qe!==void 0?qe===1?e(1283,"{0} 1 occurrence",ot):e(1284,"{0} {1} occurrences",ot,qe):ot,st=e(1285,"{0} show occurrences","[shift]");Ue={label:qe!==void 0?nt?ft:ot:ot,tooltip:ft?`${ft}
|
|
48
|
-
${st}`:void 0,icon:void 0,count:qe,keybinding:this._keybindingService.lookupKeybinding(xd),active:Q}}let Le=St.fromPoints(oe,ne).withHeight(ae).translateX(-ge),He=St.fromPointSize(Le.getLeftBottom().add(Ve),new ei(this._viewData.edit.text.length*Ie,Le.height)),Je=He.withWidth(He.width+(Ue?Ue.label.length*Ie+8+4+12:0)),tt=Je.withLeft(Le.left);return{alternativeAction:Ue,originalLine:Le,codeLine:He,modifiedLine:Je,lowerBackground:tt,lineHeight:ae}}),this.minEditorScrollHeight=d(this,(te)=>{let oe=go(this._layout).read(te);if(!oe)return 0;return oe.read(te).modifiedLine.bottom+to+this._editor.editor.getScrollTop()}),this._root=se.div({class:"word-replacement"},[d(this,(te)=>{let oe=go(this._layout).read(te);if(!oe)return[];let ne=Ga(this._tabAction).map((qe)=>O(qe)).read(te),ae=Hs(this._tabAction).map((qe)=>O(qe)).read(te);this._line.style.lineHeight=`${oe.read(te).modifiedLine.height+2*to}px`;let ge=Ce(!1),Ie=oe.map((qe)=>qe.alternativeAction),ke=d((qe)=>(Ie.read(qe)?.active.read(qe)??!1)||ge.read(qe)),Ve=Te(this._themeService.onDidColorThemeChange,()=>{let qe=this._themeService.getColorTheme();return qe.type==="hcDark"||qe.type==="hcLight"}).read(te)?ka($e,this._themeService).read(te):null,Ue={borderColor:Ve?Ve.toString():ae,backgroundColor:O(aD),color:"",opacity:"1"},Le={borderColor:Ve?Ve.toString():O(Kn),backgroundColor:O(es),color:O(Ka),opacity:"1"},He={borderColor:Ve?Ve.toString():ka(Rg,this._themeService).map((qe)=>qe.transparent(0.2).toString()).read(te),backgroundColor:vo(this._viewData.editorType),color:"",opacity:"0.7"},Je=vo(this._viewData.editorType),tt=d(this,(qe)=>ke.read(qe)?Ue:Ue),ot=d(this,(qe)=>ke.read(qe)?Le:He);return[se.div({id:DD,style:{position:"absolute",...yi((qe)=>xc(this._editor).read(qe)),overflow:"hidden",pointerEvents:"none"}},[se.div({style:{position:"absolute",...yi((qe)=>oe.read(qe).lowerBackground.withMargin(to,2*to,to,0)),background:Je,cursor:"pointer",pointerEvents:"auto"},onmousedown:(qe)=>this._mouseDown(qe)}),se.div({id:RD,style:{position:"absolute",...yi((qe)=>oe.read(qe).modifiedLine.withMargin(to,2*to)),width:void 0,pointerEvents:"auto",boxSizing:"border-box",borderRadius:`${wi}px`,background:Je,display:"flex",justifyContent:"left",outline:`2px solid ${Je}`},onmousedown:(qe)=>this._mouseDown(qe)},[se.div({id:kD,style:{fontFamily:this._editor.getOption(58),fontSize:this._editor.getOption(61),fontWeight:this._editor.getOption(62),width:yi((qe)=>oe.read(qe).codeLine.withMargin(to,2*to)).width,borderRadius:`${wi}px`,border:tt.map((qe)=>`${to}px solid ${qe.borderColor}`),boxSizing:"border-box",padding:`${to}px`,opacity:tt.map((qe)=>qe.opacity),background:tt.map((qe)=>qe.backgroundColor),display:"flex",justifyContent:"left",alignItems:"center",pointerEvents:"auto",cursor:"pointer"},obsRef:(qe)=>{this._primaryElement.set(qe,void 0)}},[this._line]),d(this,(qe)=>{let nt=Ie.read(qe);if(!nt)return;let ft=document.createElement("div");return qe.store.add(new ca(ft,pi,{...y0,disableTitle:!0})).set(nt.keybinding),se.div({id:gy,style:{position:"relative",borderRadius:`${wi}px`,borderTop:`${to}px solid`,borderRight:`${to}px solid`,borderBottom:`${to}px solid`,borderLeft:`${to}px solid`,borderColor:ot.map((vt)=>vt.borderColor),opacity:ot.map((vt)=>vt.opacity),color:ot.map((vt)=>vt.color),display:"flex",justifyContent:"center",alignItems:"center",padding:"0 4px 0 1px",marginLeft:"4px",background:ot.map((vt)=>vt.backgroundColor),cursor:"pointer",textWrap:"nowrap"},class:"inline-edit-alternative-action-label",obsRef:(vt)=>{this._secondaryElement.set(vt,void 0)},ref:(vt)=>{if(nt.tooltip)qe.store.add(this._hoverService.setupDelayedHoverAtMouse(vt,{content:nt.tooltip,appearance:{compact:!0}}))}},[ft,g("div.inline-edit-alternative-action-label-separator"),nt.icon?rr(nt.icon):void 0,nt.label])})]),se.div({style:{position:"absolute",...yi((qe)=>oe.read(qe).originalLine.withMargin(to)),boxSizing:"border-box",borderRadius:`${wi}px`,border:`${to}px solid ${ne}`,background:O(rD),pointerEvents:"none"}},[]),se.svg({width:11,height:14,viewBox:"0 0 11 14",fill:"none",style:{position:"absolute",left:oe.map((qe)=>qe.modifiedLine.left-16),top:oe.map((qe)=>qe.modifiedLine.top+Math.round((qe.lineHeight-14-5)/2)),pointerEvents:"none"},onmousedown:(qe)=>this._mouseDown(qe)},[se.svgElem("path",{d:"M1 0C1 2.98966 1 5.92087 1 8.49952C1 9.60409 1.89543 10.5 3 10.5H10.5",stroke:O(Rg)}),se.svgElem("path",{d:"M6 7.5L9.99999 10.49998L6 13.5",stroke:O(Rg)})])])]})]).keepUpdated(this._store),this._register(this._editor.createOverlayWidget({domNode:this._root.element,minContentWidthInPx:Ce(0),position:Ce({preference:{top:0,left:0}}),allowEditorOverflow:!1}))}_mouseDown(u){let p=gO(u.target,new Set([RD,kD,gy,DD]));if(!p)return;u.preventDefault(),this._onDidClick.fire(Oo.create(u,p===gy))}};Bd=uO([Zg(3,pt),Zg(4,Ne),Zg(5,ce),Zg(6,wn),Zg(7,uo)],Bd);function gO(m,u){let p=m;while(p){if(u.has(p.id))return p.id;p=p.parentElement}return null}class my extends n{constructor(m,u,p){super();this._originalEditor=m,this._state=u,this._modifiedTextModel=p,this._onDidClick=this._register(new i),this.onDidClick=this._onDidClick.event,this.isHovered=Xe(this._originalEditor).isTargetHovered((C)=>C.target.type===6&&C.target.detail.injectedText?.options.attachedData instanceof rb&&C.target.detail.injectedText.options.attachedData.owner===this,this._store),this._tokenizationFinished=fO(this._modifiedTextModel),this._decorations=d(this,(C)=>{let y=this._state.read(C);if(!y)return;let I=y.modifiedText,D=y.mode==="insertionInline",T=y.diff.length===1&&y.diff[0].innerChanges?.length===1,K=!0,q=[],Q=[],te=re.register({className:"inlineCompletions-line-insert",description:"line-insert",isWholeLine:!0,marginClassName:"gutter-insert"}),oe=re.register({className:"inlineCompletions-line-delete",description:"line-delete",isWholeLine:!0,marginClassName:"gutter-delete"}),ne=re.register({className:"inlineCompletions-char-delete",description:"char-delete",isWholeLine:!1,zIndex:1}),ae=re.register({className:"inlineCompletions-char-insert",description:"char-insert",isWholeLine:!0}),ge=re.register({className:"inlineCompletions-char-insert",description:"char-insert",shouldFillLineOnLineBreak:!0}),Ie=re.register({className:"inlineCompletions-char-insert diff-range-empty",description:"char-insert diff-range-empty"}),ke=re.register({className:"inlineCompletions-original-lines",description:"inlineCompletions-original-lines",isWholeLine:!1,shouldFillLineOnLineBreak:!0}),Oe=y.mode!=="sideBySide"&&y.mode!=="deletion"&&y.mode!=="insertionInline"&&y.mode!=="lineReplacement",Ve=y.mode==="lineReplacement";for(let Ue of y.diff){if(Oe){if(!Ue.original.isEmpty)q.push({range:Ue.original.toInclusiveRange(),options:oe});if(!Ue.modified.isEmpty)Q.push({range:Ue.modified.toInclusiveRange(),options:te})}if(Ue.modified.isEmpty||Ue.original.isEmpty){if(!Ue.original.isEmpty)q.push({range:Ue.original.toInclusiveRange(),options:ne});if(!Ue.modified.isEmpty)Q.push({range:Ue.modified.toInclusiveRange(),options:ae})}else{let Le=D&&pO(Ue);for(let He of Ue.innerChanges||[]){if(Ue.original.contains(He.originalRange.startLineNumber)&&!(Ve&&He.originalRange.isEmpty())){let Je=this._originalEditor.getModel()?.getValueInRange(He.originalRange,1);q.push({range:He.originalRange,options:{description:"char-delete",shouldFillLineOnLineBreak:!1,className:Ic("inlineCompletions-char-delete",He.originalRange.isSingleLine()&&y.mode==="insertionInline"&&"single-line-inline",He.originalRange.isEmpty()&&"empty",(He.originalRange.isEmpty()&&T||y.mode==="deletion"&&Je===`
|
|
49
|
-
`)&&K&&!Le&&"diff-range-empty"),inlineClassName:Le?Ic("strike-through","inlineCompletions"):null,zIndex:1}})}if(Ue.modified.contains(He.modifiedRange.startLineNumber))Q.push({range:He.modifiedRange,options:He.modifiedRange.isEmpty()&&K&&!Le&&T?Ie:ge});if(Le){let Je=I.getValueOfRange(He.modifiedRange),tt=Je.length>3?[{text:Je.slice(0,1),extraClasses:["start"],offsetRange:new B(He.modifiedRange.startColumn-1,He.modifiedRange.startColumn)},{text:Je.slice(1,-1),extraClasses:[],offsetRange:new B(He.modifiedRange.startColumn,He.modifiedRange.endColumn-2)},{text:Je.slice(-1),extraClasses:["end"],offsetRange:new B(He.modifiedRange.endColumn-2,He.modifiedRange.endColumn-1)}]:[{text:Je,extraClasses:["start","end"],offsetRange:new B(He.modifiedRange.startColumn-1,He.modifiedRange.endColumn)}];this._tokenizationFinished.read(C);let ot=this._modifiedTextModel.tokenization.getLineTokens(He.modifiedRange.startLineNumber);for(let{text:qe,extraClasses:nt,offsetRange:ft}of tt)q.push({range:t.fromPositions(He.originalRange.getEndPosition()),options:{description:"inserted-text",before:{tokens:ot.getTokensInRange(ft),content:qe,inlineClassName:Ic("inlineCompletions-char-insert",He.modifiedRange.isSingleLine()&&y.mode==="insertionInline"&&"single-line-inline",...nt),cursorStops:Uo.None,attachedData:new rb(this)},zIndex:2,showIfCollapsed:!0}})}}}}if(y.editorType===ti.DiffEditor){for(let Ue of y.diff)if(!Ue.original.isEmpty)q.push({range:Ue.original.toExclusiveRange(),options:ke})}return{originalDecorations:q,modifiedDecorations:Q}}),this._register(Xe(this._originalEditor).setDecorations(this._decorations.map((C)=>C?.originalDecorations??[])));let v=this._state.map((C)=>C?.modifiedCodeEditor);this._register(Hn((C,y)=>{let I=v.read(C);if(I)y.add(Xe(I).setDecorations(this._decorations.map((D)=>D?.modifiedDecorations??[])))})),this._register(this._originalEditor.onMouseUp((C)=>{if(C.target.type!==6)return;let y=C.target.detail.injectedText?.options.attachedData;if(y instanceof rb&&y.owner===this)this._onDidClick.fire(new Oo(C.event))}))}}class rb{constructor(m){this.owner=m}}function pO(m){if(!m.innerChanges)return!1;return m.innerChanges.every((u)=>ew(u.modifiedRange)&&ew(u.originalRange))}var mO=0;function fO(m){return Te(m.onDidChangeTokens,()=>mO++)}var _O=function(m,u,p,v){var C=arguments.length,y=C<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,p):v,I;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")y=Reflect.decorate(m,u,p,v);else for(var D=m.length-1;D>=0;D--)if(I=m[D])y=(C<3?I(y):C>3?I(u,p,y):I(u,p))||y;return C>3&&y&&Object.defineProperty(u,p,y),y},bO=function(m,u){return function(p,v){u(p,v,m)}},sb=class m extends n{constructor(u,p,v,C,y,I){super();this._editor=u,this._model=p,this._simpleModel=v,this._inlineSuggestInfo=C,this._showCollapsed=y,this._instantiationService=I,this._tabAction=d((q)=>this._model.read(q)?.tabAction.read(q)??Qt.Inactive),this.displayRange=d(this,(q)=>{let Q=this._uiState.read(q);if(!Q)return;if(Q.target.uri.toString()!==this._editorObs.model.read(q)?.uri.toString())return;if(Q.state?.kind==="custom"){let te=Q.state.displayLocation?.range;if(!te)throw new M("custom view should have a range");return new Y(te.startLineNumber,te.endLineNumber)}if(Q.state?.kind==="insertionMultiLine")return this._insertion.originalLines.read(q);return Q.edit.displayRange}),this._currentInlineEditCache=void 0,this._uiState=d(this,(q)=>{let Q=this._model.read(q),te=this._editorObs.model.read(q);if(!Q||!te||!this._constructorDone.read(q))return;let oe=Q.inlineEdit,ne,ae,ge=void 0;if(oe.edit)ae=Ri.fromEdit(oe.edit),ge=new Ma(oe.edit.apply(oe.originalText)),ne=Ph(ae,oe.originalText,ge);else ae=[],ne=[],ge=oe.originalText;let Ie=this._determineRenderState(Q,q,ne,ge);if(!Ie){J(Error(`unable to determine view: tried to render ${this._previousView?.view}`));return}let ke=this._getLongDistanceHintState(Q,q);if(ke&&ke.isVisible)Ie.viewData.setLongDistanceViewData(ke.lineNumber,oe.lineEdit.lineRange.startLineNumber);if(Ie.viewData.isForAnotherDocument=!oe.originalText.targets(te),Ie.kind===ht.SideBySide){let Ue=mD(ge.getValue(),oe.modifiedLineRange,te.getOptions().tabSize);ge=new Ma(Ue.applyToString(ge.getValue())),ae=pD(ae,Ue),ne=Ph(ae,oe.originalText,ge)}this._previewTextModel.setLanguage(te.getLanguageId());let Oe=this._previewTextModel.getValue();if(Oe!==ge.getValue()){this._previewTextModel.setEOL(te.getEndOfLineSequence());let Le=ir.replace(new B(0,Oe.length),ge.getValue()).removeCommonSuffixPrefix(Oe),He=Od(this._previewTextModel).getTextEdit(Le);this._previewTextModel.edit(He)}if(this._showCollapsed.read(q))Ie={kind:ht.Collapsed,viewData:Ie.viewData};Q.handleInlineEditShownNextFrame(Ie.kind,Ie.viewData);let Ve=oe.action?.kind==="jumpTo"?oe.action.position:null;return{state:Ie,diff:ne,edit:oe,newText:ge.getValue(),newTextLineCount:oe.modifiedLineRange.length,editorType:Q.editorType,longDistanceHint:ke,nextCursorPosition:Ve,target:oe.inlineCompletion.originalTextRef}}),this.inlineEditsIsHovered=d(this,(q)=>this._sideBySide.isHovered.read(q)||this._wordReplacementViews.read(q).some((Q)=>Q.isHovered.read(q))||this._deletion.isHovered.read(q)||this._inlineDiffView.isHovered.read(q)||this._lineReplacementView.isHovered.read(q)||this._insertion.isHovered.read(q)||this._customView.isHovered.read(q)||this._longDistanceHint.map((Q,te)=>Q?.isHovered.read(te)??!1).read(q)),this.gutterIndicatorOffset=d(this,(q)=>{if(this._uiState.read(q)?.state?.kind==="insertionMultiLine")return this._insertion.startLineOffset.read(q);return 0}),this._editorObs=Xe(this._editor),this._constructorDone=P(this,!1),this._previewTextModel=this._register(this._instantiationService.createInstance(nd,"",this._editor.getModel().getLanguageId(),{...nd.DEFAULT_CREATION_OPTIONS,bracketPairColorizationOptions:{enabled:!0,independentColorPoolPerBracketType:!1}},null)),this._sideBySide=this._register(this._instantiationService.createInstance(Ug,this._editor,this._model.map((q)=>q?.inlineEdit),this._previewTextModel,this._uiState.map((q)=>q&&q.state?.kind===ht.SideBySide?{newTextLineCount:q.newTextLineCount,editorType:q.editorType}:void 0),this._tabAction)),this._deletion=this._register(this._instantiationService.createInstance(ay,this._editor,this._model.map((q)=>q?.inlineEdit),this._uiState.map((q)=>q&&q.state?.kind===ht.Deletion?{originalRange:q.state.originalRange,deletions:q.state.deletions,editorType:q.editorType}:void 0),this._tabAction)),this._insertion=this._register(this._instantiationService.createInstance(X_,this._editor,this._uiState.map((q)=>q&&q.state?.kind===ht.InsertionMultiLine?{lineNumber:q.state.lineNumber,startColumn:q.state.column,text:q.state.text,editorType:q.editorType}:void 0),this._tabAction)),this._inlineCollapsedView=this._register(this._instantiationService.createInstance(x_,this._editor,this._model.map((q,Q)=>this._uiState.read(Q)?.state?.kind===ht.Collapsed?q?.inlineEdit:void 0))),this._customView=this._register(this._instantiationService.createInstance(W_,this._editor,this._model.map((q,Q)=>this._uiState.read(Q)?.state?.kind===ht.Custom?q?.displayLocation:void 0),this._tabAction,this._uiState.map((q)=>q?.editorType??ti.TextEditor))),this._showLongDistanceHint=this._editorObs.getOption(71).map(this,(q)=>q.edits.showLongDistanceHint),this._longDistanceHint=d(this,(q)=>{if(!this._showLongDistanceHint.read(q))return;return q.store.add(this._instantiationService.createInstance(nb,this._editor,this._uiState.map((Q,te)=>Q?.longDistanceHint?{hint:Q.longDistanceHint,newTextLineCount:Q.newTextLineCount,edit:Q.edit,diff:Q.diff,editorType:Q.editorType,model:this._simpleModel.read(te),inlineSuggestInfo:this._inlineSuggestInfo.read(te),nextCursorPosition:Q.nextCursorPosition,target:Q.target}:void 0),this._previewTextModel,this._tabAction))}).recomputeInitiallyAndOnChange(this._store),this._inlineDiffViewState=d(this,(q)=>{let Q=this._uiState.read(q);if(!Q||!Q.state)return;if(Q.state.kind==="wordReplacements"||Q.state.kind==="insertionMultiLine"||Q.state.kind==="collapsed"||Q.state.kind==="custom"||Q.state.kind==="jumpTo")return;return{modifiedText:new Ma(Q.newText),diff:Q.diff,mode:Q.state.kind,modifiedCodeEditor:this._sideBySide.previewEditor,editorType:Q.editorType}}),this._inlineDiffView=this._register(new my(this._editor,this._inlineDiffViewState,this._previewTextModel)),this._jumpToView=this._register(this._instantiationService.createInstance(tb,this._editorObs,{style:"label"},d((q)=>{let Q=this._uiState.read(q);if(Q?.state?.kind===ht.JumpTo)return{jumpToPosition:Q.state.position};return})));let D=gn({equalsFn:mv.arrayC(mv.thisC())},(q)=>{let Q=this._uiState.read(q);return Q?.state?.kind===ht.WordReplacements?Q.state.replacements.map((te)=>new py(te,Q.editorType,Q.state?.alternativeAction)):[]});this._wordReplacementViews=sc(this,D,(q,Q)=>Q.add(this._instantiationService.createInstance(Bd,this._editorObs,q,this._tabAction))),this._lineReplacementView=this._register(this._instantiationService.createInstance(eb,this._editorObs,this._uiState.map((q)=>q?.state?.kind===ht.LineReplacement?{originalRange:q.state.originalRange,modifiedRange:q.state.modifiedRange,modifiedLines:q.state.modifiedLines,replacements:q.state.replacements}:void 0),this._uiState.map((q)=>q?.editorType??ti.TextEditor),this._tabAction)),this._useCodeShifting=this._editorObs.getOption(71).map((q)=>q.edits.allowCodeShifting),this._renderSideBySide=this._editorObs.getOption(71).map((q)=>q.edits.renderSideBySide),this._register(H((q)=>{let Q=this._model.read(q);if(!Q)return;q.store.add(S.any(this._sideBySide.onDidClick,this._lineReplacementView.onDidClick,this._insertion.onDidClick,...this._wordReplacementViews.read(q).map((te)=>te.onDidClick),this._inlineDiffView.onDidClick,this._customView.onDidClick)((te)=>{if(this._viewHasBeenShownLongerThan(350))te.event.preventDefault(),Q.accept(te.alternativeAction)}))})),this._wordReplacementViews.recomputeInitiallyAndOnChange(this._store);let T=d(this,(q)=>Math.max(...this._wordReplacementViews.read(q).map((Q)=>Q.minEditorScrollHeight.read(q)),this._lineReplacementView.minEditorScrollHeight.read(q),this._customView.minEditorScrollHeight.read(q))).recomputeInitiallyAndOnChange(this._store),K;this._register(H((q)=>{let Q=T.read(q),te=this._editorObs.model.read(q);if(!te)return;this._editor.changeViewZones((oe)=>{let ne=this._editor.getScrollHeight(),ae=Q-ne+1;if(ae!==0&&K!==void 0)oe.removeZone(K),K=void 0;if(ae<=0)return;K=oe.addZone({afterLineNumber:te.getLineCount(),heightInPx:ae,domNode:g("div.minScrollHeightViewZone")})})})),this._constructorDone.set(!0,void 0)}_getLongDistanceHintState(u,p){if(u.inlineEdit.inlineCompletion.identity.jumpedTo.read(p))return;if(u.inlineEdit.action===void 0)return;let v=this._editorObs.model.read(p);if(!v||!u.inlineEdit.originalText.targets(v))return{isVisible:!0,lineNumber:u.inlineEdit.cursorPosition.lineNumber};if(this._currentInlineEditCache?.inlineSuggestionIdentity!==u.inlineEdit.inlineCompletion.identity)this._currentInlineEditCache={inlineSuggestionIdentity:u.inlineEdit.inlineCompletion.identity,firstCursorLineNumber:u.inlineEdit.cursorPosition.lineNumber};return{lineNumber:this._currentInlineEditCache.firstCursorLineNumber,isVisible:!u.inViewPort.read(p)}}_getCacheId(u){return u.inlineEdit.inlineCompletion.identity.id}_determineView(u,p,v,C){let y=u.inlineEdit,I=this._previousView?.id===this._getCacheId(u)&&this._previousView?.uri.toString()===this._editorObs.model.get().uri.toString(),D=this._previousView?.editorWidth!==this._editorObs.layoutInfoWidth.read(p)&&(this._previousView?.view===ht.SideBySide||this._previousView?.view===ht.LineReplacement);if(I&&!D)return this._previousView.view;let T=u.inlineEdit.inlineCompletion.action;if(T?.kind==="edit"&&T.alternativeAction)return ht.WordReplacements;let K=u.inlineEdit.inlineCompletion.originalTextRef.uri,q=this._editorObs.model.read(p)?.uri;if(q&&K.toString()!==q.toString())return ht.Custom;if(u.displayLocation&&!u.inlineEdit.inlineCompletion.identity.jumpedTo.read(p))return ht.Custom;let Q=y.originalLineRange.length,te=y.modifiedLineRange.length,oe=v.flatMap((ae)=>ae.innerChanges??[]),ne=oe.length===1;if(u.editorType!==ti.DiffEditor){if(ne&&this._useCodeShifting.read(p)!=="never"&&PD(v)){if(SO(v,y.cursorPosition))return ht.InsertionInline;return ht.LineReplacement}if(ND(oe,y,C))return ht.Deletion;if(TD(v)&&this._useCodeShifting.read(p)==="always")return ht.InsertionMultiLine;if(oe.every((ge)=>At.ofRange(ge.originalRange).columnCount<Bd.MAX_LENGTH&&At.ofRange(ge.modifiedRange).columnCount<Bd.MAX_LENGTH)&&ne&&Q===1&&te===1){let ge=oe.map((ke)=>C.getValueOfRange(ke.modifiedRange)),Ie=oe.map((ke)=>u.inlineEdit.originalText.getValueOfRange(ke.originalRange));if(!ge.some((ke)=>ke.includes("\t"))&&!Ie.some((ke)=>ke.includes("\t"))){if(!oe.some((ke)=>ke.originalRange.isEmpty())||!OD(oe.map((ke)=>new ct(ke.originalRange,"")),y.originalText).some((ke)=>ke.range.isEmpty()&&At.ofRange(ke.range).columnCount<Bd.MAX_LENGTH))return ht.WordReplacements}}}if(Q>0&&te>0){if(Q===1&&te===1&&u.editorType!==ti.DiffEditor)return ht.LineReplacement;if(this._renderSideBySide.read(p)!=="never"&&Ug.fitsInsideViewport(this._editor,this._previewTextModel,y,p))return ht.SideBySide;return ht.LineReplacement}if(u.editorType===ti.DiffEditor){if(ND(oe,y,C))return ht.Deletion;if(TD(v)&&this._useCodeShifting.read(p)==="always")return ht.InsertionMultiLine}return ht.SideBySide}_determineRenderState(u,p,v,C){if(u.inlineEdit.action?.kind==="jumpTo")return{kind:ht.JumpTo,position:u.inlineEdit.action.position,viewData:MD()};let y=u.inlineEdit,I=this._determineView(u,p,v,C);if(this._willRenderAboveCursor(p,y,I))switch(I){case ht.LineReplacement:case ht.WordReplacements:I=ht.SideBySide;break}this._previousView={id:this._getCacheId(u),view:I,editorWidth:this._editor.getLayoutInfo().width,timestamp:Date.now(),uri:this._editorObs.model.get().uri};let D=v.flatMap((te)=>te.innerChanges??[]),T=this._editor.getModel(),K=D.map((te)=>({originalRange:te.originalRange,modifiedRange:te.modifiedRange,original:y.originalText.getValueOfRange(te.originalRange),modified:C.getValueOfRange(te.modifiedRange)})),q=vO(y,K,T);switch(I){case ht.InsertionInline:return{kind:ht.InsertionInline,viewData:q};case ht.SideBySide:return{kind:ht.SideBySide,viewData:q};case ht.Collapsed:return{kind:ht.Collapsed,viewData:q};case ht.Custom:return{kind:ht.Custom,displayLocation:u.displayLocation,viewData:q}}if(I===ht.Deletion)return{kind:ht.Deletion,originalRange:y.originalLineRange,deletions:D.map((te)=>te.originalRange),viewData:q};if(I===ht.InsertionMultiLine){let te=D[0];return{kind:ht.InsertionMultiLine,lineNumber:te.originalRange.startLineNumber,column:te.originalRange.startColumn,text:C.getValueOfRange(te.modifiedRange),viewData:q}}let Q=K.map((te)=>new ct(te.originalRange,te.modified));if(Q.length===0)return;if(I===ht.WordReplacements){let te=wO(Q,y.originalText);if(te.some((oe)=>oe.range.isEmpty()))te=OD(Q,y.originalText);return{kind:ht.WordReplacements,replacements:te,alternativeAction:u.inlineEdit.action?.alternativeAction,viewData:q}}if(I===ht.LineReplacement)return{kind:ht.LineReplacement,originalRange:y.originalLineRange,modifiedRange:y.modifiedLineRange,modifiedLines:y.modifiedLineRange.mapToLineArray((te)=>C.getLineAt(te)),replacements:D.map((te)=>({originalRange:te.originalRange,modifiedRange:te.modifiedRange})),viewData:q};return}_willRenderAboveCursor(u,p,v){if(this._useCodeShifting.read(u)==="always")return!1;for(let y of p.multiCursorPositions){if(v===ht.WordReplacements&&y.lineNumber===p.originalLineRange.startLineNumber+1)return!0;if(v===ht.LineReplacement&&y.lineNumber>=p.originalLineRange.endLineNumberExclusive&&y.lineNumber<p.modifiedLineRange.endLineNumberExclusive+p.modifiedLineRange.length)return!0}return!1}_viewHasBeenShownLongerThan(u){let p=this._previousView?.timestamp;if(!p)throw new M("viewHasBeenShownLongThan called before a view has been shown");return Date.now()-p>=u}};sb=_O([bO(5,L)],sb);var MD=()=>new Xl(-1,-1,-1,-1,-1,-1,-1,!0);function vO(m,u,p){if(!m.edit)return MD();let v=m.cursorPosition,C=u.length===0?!1:u[0].modified.startsWith(p.getEOL());return new Xl(m.edit.replacements.length===0?0:m.edit.replacements[0].range.getStartPosition().column-v.column,m.lineEdit.lineRange.startLineNumber-v.lineNumber+(C&&m.lineEdit.lineRange.startLineNumber>=v.lineNumber?1:0),m.lineEdit.lineRange.length,m.lineEdit.newLines.length,u.reduce((I,D)=>I+D.original.length,0),u.reduce((I,D)=>I+D.modified.length,0),u.length,u.every((I)=>I.original===u[0].original&&I.modified===u[0].modified))}function PD(m){return m.every((p)=>p.innerChanges.every((v)=>u(v)));function u(p){if(!p.originalRange.isEmpty())return!1;if(p.modifiedRange.startLineNumber!==p.modifiedRange.endLineNumber)return!1;return!0}}function SO(m,u){if(!u)return!1;if(!PD(m))return!1;let p=u;return m.every((C)=>C.innerChanges.every((y)=>v(y)));function v(C){let y=C.originalRange.getStartPosition();if(p.isBeforeOrEqual(y))return!0;if(y.lineNumber<p.lineNumber)return!0;return!1}}function TD(m){let u=m.flatMap((v)=>v.innerChanges??[]);if(u.length!==1)return!1;let p=u[0];if(!p.originalRange.isEmpty())return!1;if(p.modifiedRange.startLineNumber===p.modifiedRange.endLineNumber)return!1;return!0}function ND(m,u,p){return m.map((C)=>({original:u.originalText.getValueOfRange(C.originalRange),modified:p.getValueOfRange(C.modifiedRange)})).every(({original:C,modified:y})=>y.trim()===""&&C.length>0&&(C.length>y.length||C.trim()!==""))}function wO(m,u){return AD(m,u,(p)=>/^[a-zA-Z]$/.test(p))}function OD(m,u){return AD(m,u,(p)=>!/^\s$/.test(p))}function AD(m,u,p){let v=[];m.sort((y,I)=>t.compareRangesUsingStarts(y.range,I.range));for(let y of m){let I=y.range.startColumn-1,D=y.range.endColumn-2,T="",K="",q=u.getLineAt(y.range.startLineNumber),Q=u.getLineAt(y.range.endLineNumber);if(C(q[I]))while(C(q[I-1]))T=q[I-1]+T,I--;if(C(Q[D])||D<I)while(C(Q[D+1]))K+=Q[D+1],D++;let te=new ct(new t(y.range.startLineNumber,I+1,y.range.endLineNumber,D+2),T+y.text+K);if(v.length>0&&t.areIntersectingOrTouching(v[v.length-1].range,te.range))te=ct.joinReplacements([v.pop(),te],u);v.push(te)}function C(y){if(y===void 0)return!1;return p(y)}return v}var CO=function(m,u,p,v){var C=arguments.length,y=C<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,p):v,I;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")y=Reflect.decorate(m,u,p,v);else for(var D=m.length-1;D>=0;D--)if(I=m[D])y=(C<3?I(y):C>3?I(u,p,y):I(u,p))||y;return C>3&&y&&Object.defineProperty(u,p,y),y},yO=function(m,u){return function(p,v){u(p,v,m)}},ab=class m extends n{constructor(u,p,v,C){super();this._editor=u,this._model=p,this._showCollapsed=v,this._inlineEdit=d(this,(y)=>{let I=this._model.read(y);if(!I)return;if(!this._editor.getModel())return;let T=I.inlineEditState.read(y);if(!T)return;let K=T.inlineSuggestion.action,q;if(K?.kind==="edit"){let Q=K.stringEdit,te=T.inlineSuggestion.originalTextRef.getTransformer(),oe=Q.replacements.map((ne)=>{let ae=t.fromPositions(te.getPosition(ne.replaceRange.start),te.getPosition(ne.replaceRange.endExclusive));return new ct(ae,ne.newText)});q=new mr(oe)}else q=void 0;return new iy(T.inlineSuggestion.originalTextRef,K,q,I.primaryPosition.read(void 0),I.allPositions.read(void 0),T.inlineSuggestion.source.inlineSuggestions.commands??[],T.inlineSuggestion)}),this._inlineEditModel=d(this,(y)=>{let I=this._model.read(y);if(!I)return;let D=this._inlineEdit.read(y);if(!D)return;let T=d(this,(K)=>{if(this._editorObs.isFocused.read(K)){if(I.tabShouldJumpToInlineEdit.read(K))return Qt.Jump;if(I.tabShouldAcceptInlineEdit.read(K))return Qt.Accept}return Qt.Inactive});return new oy(I,D,T)}),this._editorObs=Xe(this._editor),this.view=this._register(C.createInstance(sb,this._editor,this._inlineEditModel,this._model.map((y)=>y?Rc.fromInlineCompletionModel(y):void 0),this._inlineEdit.map((y)=>y?Dc.fromInlineSuggestion(y.inlineCompletion):void 0),this._showCollapsed))}};ab=CO([yO(3,L)],ab);var xO=function(m,u,p,v){var C=arguments.length,y=C<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,p):v,I;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")y=Reflect.decorate(m,u,p,v);else for(var D=m.length-1;D>=0;D--)if(I=m[D])y=(C<3?I(y):C>3?I(u,p,y):I(u,p))||y;return C>3&&y&&Object.defineProperty(u,p,y),y},IO=function(m,u){return function(p,v){u(p,v,m)}},db=class m extends n{static{this.hot=Gg(this)}constructor(u,p,v,C){super();this._editor=u,this._model=p,this._focusIsInMenu=v,this._instantiationService=C,this._ghostTexts=d(this,(y)=>this._model.read(y)?.ghostTexts.read(y)??[]),this._inlineEdit=d(this,(y)=>this._model.read(y)?.inlineEditState.read(y)?.inlineSuggestion),this._everHadInlineEdit=Vr(this,(y,I)=>I||!!this._inlineEdit.read(y)||!!this._model.read(y)?.inlineCompletionState.read(y)?.inlineSuggestion?.showInlineEditMenu),this._indicatorIsHoverVisible=P(this,void 0),this._showInlineEditCollapsed=d(this,(y)=>(this._model.read(y)?.showCollapsed.read(y)??!1)&&!this._indicatorIsHoverVisible.read(y)?.read(y)),this._inlineEditWidget=Wr((y)=>{if(!this._everHadInlineEdit.read(y))return;return this._instantiationService.createInstance(ab,this._editor,this._model,this._showInlineEditCollapsed)}),this._gutterIndicatorState=d((y)=>{let I=this._model.read(y);if(!I)return;let D=I.state.read(y);if(D?.kind==="ghostText"&&D.inlineSuggestion?.showInlineEditMenu)return{displayRange:Y.ofLength(D.primaryGhostText.lineNumber,1),tabAction:d(this,(T)=>this._editorObs.isFocused.read(T)?Qt.Accept:Qt.Inactive),gutterIndicatorOffset:Ce(LO(D.inlineSuggestion,this._editor)),inlineSuggestion:D.inlineSuggestion,model:I};else if(D?.kind==="inlineEdit"){let T=this._inlineEditWidget.read(y)?.view;if(!T)return;let K=T.displayRange.read(y);if(!K)return;return{displayRange:K,tabAction:d((q)=>{if(this._editorObs.isFocused.read(q)){if(I.tabShouldJumpToInlineEdit.read(q))return Qt.Jump;if(I.tabShouldAcceptInlineEdit.read(q))return Qt.Accept}return Qt.Inactive}),gutterIndicatorOffset:T.gutterIndicatorOffset,inlineSuggestion:D.inlineSuggestion,model:I}}else return}),this._stablizedGhostTexts=n1(this._ghostTexts,this._store),this._editorObs=Xe(this._editor),this._ghostTextWidgets=sc(this,this._stablizedGhostTexts,(y,I)=>I.add(this._createGhostText(y))).recomputeInitiallyAndOnChange(this._store),this._inlineEditWidget.recomputeInitiallyAndOnChange(this._store),this._fontFamily=this._editorObs.getOption(71).map((y)=>y.fontFamily),this._register(C$(d((y)=>`
|
|
50
|
-
.monaco-editor .ghost-text-decoration,
|
|
51
|
-
.monaco-editor .ghost-text-decoration-preview,
|
|
52
|
-
.monaco-editor .ghost-text {
|
|
53
|
-
font-family: ${this._fontFamily.read(y)};
|
|
54
|
-
}`))),this._register(new _m(this._editor,this._model,this._instantiationService)),this._indicator=this._register(this._instantiationService.createInstance(Ec,this._editorObs,d((y)=>{let I=this._gutterIndicatorState.read(y);if(!I)return;return new fg(Dc.fromInlineSuggestion(I.inlineSuggestion),I.displayRange,Rc.fromInlineCompletionModel(I.model),I.inlineSuggestion.action?.kind==="edit"?I.inlineSuggestion.action.alternativeAction:void 0)}),this._gutterIndicatorState.map((y,I)=>y?.tabAction?.read(I)??Qt.Inactive),this._gutterIndicatorState.map((y,I)=>y?.gutterIndicatorOffset?.read(I)??0),this._inlineEditWidget.map((y,I)=>y?.view.inlineEditsIsHovered.read(I)??!1),this._focusIsInMenu)),this._indicatorIsHoverVisible.set(this._indicator.isHoverVisible,void 0),d((y)=>{let I=this._inlineEditWidget.read(y);if(!I)return;return y.store.add(this._instantiationService.createInstance(a_,I._inlineEditModel,Ce(this._indicator),I.view._inlineCollapsedView))}).recomputeInitiallyAndOnChange(this._store)}_createGhostText(u){return this._instantiationService.createInstance(ya,this._editor,d((p)=>{let v=this._model.read(p),C=v?.inlineCompletionState.read(p)?.inlineSuggestion;if(!v||!C)return{ghostText:u.read(p),handleInlineCompletionShown:()=>{},warning:void 0};return{ghostText:u.read(p),handleInlineCompletionShown:(y)=>v.handleInlineSuggestionShown(C,ht.GhostText,y,Date.now()),warning:Qf.from(v?.warning.read(p))}}),{useSyntaxHighlighting:this._editorObs.getOption(71).map((p)=>p.syntaxHighlightingEnabled),highlightShortSuggestions:!0})}shouldShowHoverAtViewZone(u){return this._ghostTextWidgets.get()[0]?.ownsViewZone(u)??!1}};db=xO([IO(3,L)],db);function LO(m,u){let p=m.getSingleTextEdit(),v=u.getModel();if(!v)return 0;let C=v.getEOL();if(p.range.isEmpty()&&p.text.startsWith(C)){let y=u.getLineHeightForPosition(p.range.getStartPosition());return EO(p.text,C)*y}return 0}function EO(m,u){if(!u.length)return 0;let p=0,v=0;while(m.startsWith(u,v))p++,v+=u.length;return p}var DO=function(m,u,p,v){var C=arguments.length,y=C<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,p):v,I;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")y=Reflect.decorate(m,u,p,v);else for(var D=m.length-1;D>=0;D--)if(I=m[D])y=(C<3?I(y):C>3?I(u,p,y):I(u,p))||y;return C>3&&y&&Object.defineProperty(u,p,y),y},Za=function(m,u){return function(p,v){u(p,v,m)}},ts;A0((m)=>Vi.get(m));var Vi=class m extends n{static{ts=this}static{this._instances=new Set}static{this.hot=Gg(this)}static{this.ID="editor.contrib.inlineCompletionsController"}static getInFocusedEditorOrParent(u){let p=Vp(u);if(!p)return null;return ts.get(p)}static get(u){return B0(u.getContribution(ts.ID))}constructor(u,p,v,C,y,I,D,T,K){super();this.editor=u,this._instantiationService=p,this._contextKeyService=v,this._configurationService=C,this._commandService=y,this._debounceService=I,this._languageFeaturesService=D,this._accessibilitySignalService=T,this._keybindingService=K,this._focusIsInMenu=P(this,!1),this._focusIsInEditorOrMenu=d(this,(ne)=>{let ae=this._editorObs.isFocused.read(ne),ge=this._focusIsInMenu.read(ne);return ae||ge}),this._cursorIsInIndentation=d(this,(ne)=>{let ae=this._editorObs.cursorPosition.read(ne);if(ae===null)return!1;let ge=this._editorObs.model.read(ne);if(!ge)return!1;this._editorObs.versionId.read(ne);let Ie=ge.getLineIndentColumn(ae.lineNumber);return ae.column<=Ie}),this.model=Wr(this,(ne)=>{if(this._editorObs.isReadonly.read(ne))return;let ae=this._editorObs.model.read(ne);if(!ae)return;return this._instantiationService.createInstance(Bf,ae,this._suggestWidgetAdapter.selectedItem,this._editorObs.versionId,this._positions,this._debounceValue,this._enabledInConfig,()=>this._isEditorDictationInProgress(),this.editor)}),this._playAccessibilitySignal=Fi(this),this._view=d((ne)=>ne.store.add(this._instantiationService.createInstance(db.hot.read(ne),this.editor,this.model,this._focusIsInMenu))),this._editorObs=Xe(this.editor),this._positions=d(this,(ne)=>this._editorObs.selections.read(ne)?.map((ae)=>ae.getEndPosition())??[new o(1,1)]),this._suggestWidgetAdapter=this._register(new HC(this._editorObs,(ne)=>this.model.get()?.handleSuggestAccepted(ne),()=>this.model.get()?.selectedInlineCompletion.get()?.getSingleTextEdit())),this._enabledInConfig=Te(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(71).enabled),this._register(this._contextKeyService.onDidChangeContext((ne)=>{if(ne.affectsSome(new Set(["editorDictation.inProgress"]))&&this._isEditorDictationInProgress())this.model.get()?.stop()})),this._debounceValue=this._debounceService.for(this._languageFeaturesService.inlineCompletionsProvider,"InlineCompletionsDebounce",{min:50,max:50}),this.model.recomputeInitiallyAndOnChange(this._store),this._hideInlineEditOnSelectionChange=this._editorObs.getOption(71).map((ne)=>!0),this._view.recomputeInitiallyAndOnChange(this._store),ts._instances.add(this),this._register(E(()=>ts._instances.delete(this))),this._register(H((ne)=>{let ae=this.model.read(ne);if(!ae)return;let ge=ae.state.read(ne);if(!ge)return;if(!this._focusIsInEditorOrMenu.read(void 0))return;let Ie=ge.kind==="inlineEdit"?ge.nextEditUri:void 0;for(let ke of ts._instances)if(ke===this)continue;else if(Ie&&Vo(Ie,ke.editor.getModel()?.uri))ke.model.read(void 0)?.trigger();else ke.reject()})),this._register(H((ne)=>{let ae=this.model.read(ne),ge=this.editor.getModel()?.uri;if(!ae||!ge)return;ne.store.add(ae.onDidAccept(()=>{for(let Ie of ts._instances){if(Ie===this)continue;let ke=Ie.model.read(void 0)?.state.read(void 0);if(ke?.kind==="inlineEdit"&&Vo(ke.nextEditUri,ge))Ie.model.read(void 0)?.stop("automatic")}}))})),this._register(co(this._editorObs.onDidType,(ne,ae)=>{if(this._enabledInConfig.get()&&!this._isEditorDictationInProgress())this.model.get()?.trigger()})),this._register(co(this._editorObs.onDidPaste,(ne,ae)=>{if(this._enabledInConfig.get()&&!this._isEditorDictationInProgress())this.model.get()?.trigger()}));let q=new Set([qh.Tab.id,qh.DeleteLeft.id,qh.DeleteRight.id,xr,"acceptSelectedSuggestion",Ac.ID,Pc.ID,Mt.NextMatchFindAction,bs.ID,pd.ID,uh.ID,gh.ID,...hf.getRegisteredCommands()]);this._register(this._commandService.onDidExecuteCommand((ne)=>{if(q.has(ne.commandId)&&u.hasTextFocus()&&this._enabledInConfig.get()&&!this._isEditorDictationInProgress()){let ae=!1;if(ne.commandId===xr)ae=!0;this._editorObs.forceUpdate((ge)=>{this.model.get()?.trigger(ge,{noDelay:ae})})}})),this._register(co(this._editorObs.selections,(ne,ae,ge)=>{if(ge.some((Ie)=>Ie.reason===3||Ie.source==="api")){if(!this._hideInlineEditOnSelectionChange.get()&&this.model.get()?.state.get()?.kind==="inlineEdit")return;let Ie=this.model.get();if(!Ie)return;if(Ie.state.get()?.kind==="ghostText")this.model.get()?.stop()}})),this._register(H((ne)=>{let ae=this._focusIsInEditorOrMenu.read(ne),ge=this.model.read(void 0);if(ae){let Ie=ge?.state.read(void 0);if(!Ie||Ie.kind!=="inlineEdit"||!Ie.nextEditUri)je((ke)=>{for(let Oe of ts._instances)if(Oe!==this)Oe.model.read(void 0)?.stop("automatic",ke)});return}if(this._contextKeyService.getContextKeyValue("accessibleViewIsShown")||this._configurationService.getValue("editor.inlineSuggest.keepOnBlur")||u.getOption(71).keepOnBlur||Cs.dropDownVisible)return;if(!ge)return;if(ge.state.read(void 0)?.inlineSuggestion?.isFromExplicitRequest&&ge.inlineEditAvailable.read(void 0))return;je((Ie)=>{ge.stop("automatic",Ie)})})),this._register(H((ne)=>{let ae=this.model.read(ne)?.inlineCompletionState.read(ne);if(ae?.suggestItem){if(ae.primaryGhostText.lineCount>=2)this._suggestWidgetAdapter.forceRenderingAbove()}else this._suggestWidgetAdapter.stopForceRenderingAbove()})),this._register(E(()=>{this._suggestWidgetAdapter.stopForceRenderingAbove()}));let Q=Vr(this,(ne,ae)=>{let Ie=this.model.read(ne)?.state.read(ne);if(this._suggestWidgetAdapter.selectedItem.get())return ae;return Ie?.inlineSuggestion?.semanticId});this._register(fk(d((ne)=>(this._playAccessibilitySignal.read(ne),Q.read(ne),{})),async(ne,ae,ge,Ie)=>{let ke=this.model.get(),Oe=ke?.state.get();if(!Oe||!ke)return;if(await so(50,dv(Ie)),await w0(this._suggestWidgetAdapter.selectedItem,Mi,()=>!1,dv(Ie)),ke=this.model.get(),Oe=ke?.state.get(),!Oe||!ke)return;let Ve=Oe.kind==="ghostText"?ke.textModel.getLineContent(Oe.primaryGhostText.lineNumber):"";if(this._accessibilitySignalService.playSignal(Oe.kind==="ghostText"?Ge.inlineSuggestion:Ge.nextEditSuggestion),this.editor.getOption(12))if(Oe.kind==="ghostText")this._provideScreenReaderUpdate(Oe.primaryGhostText.renderForScreenReader(Ve));else{let Ue=Oe.inlineSuggestion.targetRange.startLineNumber,Le=ke.tabShouldAcceptInlineEdit.get(),He=ke.tabShouldJumpToInlineEdit.get(),Je;if(Le){let tt=this._keybindingService.lookupKeybinding(xr)?.getAriaLabel();Je=tt?e(1262,"Next edit suggestion available on line {0}, press {1} to accept",Ue,tt):e(1263,"Next edit suggestion available on line {0}, accept it to apply",Ue)}else if(He){let tt=this._keybindingService.lookupKeybinding(Tl)?.getAriaLabel();Je=tt?e(1264,"Next edit suggestion available on line {0}, press {1} to jump",Ue,tt):e(1265,"Next edit suggestion available on line {0}",Ue)}else Je=e(1266,"Next edit suggestion available on line {0}",Ue);this._provideScreenReaderUpdate(Je)}})),this._register(this._configurationService.onDidChangeConfiguration((ne)=>{if(ne.affectsConfiguration("accessibility.verbosity.inlineCompletions"))this.editor.updateOptions({inlineCompletionsAccessibilityVerbose:this._configurationService.getValue("accessibility.verbosity.inlineCompletions")})})),this.editor.updateOptions({inlineCompletionsAccessibilityVerbose:this._configurationService.getValue("accessibility.verbosity.inlineCompletions")});let te=new uC(this._contextKeyService);this._register(te.bind(Ct.cursorInIndentation,this._cursorIsInIndentation)),this._register(te.bind(Ct.hasSelection,(ne)=>!this._editorObs.cursorSelection.read(ne)?.isEmpty())),this._register(te.bind(Ct.cursorAtInlineEdit,this.model.map((ne,ae)=>ne?.inlineEditState?.read(ae)?.cursorAtInlineEdit.read(ae)))),this._register(te.bind(Ct.tabShouldAcceptInlineEdit,this.model.map((ne,ae)=>!!ne?.tabShouldAcceptInlineEdit.read(ae)))),this._register(te.bind(Ct.tabShouldJumpToInlineEdit,this.model.map((ne,ae)=>!!ne?.tabShouldJumpToInlineEdit.read(ae)))),this._register(te.bind(Ct.inlineEditVisible,(ne)=>this.model.read(ne)?.inlineEditState.read(ne)!==void 0)),this._register(te.bind(Ct.inlineSuggestionHasIndentation,(ne)=>this.model.read(ne)?.getIndentationInfo(ne)?.startsWithIndentation)),this._register(te.bind(Ct.inlineSuggestionHasIndentationLessThanTabSize,(ne)=>this.model.read(ne)?.getIndentationInfo(ne)?.startsWithIndentationLessThanTabSize)),this._register(te.bind(Ct.suppressSuggestions,(ne)=>{let ge=this.model.read(ne)?.inlineCompletionState.read(ne);return ge?.primaryGhostText&&ge?.inlineSuggestion?ge.inlineSuggestion.source.inlineSuggestions.suppressSuggestions:void 0})),this._register(te.bind(Ct.inlineSuggestionAlternativeActionVisible,(ne)=>{let Ie=this.model.read(ne)?.inlineEditState.read(ne)?.inlineSuggestion.action;return Ie&&Ie.kind==="edit"&&Ie.alternativeAction!==void 0})),this._register(te.bind(Ct.inlineSuggestionVisible,(ne)=>{let ge=this.model.read(ne)?.inlineCompletionState.read(ne);return!!ge?.inlineSuggestion&&ge?.primaryGhostText!==void 0&&!ge?.primaryGhostText.isEmpty()}));let oe=d(this,(ne)=>{let Ie=this.model.read(ne)?.inlineCompletionState.read(ne)?.primaryGhostText;if(!Ie||Ie.isEmpty())return;return new o(Ie.lineNumber,Ie.parts[0].column)});this._register(te.bind(Ct.cursorBeforeGhostText,(ne)=>{let ae=oe.read(ne);if(!ae)return!1;let ge=this._editorObs.cursorPosition.read(ne);if(!ge)return!1;return ae.equals(ge)})),this._register(this._instantiationService.createInstance(Zm,this.editor))}_isEditorDictationInProgress(){return this._contextKeyService.getContext(this.editor.getDomNode())?.getValue("editorDictation.inProgress")===!0}playAccessibilitySignal(u){this._playAccessibilitySignal.trigger(u)}_provideScreenReaderUpdate(u){let p=this._contextKeyService.getContextKeyValue("accessibleViewIsShown"),v=this._keybindingService.lookupKeybinding("editor.action.accessibleView"),C;if(!p&&v&&this.editor.getOption(170))C=e(1267,"Inspect this in the accessible view ({0})",v.getAriaLabel());Ln(C?u+", "+C:u)}shouldShowHoverAt(u){let p=this.model.get()?.primaryGhostText.get();if(!p)return!1;return p.parts.some((v)=>u.containsPosition(new o(p.lineNumber,v.column)))}shouldShowHoverAtViewZone(u){return this._view.get().shouldShowHoverAtViewZone(u)}reject(){je((u)=>{let p=this.model.get();if(p){if(p.stop("explicitCancel",u),this._focusIsInEditorOrMenu.get()){for(let v of ts._instances)if(v!==this&&!v._focusIsInEditorOrMenu.get())v.model.get()?.stop("automatic",u)}}})}jump(){let u=this.model.get();if(u)u.jump()}};Vi=ts=DO([Za(1,L),Za(2,z),Za(3,X),Za(4,Ae),Za(5,Wi),Za(6,j),Za(7,Ko),Za(8,ce)],Vi);class lb extends W{static{this.ID=pm}constructor(){super({id:lb.ID,label:h(1239,"Show Next Inline Suggestion"),precondition:_.and(r.writable,Ct.inlineSuggestionVisible),kbOpts:{weight:100,primary:606}})}async run(m,u){Vi.get(u)?.model.get()?.next()}}class cb extends W{static{this.ID=gm}constructor(){super({id:cb.ID,label:h(1240,"Show Previous Inline Suggestion"),precondition:_.and(r.writable,Ct.inlineSuggestionVisible),kbOpts:{weight:100,primary:604}})}async run(m,u){Vi.get(u)?.model.get()?.previous()}}var RO="vscode://schemas/inlineCompletionProviderIdArgs";function kO(m){let u=[];if(m.providerId)u.push(m.providerId.toStringWithoutVersion()),u.push(m.providerId.extensionId+":*");return u}var FD=Z0(G0({showNoResultNotification:Bu(lC()),providerId:Bu(Y0(RO,K0())),explicit:Bu(lC()),changeHintData:Bu(U0())}),$0());class fy extends W{constructor(){super({id:"editor.action.inlineSuggest.trigger",label:h(1241,"Trigger Inline Suggestion"),precondition:r.writable,metadata:{description:e(1228,"Triggers an inline suggestion in the editor."),args:[{name:"args",description:e(1229,"Options for triggering inline suggestions."),isOptional:!0,schema:FD.getJSONSchema()}]}})}async run(m,u,p){let v=m.get(ut),C=m.get(j),y=Vi.get(u),I=FD.validateOrThrow(p),D=I?.providerId?C.inlineCompletionsProvider.all(u.getModel()).find((T)=>kO(T).some((K)=>K===I.providerId)):void 0;if(await p$(async(T)=>{await y?.model.get()?.trigger(T,{provider:D,explicit:I?.explicit??!0,changeHint:I?.changeHintData?{data:I.changeHintData}:void 0}),y?.playAccessibilitySignal(T)}),I?.showNoResultNotification){if(!y?.model.get()?.state.get())v.notify({severity:Ll.Info,message:e(1230,"No inline suggestion is available.")})}}}class _y extends W{constructor(){super({id:"editor.action.inlineSuggest.acceptNextWord",label:h(1242,"Accept Next Word Of Inline Suggestion"),precondition:_.and(r.writable,Ct.inlineSuggestionVisible),kbOpts:{weight:101,primary:2065,kbExpr:_.and(r.writable,Ct.inlineSuggestionVisible,Ct.cursorBeforeGhostText,gu.negate())},menuOpts:[{menuId:a.InlineSuggestionToolbar,title:e(1231,"Accept Word"),group:"primary",order:2}]})}async run(m,u){await Vi.get(u)?.model.get()?.acceptNextWord()}}class by extends W{constructor(){super({id:"editor.action.inlineSuggest.acceptNextLine",label:h(1243,"Accept Next Line Of Inline Suggestion"),precondition:_.and(r.writable,Ct.inlineSuggestionVisible),kbOpts:{weight:101},menuOpts:[{menuId:a.InlineSuggestionToolbar,title:e(1232,"Accept Line"),group:"secondary",order:2}]})}async run(m,u){await Vi.get(u)?.model.get()?.acceptNextLine()}}class vy extends W{constructor(){super({id:xr,label:h(1244,"Accept Inline Suggestion"),precondition:_.or(Ct.inlineSuggestionVisible,Ct.inlineEditVisible),menuOpts:[{menuId:a.InlineSuggestionToolbar,title:e(1233,"Accept"),group:"primary",order:2},{menuId:a.InlineEditsActions,title:e(1234,"Accept"),group:"primary",order:2}],kbOpts:[{primary:2,weight:200,kbExpr:_.or(_.and(Ct.inlineSuggestionVisible,r.tabMovesFocus.toNegated(),rt.Visible.toNegated(),r.hoverFocused.toNegated(),Ct.hasSelection.toNegated(),Ct.inlineSuggestionHasIndentationLessThanTabSize),_.and(Ct.inlineEditVisible,r.tabMovesFocus.toNegated(),rt.Visible.toNegated(),r.hoverFocused.toNegated(),Ct.tabShouldAcceptInlineEdit))}]})}async run(m,u){let p=Vi.getInFocusedEditorOrParent(m);if(p)p.model.get()?.accept(p.editor),p.editor.focus()}}yn.registerKeybindingRule({id:xr,weight:202,primary:2,when:_.and(Ct.inInlineEditsPreviewEditor)});class Sy extends W{constructor(){super({id:xd,label:h(1245,"Accept Inline Suggestion Alternative Action"),precondition:_.and(Ct.inlineSuggestionAlternativeActionVisible,Ct.inlineEditVisible),menuOpts:[],kbOpts:[{primary:1026,weight:203}]})}async run(m,u){let p=Vi.getInFocusedEditorOrParent(m);if(p)p.model.get()?.accept(p.editor,!0),p.editor.focus()}}yn.registerKeybindingRule({id:xd,weight:203,primary:1026,when:_.and(Ct.inInlineEditsPreviewEditor)});class wy extends W{constructor(){super({id:Tl,label:h(1246,"Jump to next inline edit"),precondition:Ct.inlineEditVisible,menuOpts:[{menuId:a.InlineEditsActions,title:e(1235,"Jump"),group:"primary",order:1,when:Ct.cursorAtInlineEdit.toNegated()}],kbOpts:{primary:2,weight:201,kbExpr:_.and(Ct.inlineEditVisible,r.tabMovesFocus.toNegated(),rt.Visible.toNegated(),r.hoverFocused.toNegated(),Ct.tabShouldJumpToInlineEdit)}})}async run(m,u){let p=Vi.get(u);if(p)p.jump()}}class Xg extends W{static{this.ID=mm}constructor(){super({id:Xg.ID,label:h(1247,"Hide Inline Suggestion"),precondition:_.or(Ct.inlineSuggestionVisible,Ct.inlineEditVisible),kbOpts:{kbExpr:r.editorTextFocus,weight:190,primary:9},menuOpts:[{menuId:a.InlineEditsActions,title:e(1236,"Reject"),group:"primary",order:3}]})}async run(m,u){let p=Vi.getInFocusedEditorOrParent(m);je((v)=>{p?.model.get()?.stop("explicitCancel",v)}),p?.editor.focus()}}class hb extends W{static{this.ID=Qh}constructor(){super({id:hb.ID,label:h(1248,"Toggle Inline Suggestions Show Collapsed"),precondition:_.true()})}async run(m,u){let p=m.get(X),v=p.getValue("editor.inlineSuggest.edits.showCollapsed");p.updateValue("editor.inlineSuggest.edits.showCollapsed",!v)}}yn.registerKeybindingRule({id:Xg.ID,weight:-1,primary:9,secondary:[1033],when:_.and(Ct.inInlineEditsPreviewEditor)});class ub extends cn{static{this.ID="editor.action.inlineSuggest.toggleAlwaysShowToolbar"}constructor(){super({id:ub.ID,title:e(1237,"Always Show Toolbar"),f1:!1,precondition:void 0,menu:[{id:a.InlineSuggestionToolbar,group:"secondary",order:10}],toggled:_.equals("config.editor.inlineSuggest.showToolbar","always")})}async run(m){let u=m.get(X),v=u.getValue("editor.inlineSuggest.showToolbar")==="always"?"onHover":"always";u.updateValue("editor.inlineSuggest.showToolbar",v)}}class Cy extends W{constructor(){super({id:"editor.action.inlineSuggest.dev.extractRepro",label:e(1238,"Developer: Extract Inline Suggest State"),alias:"Developer: Inline Suggest Extract Repro",precondition:_.or(Ct.inlineEditVisible,Ct.inlineSuggestionVisible)})}async run(m,u){let p=m.get(Qn),C=Vi.get(u)?.model.get();if(!C)return;let y=C.extractReproSample(),D=ni(JSON.stringify({inlineCompletion:y.inlineCompletion},null,4)).map((K)=>"// "+K).join(`
|
|
55
|
-
`),T=`${y.documentValue}
|
|
56
|
-
|
|
57
|
-
// <json>
|
|
58
|
-
${D}
|
|
59
|
-
// </json>
|
|
60
|
-
`;return await p.writeText(T),{reproCase:T}}}var TO=function(m,u,p,v){var C=arguments.length,y=C<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,p):v,I;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")y=Reflect.decorate(m,u,p,v);else for(var D=m.length-1;D>=0;D--)if(I=m[D])y=(C<3?I(y):C>3?I(u,p,y):I(u,p))||y;return C>3&&y&&Object.defineProperty(u,p,y),y},gb=function(m,u){return function(p,v){u(p,v,m)}};class HD{constructor(m,u,p){this.owner=m,this.range=u,this.controller=p}isValidForHoverAnchor(m){return m.type===1&&this.range.startColumn<=m.range.startColumn&&this.range.endColumn>=m.range.endColumn}}var pb=class m{constructor(u,p,v,C,y){this._editor=u,this.accessibilityService=p,this._instantiationService=v,this._telemetryService=C,this._markdownRendererService=y,this.hoverOrdinal=4,this.hideCopyButton=!0}suggestHoverAnchor(u){let p=Vi.get(this._editor);if(!p)return null;let v=u.target;if(v.type===8){let C=v.detail;if(p.shouldShowHoverAtViewZone(C.viewZoneId))return new pa(1000,this,t.fromPositions(this._editor.getModel().validatePosition(C.positionBefore||C.position)),u.event.posx,u.event.posy,!1)}if(v.type===7){if(p.shouldShowHoverAt(v.range))return new pa(1000,this,v.range,u.event.posx,u.event.posy,!1)}if(v.type===6){if(v.detail.mightBeForeignElement&&p.shouldShowHoverAt(v.range))return new pa(1000,this,v.range,u.event.posx,u.event.posy,!1)}if(v.type===9&&v.element){let C=ya.getWarningWidgetContext(v.element);if(C&&p.shouldShowHoverAt(C.range))return new pa(1000,this,C.range,u.event.posx,u.event.posy,!1)}return null}computeSync(u,p){if(this._editor.getOption(71).showToolbar!=="onHover")return[];let v=Vi.get(this._editor);if(v&&v.shouldShowHoverAt(u.range))return[new HD(this,u.range,v)];return[]}renderHoverParts(u,p){let v=new c,C=p[0];if(this._telemetryService.publicLog2("inlineCompletionHover.shown"),this.accessibilityService.isScreenReaderOptimized()&&!this._editor.getOption(12))v.add(this.renderScreenReaderText(u,C));let y=C.controller.model.get(),I=document.createElement("div");return u.fragment.appendChild(I),v.add(Hn((T,K)=>{let q=K.add(this._instantiationService.createInstance(Cs.hot.read(T),this._editor,!1,Ce(null),y.selectedInlineCompletionIndex,y.inlineCompletionsCount,y.activeCommands,y.warning,()=>{u.onContentsChanged()}));I.replaceChildren(q.getDomNode())})),y.triggerExplicitly(),new Xo([{hoverPart:C,hoverElement:I,dispose(){v.dispose()}}])}getAccessibleContent(u){return e(1268,"There are inline completions here")}renderScreenReaderText(u,p){let v=new c,C=g,y=C("div.hover-row.markdown-hover"),I=w(y,C("div.hover-contents",{["aria-live"]:"assertive"})),D=(T)=>{let K=e(1269,"Suggestion:"),q=v.add(this._markdownRendererService.render(new xn().appendText(K).appendCodeblock("text",T),{context:this._editor,asyncRenderCallback:()=>{I.className="hover-contents code-hover-contents",u.onContentsChanged()}}));I.replaceChildren(q.element)};return v.add(H((T)=>{let K=p.controller.model.read(T)?.primaryGhostText.read(T);if(K){let q=this._editor.getModel().getLineContent(K.lineNumber);D(K.renderForScreenReader(q))}else tn(I)})),u.fragment.appendChild(y),v}};pb=TO([gb(1,qt),gb(2,L),gb(3,Tn),gb(4,vr)],pb);class yy{}le(Vi.ID,V0(Vi.hot),3);R(fy);R(lb);R(cb);R(_y);R(by);R(vy);R(Sy);R(hb);R(Xg);R(wy);Ze(ub);R(Cy);Ze(e0);Ze(t0);Ra.register(pb);Bl.register(new yy);var NO=function(m,u,p,v){var C=arguments.length,y=C<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,p):v,I;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")y=Reflect.decorate(m,u,p,v);else for(var D=m.length-1;D>=0;D--)if(I=m[D])y=(C<3?I(y):C>3?I(u,p,y):I(u,p))||y;return C>3&&y&&Object.defineProperty(u,p,y),y},Vd=function(m,u){return function(p,v){u(p,v,m)}},xy,Yg=class m{static{xy=this}static{this.ID="editor.contrib.contextmenu"}static get(u){return u.getContribution(xy.ID)}constructor(u,p,v,C,y,I,D,T){this._contextMenuService=p,this._contextViewService=v,this._contextKeyService=C,this._keybindingService=y,this._menuService=I,this._configurationService=D,this._workspaceContextService=T,this._toDispose=new c,this._contextMenuIsBeingShownCount=0,this._editor=u,this._toDispose.add(this._editor.onContextMenu((K)=>this._onContextMenu(K))),this._toDispose.add(this._editor.onMouseWheel((K)=>{if(this._contextMenuIsBeingShownCount>0){let q=this._contextViewService.getContextViewElement(),Q=K.srcElement;if(!(Q.shadowRoot&&Pa(q)===Q.shadowRoot))this._contextViewService.hideContextView()}})),this._toDispose.add(this._editor.onKeyDown((K)=>{if(!this._editor.getOption(30))return;if(K.keyCode===58)K.preventDefault(),K.stopPropagation(),this.showContextMenu()}))}_onContextMenu(u){if(!this._editor.hasModel())return;if(!this._editor.getOption(30)){if(this._editor.focus(),u.target.position&&!this._editor.getSelection().containsPosition(u.target.position))this._editor.setPosition(u.target.position);return}if(u.target.type===12)return;if(u.target.type===6&&u.target.detail.injectedText)return;if(u.event.preventDefault(),u.event.stopPropagation(),u.target.type===11)return this._showScrollbarContextMenu(u.event);if(u.target.type!==6&&u.target.type!==7&&u.target.type!==1)return;if(this._editor.focus(),u.target.position){let v=!1;for(let C of this._editor.getSelections())if(C.containsPosition(u.target.position)){v=!0;break}if(!v)this._editor.setPosition(u.target.position)}let p=null;if(u.target.type!==1)p=u.event;this.showContextMenu(p)}showContextMenu(u){if(!this._editor.getOption(30))return;if(!this._editor.hasModel())return;let p=this._getMenuActions(this._editor.getModel(),this._editor.contextMenuId);if(p.length>0)this._doShowContextMenu(p,u)}_getMenuActions(u,p){let v=[],C=this._menuService.getMenuActions(p,this._contextKeyService,{arg:u.uri});for(let y of C){let[,I]=y,D=0;for(let T of I)if(T instanceof _l){let K=this._getMenuActions(u,T.item.submenu);if(K.length>0)v.push(new Wo(T.id,T.label,K)),D++}else v.push(T),D++;if(D)v.push(new Qe)}if(v.length)v.pop();return v}_doShowContextMenu(u,p=null){if(!this._editor.hasModel())return;let v=p;if(!v){this._editor.revealPosition(this._editor.getPosition(),1),this._editor.render();let y=this._editor.getScrolledVisiblePosition(this._editor.getPosition()),I=gt(this._editor.getDomNode()),D=I.left+y.left,T=I.top+y.top+y.height;v={x:D,y:T}}let C=this._editor.getOption(144)&&!cr;this._contextMenuIsBeingShownCount++,this._contextMenuService.showContextMenu({domForShadowRoot:C?this._editor.getOverflowWidgetsDomNode()??this._editor.getDomNode():void 0,useWindowContainerForShadowRoot:C&&this._editor.getOption(51),getAnchor:()=>v,getActions:()=>u,getActionViewItem:(y)=>{let I=this._keybindingFor(y);if(I)return new Il(y,y,{label:!0,keybinding:I.getLabel(),isMenu:!0});let D=y;if(typeof D.getActionViewItem==="function")return D.getActionViewItem();return new Il(y,y,{icon:!0,label:!0,isMenu:!0})},getKeyBinding:(y)=>this._keybindingFor(y),onHide:(y)=>{this._contextMenuIsBeingShownCount--}})}_showScrollbarContextMenu(u){if(!this._editor.hasModel())return;if(X$(this._workspaceContextService.getWorkspace()))return;let p=this._editor.getOption(81),v=0,C=(K)=>({id:`menu-action-${++v}`,label:K.label,tooltip:"",class:void 0,enabled:typeof K.enabled>"u"?!0:K.enabled,checked:K.checked,run:K.run}),y=(K,q)=>new Wo(`menu-action-${++v}`,K,q,void 0),I=(K,q,Q,te,oe)=>{if(!q)return C({label:K,enabled:q,run:()=>{}});let ne=(ge)=>()=>{this._configurationService.updateValue(Q,ge)},ae=[];for(let ge of oe)ae.push(C({label:ge.label,checked:te===ge.value,run:ne(ge.value)}));return y(K,ae)},D=[];D.push(C({label:e(952,"Minimap"),checked:p.enabled,run:()=>{this._configurationService.updateValue("editor.minimap.enabled",!p.enabled)}})),D.push(new Qe),D.push(C({label:e(953,"Render Characters"),enabled:p.enabled,checked:p.renderCharacters,run:()=>{this._configurationService.updateValue("editor.minimap.renderCharacters",!p.renderCharacters)}})),D.push(I(e(954,"Vertical size"),p.enabled,"editor.minimap.size",p.size,[{label:e(955,"Proportional"),value:"proportional"},{label:e(956,"Fill"),value:"fill"},{label:e(957,"Fit"),value:"fit"}])),D.push(I(e(958,"Slider"),p.enabled,"editor.minimap.showSlider",p.showSlider,[{label:e(959,"Mouse Over"),value:"mouseover"},{label:e(960,"Always"),value:"always"}])),D.push(I(e(961,"Side"),p.enabled,"editor.minimap.side",p.side,[{label:e(962,"Right"),value:"right"},{label:e(963,"Left"),value:"left"}]));let T=this._editor.getOption(144)&&!cr;this._contextMenuIsBeingShownCount++,this._contextMenuService.showContextMenu({domForShadowRoot:T?this._editor.getDomNode():void 0,useWindowContainerForShadowRoot:T&&this._editor.getOption(51),getAnchor:()=>u,getActions:()=>D,onHide:(K)=>{this._contextMenuIsBeingShownCount--,this._editor.focus()}})}_keybindingFor(u){return this._keybindingService.lookupKeybinding(u.id)}dispose(){if(this._contextMenuIsBeingShownCount>0)this._contextViewService.hideContextView();this._toDispose.dispose()}};Yg=xy=NO([Vd(1,On),Vd(2,Go),Vd(3,z),Vd(4,ce),Vd(5,fi),Vd(6,X),Vd(7,Fs)],Yg);class WD extends W{constructor(){super({id:"editor.action.showContextMenu",label:h(964,"Show Editor Context Menu"),precondition:void 0,kbOpts:{kbExpr:r.textInputFocus,primary:1092,weight:100}})}run(m,u){Yg.get(u)?.showContextMenu()}}le(Yg.ID,Yg,2);R(WD);class Iy extends n{static{this.ID="editor.contrib.readOnlyMessageController"}constructor(m){super();this.editor=m,this._register(this.editor.onDidAttemptReadOnlyEdit(()=>this._onDidAttemptReadOnlyEdit()))}_onDidAttemptReadOnlyEdit(){let m=Oi.get(this.editor);if(m&&this.editor.hasModel()){let u=this.editor.getOptions().get(105);if(!u)if(this.editor.isSimpleWidget)u=new xn(e(1447,"Cannot edit in read-only input"));else u=new xn(e(1448,"Cannot edit in read-only editor"));m.showMessage(u,this.editor.getPosition())}}}le(Iy.ID,Iy,2);class Ly extends cn{static{this.ID="editor.action.toggleTabFocusMode"}constructor(){super({id:Ly.ID,title:h(1604,"Toggle Tab Key Moves Focus"),precondition:void 0,keybinding:{primary:2091,mac:{primary:1323},weight:100},metadata:{description:h(1605,"Determines whether the tab key moves focus around the workbench or inserts the tab character in the current editor. This is also called tab trapping, tab navigation, or tab focus mode.")},f1:!0})}run(){let u=!mu.getTabFocusMode();if(mu.setTabFocusMode(u),u)Ln(e(1602,"Pressing Tab will now move focus to the next focusable element"));else Ln(e(1603,"Pressing Tab will now insert the tab character"))}}Ze(Ly);var BD=function(m,u,p,v){var C=arguments.length,y=C<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,p):v,I;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")y=Reflect.decorate(m,u,p,v);else for(var D=m.length-1;D>=0;D--)if(I=m[D])y=(C<3?I(y):C>3?I(u,p,y):I(u,p))||y;return C>3&&y&&Object.defineProperty(u,p,y),y},Ey=function(m,u){return function(p,v){u(p,v,m)}},OO=26,mb=class m extends n{constructor(u,p){super();this._editor=u,this.instantiationService=p,this.banner=this._register(this.instantiationService.createInstance(Dy))}hide(){this._editor.setBanner(null,0),this.banner.clear()}show(u){this.banner.show({...u,onClose:()=>{this.hide(),u.onClose?.()}}),this._editor.setBanner(this.banner.element,OO)}};mb=BD([Ey(1,L)],mb);var Dy=class m extends n{constructor(u,p){super();this.instantiationService=u,this.markdownRendererService=p,this.element=g("div.editor-banner"),this.element.tabIndex=0}getAriaLabel(u){if(u.ariaLabel)return u.ariaLabel;if(typeof u.message==="string")return u.message;return}getBannerMessage(u){if(typeof u==="string"){let p=g("span");return p.innerText=u,p}return this.markdownRendererService.render(u).element}clear(){en(this.element)}show(u){en(this.element);let p=this.getAriaLabel(u);if(p)this.element.setAttribute("aria-label",p);let v=w(this.element,g("div.icon-container"));if(v.setAttribute("aria-hidden","true"),u.icon)v.appendChild(g(`div${G.asCSSSelector(u.icon)}`));let C=w(this.element,g("div.message-container"));if(C.setAttribute("aria-hidden","true"),C.appendChild(this.getBannerMessage(u.message)),this.messageActionsContainer=w(this.element,g("div.message-actions-container")),u.actions)for(let I of u.actions)this._register(this.instantiationService.createInstance(Ud,this.messageActionsContainer,{...I,tabIndex:-1},{}));let y=w(this.element,g("div.action-container"));this.actionBar=this._register(new Di(y)),this.actionBar.push(this._register(new nr("banner.close",e(1607,"Close Banner"),G.asClassName(v0),!0,()=>{if(typeof u.onClose==="function")u.onClose()})),{icon:!0,label:!1}),this.actionBar.setFocusable(!1)}};Dy=BD([Ey(0,L),Ey(1,vr)],Dy);var Oy=function(m,u,p,v){var C=arguments.length,y=C<3?u:v===null?v=Object.getOwnPropertyDescriptor(u,p):v,I;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")y=Reflect.decorate(m,u,p,v);else for(var D=m.length-1;D>=0;D--)if(I=m[D])y=(C<3?I(y):C>3?I(u,p,y):I(u,p))||y;return C>3&&y&&Object.defineProperty(u,p,y),y},Qg=function(m,u){return function(p,v){u(p,v,m)}},MO=$t("extensions-warning-message",b.warning,e(1608,"Icon shown with a warning message in the extensions editor.")),ip=class m extends n{static{this.ID="editor.contrib.unicodeHighlighter"}constructor(u,p,v,C){super();this._editor=u,this._editorWorkerService=p,this._workspaceTrustService=v,this._highlighter=null,this._bannerClosed=!1,this._updateState=(y)=>{if(y&&y.hasMore){if(this._bannerClosed)return;let I=Math.max(y.ambiguousCharacterCount,y.nonBasicAsciiCharacterCount,y.invisibleCharacterCount),D;if(y.nonBasicAsciiCharacterCount>=I)D={message:e(1609,"This document contains many non-basic ASCII unicode characters"),command:new rp};else if(y.ambiguousCharacterCount>=I)D={message:e(1610,"This document contains many ambiguous unicode characters"),command:new Kd};else if(y.invisibleCharacterCount>=I)D={message:e(1611,"This document contains many invisible unicode characters"),command:new op};else throw Error("Unreachable");this._bannerController.show({id:"unicodeHighlightBanner",message:D.message,icon:MO,actions:[{label:D.command.shortLabel,href:`command:${D.command.desc.id}`}],onClose:()=>{this._bannerClosed=!0}})}else this._bannerController.hide()},this._bannerController=this._register(C.createInstance(mb,u)),this._register(this._editor.onDidChangeModel(()=>{this._bannerClosed=!1,this._updateHighlighter()})),this._options=u.getOption(142),this._register(v.onDidChangeTrust((y)=>{this._updateHighlighter()})),this._register(u.onDidChangeConfiguration((y)=>{if(y.hasChanged(142))this._options=u.getOption(142),this._updateHighlighter()})),this._updateHighlighter()}dispose(){if(this._highlighter)this._highlighter.dispose(),this._highlighter=null;super.dispose()}_updateHighlighter(){if(this._updateState(null),this._highlighter)this._highlighter.dispose(),this._highlighter=null;if(!this._editor.hasModel())return;let u=PO(this._workspaceTrustService.isWorkspaceTrusted(),this._options);if([u.nonBasicASCII,u.ambiguousCharacters,u.invisibleCharacters].every((v)=>v===!1))return;let p={nonBasicASCII:u.nonBasicASCII,ambiguousCharacters:u.ambiguousCharacters,invisibleCharacters:u.invisibleCharacters,includeComments:u.includeComments,includeStrings:u.includeStrings,allowedCodePoints:Object.keys(u.allowedCharacters).map((v)=>v.codePointAt(0)),allowedLocales:Object.keys(u.allowedLocales).map((v)=>{if(v==="_os")return Sl.NumberFormat().value.resolvedOptions().locale;else if(v==="_vscode")return i$;return v})};if(this._editorWorkerService.canComputeUnicodeHighlights(this._editor.getModel().uri))this._highlighter=new ky(this._editor,p,this._updateState,this._editorWorkerService);else this._highlighter=new VD(this._editor,p,this._updateState)}getDecorationInfo(u){if(this._highlighter)return this._highlighter.getDecorationInfo(u);return null}};ip=Oy([Qg(1,gi),Qg(2,p0),Qg(3,L)],ip);function PO(m,u){return{nonBasicASCII:u.nonBasicASCII===Ls?!m:u.nonBasicASCII,ambiguousCharacters:u.ambiguousCharacters,invisibleCharacters:u.invisibleCharacters,includeComments:u.includeComments===Ls?!m:u.includeComments,includeStrings:u.includeStrings===Ls?!m:u.includeStrings,allowedCharacters:u.allowedCharacters,allowedLocales:u.allowedLocales}}var ky=class m extends n{constructor(u,p,v,C){super();this._editor=u,this._options=p,this._updateState=v,this._editorWorkerService=C,this._model=this._editor.getModel(),this._decorations=this._editor.createDecorationsCollection(),this._updateSoon=this._register(new be(()=>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 u=this._model.getVersionId();this._editorWorkerService.computedUnicodeHighlights(this._model.uri,this._options).then((p)=>{if(this._model.isDisposed())return;if(this._model.getVersionId()!==u)return;this._updateState(p);let v=[];if(!p.hasMore)for(let C of p.ranges)v.push({range:C,options:fb.instance.getDecorationFromOptions(this._options)});this._decorations.set(v)})}getDecorationInfo(u){if(!this._decorations.has(u))return null;let p=this._editor.getModel();if(!Nv(p,u))return null;let v=p.getValueInRange(u.range);return{reason:zD(v,this._options),inComment:U_(p,u),inString:q_(p,u)}}};ky=Oy([Qg(3,gi)],ky);class VD extends n{constructor(m,u,p){super();this._editor=m,this._options=u,this._updateState=p,this._model=this._editor.getModel(),this._decorations=this._editor.createDecorationsCollection(),this._updateSoon=this._register(new be(()=>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 m=this._editor.getVisibleRanges(),u=[],p={ranges:[],ambiguousCharacterCount:0,invisibleCharacterCount:0,nonBasicAsciiCharacterCount:0,hasMore:!1};for(let v of m){let C=Cg.computeUnicodeHighlights(this._model,this._options,v);for(let y of C.ranges)p.ranges.push(y);p.ambiguousCharacterCount+=p.ambiguousCharacterCount,p.invisibleCharacterCount+=p.invisibleCharacterCount,p.nonBasicAsciiCharacterCount+=p.nonBasicAsciiCharacterCount,p.hasMore=p.hasMore||C.hasMore}if(!p.hasMore)for(let v of p.ranges)u.push({range:v,options:fb.instance.getDecorationFromOptions(this._options)});this._updateState(p),this._decorations.set(u)}getDecorationInfo(m){if(!this._decorations.has(m))return null;let u=this._editor.getModel(),p=u.getValueInRange(m.range);if(!Nv(u,m))return null;return{reason:zD(p,this._options),inComment:U_(u,m),inString:q_(u,m)}}}var KD=e(1612,"Configure Unicode Highlight Options"),Ty=class m{constructor(u,p){this._editor=u,this._markdownRendererService=p,this.hoverOrdinal=5}computeSync(u,p){if(!this._editor.hasModel()||u.type!==1)return[];let v=this._editor.getModel(),C=this._editor.getContribution(ip.ID);if(!C)return[];let y=[],I=new Set,D=300;for(let T of p){let K=C.getDecorationInfo(T);if(!K)continue;let Q=v.getValueInRange(T.range).codePointAt(0),te=Ry(Q),oe;switch(K.reason.kind){case 0:{if(Uc(K.reason.confusableWith))oe=e(1613,"The character {0} could be confused with the ASCII character {1}, which is more common in source code.",te,Ry(K.reason.confusableWith.codePointAt(0)));else oe=e(1614,"The character {0} could be confused with the character {1}, which is more common in source code.",te,Ry(K.reason.confusableWith.codePointAt(0)));break}case 1:oe=e(1615,"The character {0} is invisible.",te);break;case 2:oe=e(1616,"The character {0} is not a basic ASCII character.",te);break}if(I.has(oe))continue;I.add(oe);let ne={codePoint:Q,reason:K.reason,inComment:K.inComment,inString:K.inString},ae=e(1617,"Adjust settings"),ge=Q_(_b.ID,ne),Ie=new xn("",!0).appendMarkdown(oe).appendText(" ").appendLink(ge,ae,KD);y.push(new _o(this,T.range,[Ie],!1,D++))}return y}renderHoverParts(u,p){return VE(u,p,this._editor,this._markdownRendererService)}getAccessibleContent(u){return u.contents.map((p)=>p.value).join(`
|
|
61
|
-
`)}};Ty=Oy([Qg(1,vr)],Ty);function Ny(m){return`U+${m.toString(16).padStart(4,"0")}`}function Ry(m){let u=`\`${Ny(m)}\``;if(!rc.isInvisibleCharacter(m))u+=` "${`${AO(m)}`}"`;return u}function AO(m){if(m===96)return"`` ` ``";return"`"+String.fromCodePoint(m)+"`"}function zD(m,u){return Cg.computeUnicodeHighlightReason(m,u)}class fb{constructor(){this.map=new Map}static{this.instance=new fb}getDecorationFromOptions(m){return this.getDecoration(!m.includeComments,!m.includeStrings)}getDecoration(m,u){let p=`${m}${u}`,v=this.map.get(p);if(!v)v=re.createDynamic({description:"unicode-highlight",stickiness:1,className:"unicode-highlight",showIfCollapsed:!0,overviewRuler:null,minimap:null,hideInCommentTokens:m,hideInStringTokens:u}),this.map.set(p,v);return v}}class UD extends W{constructor(){super({id:Kd.ID,label:h(1626,"Disable highlighting of characters in comments"),precondition:void 0});this.shortLabel=e(1618,"Disable Highlight In Comments")}async run(m,u){let p=m.get(X);if(p)this.runAction(p)}async runAction(m){await m.updateValue(jo.includeComments,!1,2)}}class $D extends W{constructor(){super({id:Kd.ID,label:h(1627,"Disable highlighting of characters in strings"),precondition:void 0});this.shortLabel=e(1619,"Disable Highlight In Strings")}async run(m,u){let p=m.get(X);if(p)this.runAction(p)}async runAction(m){await m.updateValue(jo.includeStrings,!1,2)}}class Kd extends cn{static{this.ID="editor.action.unicodeHighlight.disableHighlightingOfAmbiguousCharacters"}constructor(){super({id:Kd.ID,title:h(1628,"Disable highlighting of ambiguous characters"),precondition:void 0,f1:!1});this.shortLabel=e(1620,"Disable Ambiguous Highlight")}async run(m,u){let p=m.get(X);if(p)this.runAction(p)}async runAction(m){await m.updateValue(jo.ambiguousCharacters,!1,2)}}class op extends cn{static{this.ID="editor.action.unicodeHighlight.disableHighlightingOfInvisibleCharacters"}constructor(){super({id:op.ID,title:h(1629,"Disable highlighting of invisible characters"),precondition:void 0,f1:!1});this.shortLabel=e(1621,"Disable Invisible Highlight")}async run(m,u){let p=m.get(X);if(p)this.runAction(p)}async runAction(m){await m.updateValue(jo.invisibleCharacters,!1,2)}}class rp extends cn{static{this.ID="editor.action.unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters"}constructor(){super({id:rp.ID,title:h(1630,"Disable highlighting of non basic ASCII characters"),precondition:void 0,f1:!1});this.shortLabel=e(1622,"Disable Non ASCII Highlight")}async run(m,u){let p=m.get(X);if(p)this.runAction(p)}async runAction(m){await m.updateValue(jo.nonBasicASCII,!1,2)}}class _b extends cn{static{this.ID="editor.action.unicodeHighlight.showExcludeOptions"}constructor(){super({id:_b.ID,title:h(1631,"Show Exclude Options"),precondition:void 0,f1:!1})}async run(m,u){let{codePoint:p,reason:v,inString:C,inComment:y}=u,I=String.fromCodePoint(p),D=m.get(un),T=m.get(X);function K(oe){if(rc.isInvisibleCharacter(oe))return e(1623,"Exclude {0} (invisible character) from being highlighted",Ny(oe));return e(1624,"Exclude {0} from being highlighted",`${Ny(oe)} "${I}"`)}let q=[];if(v.kind===0)for(let oe of v.notAmbiguousInLocales)q.push({label:e(1625,'Allow unicode characters that are more common in the language "{0}".',oe),run:async()=>{HO(T,[oe])}});if(q.push({label:K(p),run:()=>FO(T,[p])}),y){let oe=new UD;q.push({label:oe.label,run:async()=>oe.runAction(T)})}else if(C){let oe=new $D;q.push({label:oe.label,run:async()=>oe.runAction(T)})}function Q(oe){return typeof oe.desc.title==="string"?oe.desc.title:oe.desc.title.value}if(v.kind===0){let oe=new Kd;q.push({label:Q(oe),run:async()=>oe.runAction(T)})}else if(v.kind===1){let oe=new op;q.push({label:Q(oe),run:async()=>oe.runAction(T)})}else if(v.kind===2){let oe=new rp;q.push({label:Q(oe),run:async()=>oe.runAction(T)})}else WO(v);let te=await D.pick(q,{title:KD});if(te)await te.run()}}async function FO(m,u){let p=m.getValue(jo.allowedCharacters),v;if(typeof p==="object"&&p)v=p;else v={};for(let C of u)v[String.fromCodePoint(C)]=!0;await m.updateValue(jo.allowedCharacters,v,2)}async function HO(m,u){let p=m.inspect(jo.allowedLocales).user?.value,v;if(typeof p==="object"&&p)v=Object.assign({},p);else v={};for(let C of u)v[C]=!0;await m.updateValue(jo.allowedLocales,v,2)}function WO(m){throw Error(`Unexpected value: ${m}`)}Ze(Kd);Ze(op);Ze(rp);Ze(_b);le(ip.ID,ip,1);Ra.register(Ty);class My{constructor(m,u,p,v,C){this._onDidChange=new np,this._onDidExtraLibsChange=new np,this._extraLibs=Object.create(null),this._removedExtraLibs=Object.create(null),this._eagerModelSync=!1,this.setCompilerOptions(m),this.setDiagnosticsOptions(u),this.setWorkerOptions(p),this.setInlayHintsOptions(v),this.setModeConfiguration(C),this._onDidExtraLibsChangeTimeout=-1}get onDidChange(){return this._onDidChange.event}get onDidExtraLibsChange(){return this._onDidExtraLibsChange.event}get modeConfiguration(){return this._modeConfiguration}get workerOptions(){return this._workerOptions}get inlayHintsOptions(){return this._inlayHintsOptions}getExtraLibs(){return this._extraLibs}addExtraLib(m,u){let p;if(typeof u>"u")p=`ts:extralib-${Math.random().toString(36).substring(2,15)}`;else p=u;if(this._extraLibs[p]&&this._extraLibs[p].content===m)return{dispose:()=>{}};let v=1;if(this._removedExtraLibs[p])v=this._removedExtraLibs[p]+1;if(this._extraLibs[p])v=this._extraLibs[p].version+1;return this._extraLibs[p]={content:m,version:v},this._fireOnDidExtraLibsChangeSoon(),{dispose:()=>{let C=this._extraLibs[p];if(!C)return;if(C.version!==v)return;delete this._extraLibs[p],this._removedExtraLibs[p]=v,this._fireOnDidExtraLibsChangeSoon()}}}setExtraLibs(m){for(let u in this._extraLibs)this._removedExtraLibs[u]=this._extraLibs[u].version;if(this._extraLibs=Object.create(null),m&&m.length>0)for(let u of m){let p=u.filePath||`ts:extralib-${Math.random().toString(36).substring(2,15)}`,v=u.content,C=1;if(this._removedExtraLibs[p])C=this._removedExtraLibs[p]+1;this._extraLibs[p]={content:v,version:C}}this._fireOnDidExtraLibsChangeSoon()}_fireOnDidExtraLibsChangeSoon(){if(this._onDidExtraLibsChangeTimeout!==-1)return;this._onDidExtraLibsChangeTimeout=window.setTimeout(()=>{this._onDidExtraLibsChangeTimeout=-1,this._onDidExtraLibsChange.fire(void 0)},0)}getCompilerOptions(){return this._compilerOptions}setCompilerOptions(m){this._compilerOptions=m||Object.create(null),this._onDidChange.fire(void 0)}getDiagnosticsOptions(){return this._diagnosticsOptions}setDiagnosticsOptions(m){this._diagnosticsOptions=m||Object.create(null),this._onDidChange.fire(void 0)}setWorkerOptions(m){this._workerOptions=m||Object.create(null),this._onDidChange.fire(void 0)}setInlayHintsOptions(m){this._inlayHintsOptions=m||Object.create(null),this._onDidChange.fire(void 0)}setMaximumWorkerIdleTime(m){}setEagerModelSync(m){this._eagerModelSync=m}getEagerModelSync(){return this._eagerModelSync}setModeConfiguration(m){this._modeConfiguration=m||Object.create(null),this._onDidChange.fire(void 0)}}var jD={completionItems:!0,hovers:!0,documentSymbols:!0,definitions:!0,references:!0,documentHighlights:!0,rename:!0,diagnostics:!0,documentRangeFormattingEdits:!0,signatureHelp:!0,onTypeFormattingEdits:!0,codeActions:!0,inlayHints:!0},tk=new My({allowNonTsExtensions:!0,target:99},{noSemanticValidation:!1,noSyntaxValidation:!1,onlyVisible:!1},{},{},jD),BO=new My({allowNonTsExtensions:!0,allowJs:!0,target:99},{noSemanticValidation:!0,noSyntaxValidation:!1,onlyVisible:!1},{},{},jD);function GD(){return me("2frah6h1"),import("./tsMode-2frah6h1.js")}pe.onLanguage("typescript",()=>GD().then((m)=>m.setupTypeScript(tk)));pe.onLanguage("javascript",()=>GD().then((m)=>m.setupJavaScript(BO)));export{It,rg,iu,l_,c_,d_,og,sg,Y1,u_,nc,ic,XR,sv,ru,Ra,ag,ef,h_,p_,Z1,X1,f_,Q1,ou,av,m_,g_,tf,lg,nf,cg,b_,lr,dg,ek,su,ns,tk};
|
|
62
|
-
|
|
63
|
-
//# debugId=2ADFEE79804D056A64756E2164756E21
|
|
64
|
-
//# sourceMappingURL=studio-1b04pd0j.js.map
|