Compare commits
10
Commits
8322d3cb3a
...
f88f9dc0fd
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f88f9dc0fd | ||
|
|
92ae2b601c | ||
|
|
0929a4e798 | ||
|
|
0f3c1e12c1 | ||
|
|
2f09bf527d | ||
|
|
0e1d8852f7 | ||
|
|
dba10eab24 | ||
|
|
22f625ced0 | ||
|
|
3923144976 | ||
|
|
f6f3c0c255 |
No files matched your search
@@ -1,6 +1,13 @@
|
||||
# bDS2 Plan
|
||||
|
||||
This document tracks the current implementation state of bDS2 against the Allium specs and the old bDS application, and it defines the ordered plan to reach full feature parity.
|
||||
This document tracks the current implementation state of bDS2 against the Allium specs and the old bDS application.
|
||||
|
||||
## Open Work Summary
|
||||
|
||||
- Completed plan steps: 1, 2, 3, 4, 5, 6, 8.
|
||||
- Open plan steps: 7, 9, 10, 11, 12.
|
||||
- Next actionable step: 7. The batch-4 audit is already recorded in this file, so the next implementation work is the remaining chat editor parity pass.
|
||||
- Scheduled after the current parity pass: 10 menu editor parity, 11 desktop-side CLI mutation watching, 12 import execution/editor parity.
|
||||
|
||||
## Current State
|
||||
|
||||
@@ -14,19 +21,20 @@ The rewrite already implements most of the backend and compatibility-critical su
|
||||
- Core editorial domains: projects, posts, post translations, media, media translations, tags, templates, scripts, menu data, and project metadata.
|
||||
- Output and infrastructure: search, Liquid rendering, site generation, preview server, publishing, background tasks, i18n, git support, MCP server, AI operations, embeddings, and CLI sync.
|
||||
- Desktop shell foundation: native menu definitions, LiveView shell endpoint, activity bar, sidebar views, tab/workbench state, task panel, assistant sidebar, status bar, project switcher, shell command routing, template-backed shell rendering, sidebar search/filter/load-more controls, dashboard recent-post opening, UI language switching, project dropdown actions, output/post-link/git lower-panel content, browser-native menu bridging, and the shared modal/overlay layer for AI suggestions, picker flows, confirmations, and gallery/lightbox interactions.
|
||||
- Dedicated editor surfaces now exist for posts, media, settings, style, tags, scripts, templates, chat, and the misc maintenance views, with focused shell-live tests covering real rendering and core save/preview/publish flows.
|
||||
|
||||
### Implemented But Not Yet At Parity
|
||||
|
||||
- Layout, tabs, and sidebar shell behavior exist, but many editor routes still render generic content instead of feature-complete editors.
|
||||
- Maintenance and validation routes such as metadata diff, site validation, translation validation, and duplicate detection have dedicated payload renderers, but most authoring routes do not.
|
||||
- AI gating, translation, image analysis, tag suggestions, and side-effect chains exist in backend services, but the end-to-end UI flows around those operations are still incomplete.
|
||||
- Shared workbench/session state exists, but the richer cross-surface behaviors described in the UI data-flow specs are only partially realized.
|
||||
- The remaining implemented UI parity work is now concentrated in the chat route; the other implemented batch-3 surfaces have already been audited and scored.
|
||||
- The batch-4 backend and integration audit is recorded below; any further service work should now come only from proven drift, not from missing audit coverage.
|
||||
- Shared workbench/session state exists, but any remaining UI-data-flow work should now be treated as a concrete parity gap only when it can be tied back to a proven old-app behavior.
|
||||
|
||||
### Missing Or Materially Incomplete
|
||||
|
||||
- Rich route-specific editors for post, media, settings, tags, chat, script, template, and misc surfaces.
|
||||
- Full UI wiring for create/import/publish/preview/edit-menu flows described by the editor specs.
|
||||
- Full parity validation against the old application for every spec-defined edge case in editor behavior, media processing details, and cross-feature action chains.
|
||||
- Import remains definition-only: stored import definitions exist, but the old WXR analysis/execution pipeline and its dedicated editor surface are not present.
|
||||
- Menu data exists, but the `menu_editor` route still lacks a dedicated editor surface comparable to the old app.
|
||||
- CLI sync notification persistence exists, but old-app parity for desktop-side watching/broadcasting of external DB mutations is not yet proven.
|
||||
- The remaining parity write-up gap is now keeping the chat row and the final minimal backlog in sync with the current implementation.
|
||||
|
||||
## Spec Coverage Snapshot
|
||||
|
||||
@@ -37,13 +45,13 @@ Ordered from base contracts upward:
|
||||
| Persistence and file contracts | `schema`, `frontmatter`, `project`, `post`, `translation`, `media`, `tag`, `template`, `script`, `menu`, `metadata` | Implemented | Core schemas, file formats, publish flows, sidecars, rebuild, and metadata diff are present and tested. |
|
||||
| Rendering and output pipelines | `template_context`, `search`, `generation`, `preview`, `publishing`, `task`, `i18n` | Implemented | Rendering, generation, preview, publishing, task tracking, and localization are in place. |
|
||||
| Integrations | `git`, `mcp`, `ai`, `embedding`, `cli_sync`, `metadata_diff` | Implemented | Service layer and test coverage exist for these domains. |
|
||||
| Desktop shell primitives | `layout`, `tabs`, `sidebar_views` | Implemented | Route state, registry-backed sidebar/editor coverage, panel fallback rules, menu/native-command wiring, and a LiveView-owned shell frame are in place; route bodies remain generic until the editor UX phase. |
|
||||
| Desktop shell primitives | `layout`, `tabs`, `sidebar_views` | Implemented | Route state, registry-backed sidebar/editor coverage, panel fallback rules, menu/native-command wiring, and a LiveView-owned shell frame are in place. |
|
||||
| Cross-cutting flows | `ui_data_flow`, `engine_side_effects`, `action_patterns`, `media_processing` | Partial | Most backend behavior exists, but UI coordination, explicit engine event modeling, and some parity details are still incomplete. |
|
||||
| Editor UX layer | `editor_post`, `editor_media`, `editor_settings`, `editor_tags`, `editor_chat`, `editor_script`, `editor_template`, `editor_misc`, `modals` | Partial | Shared modal workflows are implemented; route registration exists, but feature-complete editors are not done. |
|
||||
| Editor UX layer | `editor_post`, `editor_media`, `editor_settings`, `editor_tags`, `editor_chat`, `editor_script`, `editor_template`, `editor_misc`, `modals` | Partial | The existing editor routes now render dedicated surfaces and have focused tests; import/menu parity and full old-app behavior scoring are still outstanding. |
|
||||
|
||||
## Plan To Full Feature Parity
|
||||
## Batch 3 And 4 Focus
|
||||
|
||||
The remaining work needs to proceed from base contracts upward. Later phases should not outrun the lower layers they depend on.
|
||||
Only these two audit tracks matter for the current pass. The follow-on missing-feature tracks now sit explicitly after this pass as steps 10, 11, and 12.
|
||||
|
||||
1. Lock compatibility contracts. Completed 2026-04-25.
|
||||
Schema, frontmatter, sidecars, template context, generation output, preview behavior, metadata diff, and rebuild behavior are now pinned against the Allium specs and the old bDS application with executable parity tests.
|
||||
@@ -57,11 +65,125 @@ The remaining work needs to proceed from base contracts upward. Later phases sho
|
||||
4. Implement the shared modal and confirmation layer. Completed 2026-04-26.
|
||||
The LiveView shell now owns the shared modal/overlay system required by the specs: AI suggestions, delete confirmations, merge confirmation, picker overlays, and gallery/lightbox flows, with overlay state isolated in a pure module and covered by focused tests.
|
||||
|
||||
5. Build feature-complete editors.
|
||||
Replace generic editor bodies with real editors for posts, media, settings, tags, chat, scripts, templates, and misc maintenance views, including save/discard/publish/delete/import flows.
|
||||
5. Audit batch 3: shell UI plus all dedicated editors already present. Completed 2026-04-28.
|
||||
Compared the old Electron/React shell and each dedicated editor route against the current LiveView shell, scored parity green/yellow/red, and reduced the proven batch-3 drift list to the remaining chat-surface gaps only.
|
||||
|
||||
6. Wire cross-surface UI behavior.
|
||||
Complete the sidebar-editor-tab-reactivity model, dirty-state rules, background task feedback, offline/airplane-mode gating in the UI, and route-specific state transitions described by the UI data-flow and action-pattern specs.
|
||||
6. Audit batch 4: lower-risk backend and integration services behind those surfaces. Completed 2026-04-29.
|
||||
Tied each old engine contract to its bDS2 replacement, verified the executable proof set, probed the relevant owning UI/editor entry points, and recorded the batch-4 parity scores in the snapshot below.
|
||||
|
||||
7. Reach legacy parity and harden releases.
|
||||
Add executable tests mapped to the Allium specs and old-app behaviors, then validate packaging, desktop runtime behavior, MCP packaging, and end-to-end workflows as release criteria.
|
||||
7. Restore remaining chat editor parity on the implemented route.
|
||||
Use the old `ChatPanel` and chat surface code as the blueprint, refresh the chat parity row to the current implementation, and close only the remaining proven live-turn/UI drift without widening into unrelated AI features.
|
||||
|
||||
8. Restore misc maintenance editor parity on the implemented routes. Completed 2026-04-28.
|
||||
Translation validation now uses the old dedicated validate-and-fix card surface again, and git diff now renders through the structured Monaco diff viewer while keeping the current metadata-diff, site-validation, and duplicate flows intact.
|
||||
|
||||
9. Fix any remaining batch 3 and batch 4 parity gaps that the audit proves.
|
||||
Do not widen step 9 into the later menu, CLI-mutation-watching, import, or release-packaging tracks unless one of those blocks a batch 3 or batch 4 parity scenario.
|
||||
|
||||
10. Restore menu editor parity on the implemented data model.
|
||||
Build the dedicated menu editor surface against the existing menu data using the old app as the blueprint for workflow, behavior, UI structure, and styling.
|
||||
|
||||
11. Restore desktop-side CLI mutation watching parity.
|
||||
Add the old desktop-side watching and invalidation behavior for external database mutations so CLI sync notifications propagate through the shell with the same timing and UX expectations as the old app.
|
||||
|
||||
12. Restore import execution and editor parity.
|
||||
Extend the existing stored import definitions into the old WXR analysis/execution pipeline and add the dedicated editor surface so import behavior, workflow, and look and feel match the old app.
|
||||
|
||||
## Batch 3 Audit Matrix
|
||||
|
||||
| Slice | Old bDS anchor | bDS2 anchor | Audit questions |
|
||||
| --- | --- | --- | --- |
|
||||
| Shell chrome | `src/renderer/components/ActivityBar`, `Sidebar`, `TabBar`, `Panel`, `WindowTitleBar`, `AssistantSidebar`, `App.tsx`, `App.css` | `lib/bds/desktop/shell_live.ex`, `lib/bds/desktop/shell_live/index.html.heex`, `lib/bds/ui/workbench.ex`, `lib/bds/desktop/shell_live/sidebar_components.ex`, `priv/ui/app.css` | Same activity ordering, same toggle semantics, same transient/pinned tab behavior, same panel fallback rules, same project switcher behavior, same language switching, same titlebar/menu behavior, same shell sizing defaults. |
|
||||
| Post editor | `src/renderer/components/Editor/PostEditor.tsx` | `lib/bds/desktop/shell_live/post_editor.ex`, `lib/bds/desktop/shell_live/post_editor_html` | Same draft/published body loading, save/publish/discard/delete rules, preview switching, quick actions, translation flags, media panel, dirty-state behavior, localized labels. |
|
||||
| Media editor | `src/renderer/components/Editor/MediaEditor.tsx` | `lib/bds/desktop/shell_live/media_editor.ex`, `lib/bds/desktop/shell_live/media_editor_html` | Same explicit-save flow, same linked-post rendering, same translation modal/edit path, same quick actions, same metadata fields and localization. |
|
||||
| Settings editor | `src/renderer/components/SettingsView/SettingsView.tsx` | `lib/bds/desktop/shell_live/settings_editor.ex`, `lib/bds/desktop/shell_live/settings_editor_html/settings_editor.html.heex` | Same section model, same search/filter behavior, same section targeting, same metadata fields, same AI/settings grouping, same publishing/data/MCP sections. |
|
||||
| Style editor | `src/renderer/components/StyleView/StyleView.tsx` | `lib/bds/desktop/shell_live/settings_editor.ex`, `lib/bds/desktop/shell_live/settings_editor_html/style_editor.html.heex` | Same theme list, same preview URL behavior, same apply flow, same selected/applied theme semantics. |
|
||||
| Tags editor | `src/renderer/components/TagsView/TagsView.tsx` | `lib/bds/desktop/shell_live/tags_editor.ex`, `lib/bds/desktop/shell_live/tags_editor_html` | Same tag CRUD, same color handling, same merge/delete flows, same post-template selection behavior. |
|
||||
| Script editor | `src/renderer/components/ScriptsView/ScriptsView.tsx` | `lib/bds/desktop/shell_live/code_entity_editor.ex`, `lib/bds/desktop/shell_live/code_entity_editor_html/script_editor.html.heex` | Same script metadata fields, same Monaco setup, same check/run/save/delete flow, same entrypoint discovery behavior. |
|
||||
| Template editor | `src/renderer/components/TemplatesView/TemplatesView.tsx` | `lib/bds/desktop/shell_live/code_entity_editor.ex`, `lib/bds/desktop/shell_live/code_entity_editor_html/template_editor.html.heex` | Same template metadata fields, same Monaco setup, same validate/save/delete flow, same template kind handling. |
|
||||
| Chat editor | `src/renderer/components/ChatPanel/ChatPanel.tsx` | `lib/bds/desktop/shell_live/chat_editor.ex`, `lib/bds/desktop/shell_live/chat_editor_html` | Same conversation loading, same input/send flow, same transcript rendering, same task/result presentation, same airplane-mode gating. |
|
||||
| Misc maintenance editors | `src/renderer/components/SiteValidationView`, `TranslationValidationView`, `MetadataDiffPanel`, `DuplicatesView`, `GitDiffView` | `lib/bds/desktop/shell_live/misc_editor.ex`, `lib/bds/desktop/shell_live/misc_editor_html` | Same result summaries, same action buttons, same diff/repair/apply flows, same tab/filter behavior, same empty/error states. |
|
||||
|
||||
## Batch 3 Procedure
|
||||
|
||||
1. Freeze a parity row per slice: old file, new file, proof tests, manual scenario, current score, gap notes.
|
||||
2. Run shell-level proof first: `mix test test/bds/desktop/shell_live_test.exs test/bds/ui/sidebar_test.exs`.
|
||||
3. Audit shell chrome before individual editors, so layout/tabs/sidebar drift does not get misattributed to an editor.
|
||||
4. Audit editors in this order: post, media, settings, style, tags, scripts, templates, chat, misc.
|
||||
5. For each editor, capture only behavior deltas: missing flow, different state transition, styling drift, localization drift, or command wiring drift.
|
||||
6. Mark each slice `green`, `yellow`, or `red`; do not down-score a row for a separate feature that is not implemented yet.
|
||||
|
||||
## Batch 3 Audit Snapshot
|
||||
|
||||
Current batch 3 parity scores for existing implemented UI/editor code only. Missing or not-yet-implemented surfaces are not counted as parity failures in this table.
|
||||
|
||||
| Slice | Score | Old bDS anchor | bDS2 anchor | Proof used | Existing-code parity result |
|
||||
| --- | --- | --- | --- | --- | --- |
|
||||
| Shell chrome | green | `src/renderer/components/ActivityBar`, `Sidebar`, `TabBar`, `Panel`, `WindowTitleBar`, `AssistantSidebar`, `App.tsx`, `App.css` | `lib/bds/desktop/shell_live.ex`, `lib/bds/desktop/shell_live/index.html.heex`, `lib/bds/ui/workbench.ex`, `lib/bds/desktop/shell_live/sidebar_components.ex`, `priv/ui/app.css` | `mix test test/bds/desktop/shell_live_test.exs test/bds/ui/sidebar_test.exs`; owner files and shell CSS compared | No material implemented-code parity drift found in the shell frame, activity/sidebar/tab/panel behavior, or current chrome styling. |
|
||||
| Post editor | green | `src/renderer/components/Editor/PostEditor.tsx` | `lib/bds/desktop/shell_live/post_editor.ex`, `lib/bds/desktop/shell_live/post_editor_html/*` | `mix test test/bds/desktop/shell_live_test.exs`; post editor implementation compared | No material implemented-code parity drift found in the current save, publish, discard, preview, or published-body-loading flows. |
|
||||
| Media editor | green | `src/renderer/components/Editor/MediaEditor.tsx` | `lib/bds/desktop/shell_live/media_editor.ex`, `lib/bds/desktop/shell_live/media_editor_html/*` | `mix test test/bds/desktop/shell_live_test.exs`; media editor implementation compared | No material implemented-code parity drift found in the current explicit-save, translation edit, linked-post, and metadata-edit flows. |
|
||||
| Settings editor | green | `src/renderer/components/SettingsView/SettingsView.tsx` | `lib/bds/desktop/shell_live/settings_editor.ex`, `lib/bds/desktop/shell_live/settings_editor_html/settings_editor.html.heex` | `mix test test/bds/desktop/shell_live_test.exs`; settings editor implementation compared | No material implemented-code parity drift found in the current section model, AI settings groups, project/editor/content/publishing/data/MCP sections, or implemented search/filter behavior. |
|
||||
| Style editor | green | `src/renderer/components/StyleView/StyleView.tsx` | `lib/bds/desktop/shell_live/settings_editor.ex`, `lib/bds/desktop/shell_live/settings_editor_html/style_editor.html.heex` | `mix test test/bds/desktop/shell_live_test.exs`; style editor implementation compared | No material implemented-code parity drift found in the current theme picker, preview mode, preview URL, and apply flow. |
|
||||
| Tags editor | green | `src/renderer/components/TagsView/TagsView.tsx` | `lib/bds/desktop/shell_live/tags_editor.ex`, `lib/bds/desktop/shell_live/tags_editor_html/*` | `mix test test/bds/desktop/shell_live_test.exs`; tags editor implementation compared | No material implemented-code parity drift found in the current create/edit/delete/merge flows, color handling, or post-template selection behavior. |
|
||||
| Script editor | green | `src/renderer/components/ScriptsView/ScriptsView.tsx` | `lib/bds/desktop/shell_live/code_entity_editor.ex`, `lib/bds/desktop/shell_live/code_entity_editor_html/script_editor.html.heex` | `mix test test/bds/desktop/shell_live_test.exs`; script editor implementation compared | No material implemented-code parity drift found in the current Monaco editor, metadata form, syntax check, run, save, delete, and entrypoint selection flow. |
|
||||
| Template editor | green | `src/renderer/components/TemplatesView/TemplatesView.tsx` | `lib/bds/desktop/shell_live/code_entity_editor.ex`, `lib/bds/desktop/shell_live/code_entity_editor_html/template_editor.html.heex` | `mix test test/bds/desktop/shell_live_test.exs`; template editor implementation compared | No material implemented-code parity drift found in the current Monaco editor, metadata form, validate, save, and delete flow. |
|
||||
| Chat editor | yellow | `src/renderer/components/ChatPanel/ChatPanel.tsx` | `lib/bds/desktop/shell_live/chat_editor.ex`, `lib/bds/desktop/shell_live/chat_editor_html/chat_editor.html.heex` | `mix test test/bds/desktop/shell_live_test.exs`; chat editor implementation compared | The current bDS2 chat route now covers the old model selector with provider grouping, welcome state, persisted transcript, airplane-mode gating, API-key-required state, assistant markdown rendering, tool markers, structured tool surfaces, assistant navigation actions, and the in-flight stop/abort flow. Step 7 remains open because the chat row still needs one fresh focused pass against the old live-turn surface to pin any remaining proven drift before it can be scored green. |
|
||||
| Misc maintenance editors | green | `src/renderer/components/SiteValidationView`, `TranslationValidationView`, `MetadataDiffPanel`, `DuplicatesView`, `GitDiffView` | `lib/bds/desktop/shell_live/misc_editor.ex`, `lib/bds/desktop/shell_live/misc_editor_html/misc_editor.html.heex` | `mix test test/bds/desktop/shell_live_test.exs`; misc editor implementation compared | No material implemented-code parity drift found in the current metadata diff, site validation, duplicate dismissal, translation validation, or working-tree git diff flows. Translation validation again uses dedicated issue cards with revalidate/fix actions, and git diff now uses the structured Monaco diff surface. |
|
||||
|
||||
## Batch 4 Audit Matrix
|
||||
|
||||
| Service slice | Old bDS anchor | bDS2 anchor | Audit questions |
|
||||
| --- | --- | --- | --- |
|
||||
| Projects and metadata | `src/main/engine/ProjectEngine.ts`, `MetaEngine.ts` | `lib/bds/projects.ex`, `lib/bds/metadata.ex` | Same project activation/switching semantics, same filesystem metadata sync, same category/theme/settings persistence, same defaults. |
|
||||
| Rendering and preview | `src/main/engine/PageRenderer.ts`, `PreviewServer.ts`, `TemplateEngine.ts` | `lib/bds/rendering.ex`, `lib/bds/preview.ex`, `lib/bds/templates.ex` | Same template selection, same preview URL/content rules, same theme override behavior, same render-language behavior. |
|
||||
| Generation and validation entry points | `src/main/engine/BlogGenerationEngine.ts`, `SiteValidationDiffService.ts` | `lib/bds/generation.ex`, `lib/bds/maintenance.ex` | Same command-surface semantics for generate/validate/apply where batch 3 editors trigger them, same result payload shapes, same update/apply behavior. |
|
||||
| Publishing | `src/main/engine/PublishEngine.ts`, `PublishApiAdapter.ts` | `lib/bds/publishing.ex`, `lib/bds/desktop/shell_commands.ex` | Same queued-job behavior, same credential handling, same progress/result semantics, same UI entry points. |
|
||||
| Tasks | `src/main/engine/TaskManager.ts` | `lib/bds/tasks.ex` | Same group/task lifecycle, same progress semantics, same status-bar/panel integration expectations. |
|
||||
| Git | `src/main/engine/GitEngine.ts`, `GitApiAdapter.ts` | `lib/bds/git.ex`, `lib/bds/desktop/shell_live/misc_editor.ex` | Same repo state, same diff output expectations, same remote-state badge behavior, same editor integration. |
|
||||
| Search | `src/main/engine/SearchIndexEngine.ts` | `lib/bds/search.ex` | Same reindex semantics, same content scope, same task/progress behavior, same downstream editor/search expectations. |
|
||||
| Embeddings | `src/main/engine/EmbeddingEngine.ts` | `lib/bds/embeddings.ex` | Same rebuild/find-dismiss semantics, same duplicate pairing rules, same metadata-diff integration. |
|
||||
| AI and model catalog | `src/main/engine/ChatEngine.ts`, `ModelCatalogEngine.ts`, `ai/*` | `lib/bds/ai.ex`, `lib/bds/ai/*` | Same endpoint/model resolution, same conversation/message behavior, same airplane-mode gating, same tool-call/UI expectations. |
|
||||
| MCP | `src/main/engine/MCPServer.ts`, `mcp-view-builder.ts`, `mcp-views.ts` | `lib/bds/mcp.ex`, `lib/bds/mcp/*` | Same tool/resource coverage, same proposal/store behavior, same script/template bridge expectations. |
|
||||
| CLI sync notification persistence | `src/main/engine/NotificationWatcher.ts` | `lib/bds/cli_sync.ex` | For the implemented notification store/drain/prune logic, do the `db_notifications` semantics match the old app. |
|
||||
|
||||
## Batch 4 Procedure
|
||||
|
||||
1. Freeze a parity row per service slice: old engine, bDS2 module, proof tests, owning editor/shell entry point, current score, gap notes.
|
||||
2. Run the current proof set in four groups.
|
||||
3. Group A: `mix test test/bds/generation_test.exs test/bds/maintenance_test.exs test/bds/rendering_test.exs test/bds/preview_test.exs`.
|
||||
4. Group B: `mix test test/bds/posts_test.exs test/bds/media_test.exs test/bds/tags_test.exs test/bds/templates_test.exs test/bds/scripts_test.exs test/bds/projects_test.exs`.
|
||||
5. Group C: `mix test test/bds/publishing_test.exs test/bds/git_test.exs test/bds/search_test.exs test/bds/embeddings_test.exs test/bds/desktop/shell_commands_test.exs`.
|
||||
6. Group D: `mix test test/bds/ai_test.exs test/bds/mcp_server_test.exs test/bds/mcp_test.exs`.
|
||||
7. Supplemental direct proofs for slices not fully covered by the grouped runs: `mix test test/bds/metadata_test.exs`, `mix test test/bds/tasks_test.exs`, and `mix test test/bds/cli_sync_test.exs`.
|
||||
8. After the proof set, probe each service through the matching shell/editor action when that entry point already exists and is part of the implemented surface being scored.
|
||||
9. Mark each slice `green`, `yellow`, or `red`; do not down-score a row for a separate feature that is not implemented yet.
|
||||
|
||||
## Batch 4 Audit Snapshot
|
||||
|
||||
Current batch 4 parity scores for implemented backend code only. This snapshot is the output of completed step 6. Missing or not-yet-implemented surfaces are not counted as parity failures in this table.
|
||||
|
||||
| Service slice | Score | Old bDS anchor | bDS2 anchor | Owning shell/editor entry | Proof used | Existing-code parity result |
|
||||
| --- | --- | --- | --- | --- | --- | --- |
|
||||
| Projects and metadata | green | `src/main/engine/ProjectEngine.ts`, `src/main/engine/MetaEngine.ts` | `lib/bds/projects.ex`, `lib/bds/metadata.ex` | `lib/bds/desktop/shell_live.ex`, `lib/bds/desktop/shell_live/settings_editor.ex` | `mix test test/bds/projects_test.exs`, `mix test test/bds/metadata_test.exs`; existing shell-live settings/project-switcher coverage reviewed | No material backend parity drift found in the current pass. |
|
||||
| Rendering and preview | green | `src/main/engine/PageRenderer.ts`, `src/main/engine/PreviewServer.ts`, `src/main/engine/TemplateEngine.ts` | `lib/bds/rendering.ex`, `lib/bds/preview.ex`, `lib/bds/templates.ex` | `lib/bds/desktop/shell_live/post_editor.ex`, `lib/bds/desktop/shell_live/settings_editor.ex` | `mix test test/bds/rendering_test.exs test/bds/preview_test.exs`; existing shell-live preview/style coverage reviewed | No material backend parity drift found in the current pass. |
|
||||
| Generation and validation entry points | green | `src/main/engine/BlogGenerationEngine.ts`, `src/main/engine/SiteValidationDiffService.ts` | `lib/bds/generation.ex`, `lib/bds/maintenance.ex` | `lib/bds/desktop/shell_commands.ex`, `lib/bds/desktop/shell_live/misc_editor.ex` | `mix test test/bds/generation_test.exs test/bds/maintenance_test.exs`, `mix test test/bds/desktop/shell_commands_test.exs` | No material backend parity drift found in the current pass. |
|
||||
| Publishing | green | `src/main/engine/PublishEngine.ts`, `src/main/engine/PublishApiAdapter.ts` | `lib/bds/publishing.ex`, `lib/bds/desktop/shell_commands.ex` | Publishing section under `lib/bds/desktop/shell_live/settings_editor.ex` | `mix test test/bds/publishing_test.exs`; shell ownership reviewed | The implemented queued-job, credential, scp/rsync, sidecar-filter, and persistence behavior matches the old engine surface closely enough for green. |
|
||||
| Tasks | green | `src/main/engine/TaskManager.ts` | `lib/bds/tasks.ex` | `lib/bds/desktop/shell_live.ex`, `lib/bds/ui/workbench.ex` | `mix test test/bds/tasks_test.exs`, `mix test test/bds/desktop/shell_commands_test.exs`; existing shell task-panel/status coverage reviewed | No material backend parity drift found in the current pass. |
|
||||
| Git | green | `src/main/engine/GitEngine.ts`, `src/main/engine/GitApiAdapter.ts` | `lib/bds/git.ex`, `lib/bds/desktop/shell_live/misc_editor.ex` | Legacy git activity badge plus misc git-diff surface in `lib/bds/desktop/shell_live.ex` | `mix test test/bds/git_test.exs`; existing shell-live remote-badge coverage reviewed | The implemented repository, status, diff, history, remote-state, and fetch/pull/push semantics are close enough to old bDS for green on existing backend code. |
|
||||
| Search | green | `src/main/engine/SearchIndexEngine.ts` | `lib/bds/search.ex` | `lib/bds/desktop/shell_commands.ex` via `reindex_text` | `mix test test/bds/search_test.exs`, `mix test test/bds/desktop/shell_commands_test.exs` | No material backend parity drift found in the current pass. |
|
||||
| Embeddings | green | `src/main/engine/EmbeddingEngine.ts` | `lib/bds/embeddings.ex` | `lib/bds/desktop/shell_commands.ex`, `lib/bds/desktop/shell_live/misc_editor.ex` | `mix test test/bds/embeddings_test.exs`, `mix test test/bds/desktop/shell_commands_test.exs`; existing metadata-diff/duplicates shell coverage reviewed | No material backend parity drift found in the current pass. |
|
||||
| AI and model catalog | green | `src/main/engine/ChatEngine.ts`, `src/main/engine/ModelCatalogEngine.ts`, `src/main/engine/ai/*` | `lib/bds/ai.ex`, `lib/bds/ai/*` | `lib/bds/desktop/shell_live/chat_editor.ex`, `lib/bds/desktop/shell_live/settings_editor.ex` | `mix test test/bds/ai_test.exs`; existing shell-live AI-settings/chat coverage reviewed | No material backend parity drift found for the implemented AI and catalog flows. |
|
||||
| MCP | green | `src/main/engine/MCPServer.ts`, `src/main/engine/mcp-view-builder.ts`, `src/main/engine/mcp-views.ts` | `lib/bds/mcp.ex`, `lib/bds/mcp/server.ex`, `lib/bds/mcp/*` | MCP section under `lib/bds/desktop/shell_live/settings_editor.ex` and external MCP transport | `mix test test/bds/mcp_server_test.exs test/bds/mcp_test.exs` | No material backend parity drift found for the implemented tool, resource, proposal, and server surface. |
|
||||
| CLI sync notification persistence | green | `src/main/engine/NotificationWatcher.ts` | `lib/bds/cli_sync.ex` | Notification rows consumed outside the shell; no desktop watcher is scored here | `mix test test/bds/cli_sync_test.exs` | The implemented `db_notifications` insert, drain, seen-marking, and prune semantics match the old row-handling behavior. Desktop watch/invalidation is outside this existing-code score because it is not implemented in bDS2. |
|
||||
|
||||
## Audit Outputs Required
|
||||
|
||||
1. A single parity matrix covering every batch 3 and batch 4 slice.
|
||||
2. A green/yellow/red score per slice, never just narrative confidence.
|
||||
3. The exact old file and exact bDS2 file that own each behavior.
|
||||
4. The proof command or manual scenario used for the score.
|
||||
5. A minimal change backlog containing only proven drifts in batch 3 and batch 4.
|
||||
|
||||
## Unresolved Questions
|
||||
|
||||
None.
|
||||
+247
-5
@@ -317,6 +317,50 @@ defmodule BDS.AI do
|
||||
|> Enum.map(&format_conversation/1)
|
||||
end
|
||||
|
||||
def available_chat_models(current_model \\ nil) do
|
||||
endpoint_models = configured_chat_models()
|
||||
|
||||
preference_models =
|
||||
[:chat, :airplane_chat]
|
||||
|> Enum.flat_map(fn key ->
|
||||
case get_model_preference(key) do
|
||||
{:ok, model} when is_binary(model) and model != "" -> [model]
|
||||
_other -> []
|
||||
end
|
||||
end)
|
||||
|
||||
provider_names = catalog_provider_name_map()
|
||||
endpoint_provider_map = Map.new(endpoint_models, &{&1.id, &1.provider})
|
||||
|
||||
[current_model | Enum.map(endpoint_models, & &1.id) ++ preference_models]
|
||||
|> Enum.filter(&(is_binary(&1) and String.trim(&1) != ""))
|
||||
|> Enum.uniq()
|
||||
|> Enum.map(&build_available_chat_model(&1, endpoint_provider_map, provider_names))
|
||||
|> Enum.sort_by(fn model ->
|
||||
{
|
||||
String.downcase(to_string(model.provider_name || model.provider || "")),
|
||||
String.downcase(to_string(model.name || model.id))
|
||||
}
|
||||
end)
|
||||
end
|
||||
|
||||
def set_conversation_model(conversation_id, model_id)
|
||||
when is_binary(conversation_id) and is_binary(model_id) do
|
||||
case Repo.get(ChatConversation, conversation_id) do
|
||||
nil ->
|
||||
{:error, :not_found}
|
||||
|
||||
%ChatConversation{} = conversation ->
|
||||
conversation
|
||||
|> ChatConversation.changeset(%{model: model_id, updated_at: Persistence.now_ms()})
|
||||
|> Repo.update()
|
||||
|> case do
|
||||
{:ok, updated_conversation} -> {:ok, format_conversation(updated_conversation)}
|
||||
error -> error
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def list_chat_messages(conversation_id) when is_binary(conversation_id) do
|
||||
Repo.all(
|
||||
from message in ChatMessage,
|
||||
@@ -437,6 +481,81 @@ defmodule BDS.AI do
|
||||
}
|
||||
end
|
||||
|
||||
defp configured_chat_models do
|
||||
[:online, :airplane]
|
||||
|> Enum.flat_map(fn kind ->
|
||||
case get_endpoint(kind) do
|
||||
{:ok, %{model: model, url: url}} when is_binary(model) and model != "" ->
|
||||
[%{id: model, provider: infer_endpoint_provider(kind, url)}]
|
||||
|
||||
_other ->
|
||||
[]
|
||||
end
|
||||
end)
|
||||
end
|
||||
|
||||
defp build_available_chat_model(model_id, endpoint_provider_map, provider_names) do
|
||||
case get_catalog_model(model_id) do
|
||||
{:ok, model} ->
|
||||
provider = model.provider || Map.get(endpoint_provider_map, model_id, "other")
|
||||
|
||||
%{
|
||||
id: model.model_id,
|
||||
name: model.name || model.model_id,
|
||||
provider: provider,
|
||||
provider_name: Map.get(provider_names, provider, fallback_provider_name(provider)),
|
||||
context_window: model.context_window,
|
||||
max_output_tokens: model.max_output_tokens
|
||||
}
|
||||
|
||||
{:error, :not_found} ->
|
||||
provider = Map.get(endpoint_provider_map, model_id, "other")
|
||||
|
||||
%{
|
||||
id: model_id,
|
||||
name: model_id,
|
||||
provider: provider,
|
||||
provider_name: Map.get(provider_names, provider, fallback_provider_name(provider)),
|
||||
context_window: nil,
|
||||
max_output_tokens: nil
|
||||
}
|
||||
end
|
||||
end
|
||||
|
||||
defp catalog_provider_name_map do
|
||||
Repo.all(from provider in CatalogProvider, select: {provider.id, provider.name})
|
||||
|> Map.new()
|
||||
end
|
||||
|
||||
defp infer_endpoint_provider(:online, _url), do: "generic-openai"
|
||||
|
||||
defp infer_endpoint_provider(:airplane, url) when is_binary(url) do
|
||||
normalized_url = String.downcase(url)
|
||||
|
||||
cond do
|
||||
String.contains?(normalized_url, "11434") or String.contains?(normalized_url, "ollama") -> "ollama"
|
||||
String.contains?(normalized_url, "1234") or String.contains?(normalized_url, "lmstudio") -> "lmstudio"
|
||||
true -> "generic-openai"
|
||||
end
|
||||
end
|
||||
|
||||
defp infer_endpoint_provider(:airplane, _url), do: "generic-openai"
|
||||
|
||||
defp fallback_provider_name("generic-openai"), do: "Generic OpenAI"
|
||||
defp fallback_provider_name("lmstudio"), do: "LM Studio"
|
||||
defp fallback_provider_name("mistral"), do: "Mistral"
|
||||
defp fallback_provider_name("ollama"), do: "Ollama"
|
||||
defp fallback_provider_name("openai"), do: "OpenAI"
|
||||
|
||||
defp fallback_provider_name(provider) when is_binary(provider) and provider != "" do
|
||||
provider
|
||||
|> String.split(["-", "_"], trim: true)
|
||||
|> Enum.map(&String.capitalize/1)
|
||||
|> Enum.join(" ")
|
||||
end
|
||||
|
||||
defp fallback_provider_name(_provider), do: "Other"
|
||||
|
||||
defp run_one_shot(operation, payload, opts, formatter) do
|
||||
runtime = Keyword.get(opts, :runtime, OpenAICompatibleRuntime)
|
||||
|
||||
@@ -479,11 +598,19 @@ defmodule BDS.AI do
|
||||
with {:ok, response} <- runtime.generate(endpoint_with_model(endpoint, model), request, opts),
|
||||
{:ok, assistant_message} <- persist_assistant_response(conversation.id, response),
|
||||
:ok <- touch_conversation(conversation.id) do
|
||||
if is_binary(Map.get(response, :content)) and String.trim(Map.get(response, :content)) != "" do
|
||||
notify_chat_event(opts, {:chat_streaming_content, conversation.id, Map.get(response, :content)})
|
||||
end
|
||||
|
||||
tool_calls = decode_tool_calls(Map.get(response, :tool_calls))
|
||||
|
||||
Enum.each(tool_calls, fn tool_call ->
|
||||
notify_chat_event(opts, {:chat_tool_call, conversation.id, tool_call})
|
||||
end)
|
||||
|
||||
cond do
|
||||
tool_calls != [] and tools != [] ->
|
||||
with {:ok, tool_messages} <- execute_tool_calls(conversation.id, tool_calls, project_id),
|
||||
with {:ok, tool_messages} <- execute_tool_calls(conversation.id, tool_calls, project_id, opts),
|
||||
updated_messages <- load_chat_messages(conversation.id),
|
||||
{:ok, reply} <-
|
||||
chat_round(
|
||||
@@ -533,7 +660,7 @@ defmodule BDS.AI do
|
||||
})
|
||||
end
|
||||
|
||||
defp execute_tool_calls(conversation_id, tool_calls, project_id) do
|
||||
defp execute_tool_calls(conversation_id, tool_calls, project_id, opts) do
|
||||
tool_messages =
|
||||
Enum.map(tool_calls, fn tool_call ->
|
||||
result = execute_tool(tool_call.name, tool_call.arguments || %{}, project_id)
|
||||
@@ -547,6 +674,8 @@ defmodule BDS.AI do
|
||||
created_at: Persistence.now_ms()
|
||||
})
|
||||
|
||||
notify_chat_event(opts, {:chat_tool_result, conversation_id, tool_call.name})
|
||||
|
||||
format_chat_message(message)
|
||||
end)
|
||||
|
||||
@@ -610,7 +739,51 @@ defmodule BDS.AI do
|
||||
%{
|
||||
type: "form",
|
||||
title: arguments["title"],
|
||||
fields: arguments["fields"] || []
|
||||
fields: arguments["fields"] || [],
|
||||
submit_label: arguments["submit_label"] || arguments["submitLabel"],
|
||||
submit_action: arguments["submit_action"] || arguments["submitAction"]
|
||||
}
|
||||
end
|
||||
|
||||
defp execute_tool("render_card", arguments, _project_id) do
|
||||
%{
|
||||
type: "card",
|
||||
title: arguments["title"],
|
||||
subtitle: arguments["subtitle"],
|
||||
body: arguments["body"],
|
||||
actions: arguments["actions"] || []
|
||||
}
|
||||
end
|
||||
|
||||
defp execute_tool("render_metric", arguments, _project_id) do
|
||||
%{
|
||||
type: "metric",
|
||||
label: arguments["label"],
|
||||
value: arguments["value"]
|
||||
}
|
||||
end
|
||||
|
||||
defp execute_tool("render_list", arguments, _project_id) do
|
||||
%{
|
||||
type: "list",
|
||||
title: arguments["title"],
|
||||
items: arguments["items"] || []
|
||||
}
|
||||
end
|
||||
|
||||
defp execute_tool("render_tabs", arguments, _project_id) do
|
||||
%{
|
||||
type: "tabs",
|
||||
title: arguments["title"],
|
||||
tabs: arguments["tabs"] || []
|
||||
}
|
||||
end
|
||||
|
||||
defp execute_tool("render_mindmap", arguments, _project_id) do
|
||||
%{
|
||||
type: "mindmap",
|
||||
title: arguments["title"],
|
||||
nodes: arguments["nodes"] || []
|
||||
}
|
||||
end
|
||||
|
||||
@@ -694,9 +867,14 @@ defmodule BDS.AI do
|
||||
|
||||
project_tools ++
|
||||
[
|
||||
%{name: "render_card", spec: tool_spec("render_card", "Return a structured card payload", render_card_schema())},
|
||||
%{name: "render_table", spec: tool_spec("render_table", "Return a structured table payload", render_table_schema())},
|
||||
%{name: "render_chart", spec: tool_spec("render_chart", "Return a structured chart payload", render_chart_schema())},
|
||||
%{name: "render_form", spec: tool_spec("render_form", "Return a structured form payload", render_form_schema())}
|
||||
%{name: "render_form", spec: tool_spec("render_form", "Return a structured form payload", render_form_schema())},
|
||||
%{name: "render_metric", spec: tool_spec("render_metric", "Return a structured metric payload", render_metric_schema())},
|
||||
%{name: "render_list", spec: tool_spec("render_list", "Return a structured list payload", render_list_schema())},
|
||||
%{name: "render_tabs", spec: tool_spec("render_tabs", "Return a structured tabs payload", render_tabs_schema())},
|
||||
%{name: "render_mindmap", spec: tool_spec("render_mindmap", "Return a structured mindmap payload", render_mindmap_schema())}
|
||||
]
|
||||
else
|
||||
[]
|
||||
@@ -1120,7 +1298,61 @@ defmodule BDS.AI do
|
||||
"type" => "object",
|
||||
"properties" => %{
|
||||
"title" => %{"type" => "string"},
|
||||
"fields" => %{"type" => "array"}
|
||||
"fields" => %{"type" => "array"},
|
||||
"submitLabel" => %{"type" => "string"},
|
||||
"submitAction" => %{"type" => "string"}
|
||||
}
|
||||
}
|
||||
end
|
||||
|
||||
defp render_card_schema do
|
||||
%{
|
||||
"type" => "object",
|
||||
"properties" => %{
|
||||
"title" => %{"type" => "string"},
|
||||
"subtitle" => %{"type" => "string"},
|
||||
"body" => %{"type" => "string"},
|
||||
"actions" => %{"type" => "array"}
|
||||
}
|
||||
}
|
||||
end
|
||||
|
||||
defp render_metric_schema do
|
||||
%{
|
||||
"type" => "object",
|
||||
"properties" => %{
|
||||
"label" => %{"type" => "string"},
|
||||
"value" => %{"type" => "string"}
|
||||
}
|
||||
}
|
||||
end
|
||||
|
||||
defp render_list_schema do
|
||||
%{
|
||||
"type" => "object",
|
||||
"properties" => %{
|
||||
"title" => %{"type" => "string"},
|
||||
"items" => %{"type" => "array"}
|
||||
}
|
||||
}
|
||||
end
|
||||
|
||||
defp render_tabs_schema do
|
||||
%{
|
||||
"type" => "object",
|
||||
"properties" => %{
|
||||
"title" => %{"type" => "string"},
|
||||
"tabs" => %{"type" => "array"}
|
||||
}
|
||||
}
|
||||
end
|
||||
|
||||
defp render_mindmap_schema do
|
||||
%{
|
||||
"type" => "object",
|
||||
"properties" => %{
|
||||
"title" => %{"type" => "string"},
|
||||
"nodes" => %{"type" => "array"}
|
||||
}
|
||||
}
|
||||
end
|
||||
@@ -1128,6 +1360,16 @@ defmodule BDS.AI do
|
||||
defp normalize_limit(value) when is_integer(value) and value > 0 and value <= 50, do: value
|
||||
defp normalize_limit(_value), do: 10
|
||||
|
||||
defp notify_chat_event(opts, event) do
|
||||
case Keyword.get(opts, :event_target) do
|
||||
pid when is_pid(pid) -> send(pid, event)
|
||||
callback when is_function(callback, 1) -> callback.(event)
|
||||
_other -> :ok
|
||||
end
|
||||
|
||||
:ok
|
||||
end
|
||||
|
||||
defp truncate_text(nil, _max_length), do: ""
|
||||
|
||||
defp truncate_text(text, max_length) when is_binary(text) do
|
||||
|
||||
@@ -18,7 +18,7 @@ defmodule BDS.Desktop.Endpoint do
|
||||
plug Plug.Static,
|
||||
at: "/assets",
|
||||
from: {:bds, "priv/ui"},
|
||||
only: ["app.css", "live.js"]
|
||||
only: ["app.css", "live.js", "monaco"]
|
||||
|
||||
plug Plug.Static,
|
||||
at: "/vendor/phoenix",
|
||||
|
||||
@@ -514,14 +514,10 @@ defmodule BDS.Desktop.ShellCommands do
|
||||
|
||||
defp normalize_translation_validation(report) do
|
||||
%{
|
||||
summary: %{
|
||||
missing_count: length(report.missing),
|
||||
orphan_count: length(report.orphan_files),
|
||||
do_not_translate_count: length(report.do_not_translate_posts)
|
||||
},
|
||||
missing: Enum.map(report.missing, &stringify_map/1),
|
||||
orphan_files: report.orphan_files,
|
||||
do_not_translate_posts: report.do_not_translate_posts
|
||||
checked_database_row_count: report.checked_database_row_count,
|
||||
checked_filesystem_file_count: report.checked_filesystem_file_count,
|
||||
invalid_database_rows: Enum.map(report.invalid_database_rows, &stringify_map/1),
|
||||
invalid_filesystem_files: Enum.map(report.invalid_filesystem_files, &stringify_map/1)
|
||||
}
|
||||
end
|
||||
|
||||
@@ -532,11 +528,10 @@ defmodule BDS.Desktop.ShellCommands do
|
||||
project_id: project_id,
|
||||
route: "translation_validation",
|
||||
title: "Translation Validation",
|
||||
subtitle: "Published posts checked against required blog languages",
|
||||
subtitle: "Database rows and translation files checked for invalid state",
|
||||
editorMeta: [
|
||||
%{label: "Missing", value: Integer.to_string(length(report.missing))},
|
||||
%{label: "Orphan Files", value: Integer.to_string(length(report.orphan_files))},
|
||||
%{label: "Skipped", value: Integer.to_string(length(report.do_not_translate_posts))}
|
||||
%{label: "Invalid DB", value: Integer.to_string(length(report.invalid_database_rows))},
|
||||
%{label: "Invalid Files", value: Integer.to_string(length(report.invalid_filesystem_files))}
|
||||
],
|
||||
payload: normalize_translation_validation(report)
|
||||
}
|
||||
|
||||
@@ -97,7 +97,14 @@ defmodule BDS.Desktop.ShellLive do
|
||||
|> assign(:script_editor_drafts, %{})
|
||||
|> assign(:template_editor_drafts, %{})
|
||||
|> assign(:chat_editor_inputs, %{})
|
||||
|> assign(:chat_model_selectors_open, %{})
|
||||
|> assign(:chat_editor_requests, %{})
|
||||
|> assign(:chat_editor_request_refs, %{})
|
||||
|> assign(:chat_editor_surface_data, %{})
|
||||
|> assign(:chat_editor_surface_tabs, %{})
|
||||
|> assign(:chat_editor_action_errors, %{})
|
||||
|> assign(:misc_editor_selected_pairs, %{})
|
||||
|> assign(:misc_editor_git_selected_files, %{})
|
||||
|> assign(:metadata_diff_active_tabs, %{})
|
||||
|> assign(:metadata_diff_field_filters, %{})
|
||||
|> assign(:shell_overlay, nil)
|
||||
@@ -683,10 +690,41 @@ defmodule BDS.Desktop.ShellLive do
|
||||
{:noreply, ChatEditor.update_input(socket, message, &reload_shell/2)}
|
||||
end
|
||||
|
||||
def handle_event("toggle_chat_model_selector", _params, socket) do
|
||||
{:noreply, ChatEditor.toggle_model_selector(socket, &reload_shell/2)}
|
||||
end
|
||||
|
||||
def handle_event("select_chat_model", %{"model" => model_id}, socket) do
|
||||
{:noreply, ChatEditor.set_model(socket, model_id, &reload_shell/2, &append_output_entry/5)}
|
||||
end
|
||||
|
||||
def handle_event("send_chat_editor_message", _params, socket) do
|
||||
{:noreply, ChatEditor.send_message(socket, &reload_shell/2, &append_output_entry/5)}
|
||||
end
|
||||
|
||||
def handle_event("abort_chat_editor_message", _params, socket) do
|
||||
{:noreply, ChatEditor.abort_message(socket, &reload_shell/2)}
|
||||
end
|
||||
|
||||
def handle_event("open_chat_settings", _params, socket) do
|
||||
{:noreply,
|
||||
socket
|
||||
|> clear_chat_action_error()
|
||||
|> open_sidebar_item(%{"route" => "settings", "id" => "settings-ai", "title" => "Settings", "subtitle" => "AI"}, :pin)}
|
||||
end
|
||||
|
||||
def handle_event("change_chat_surface_form", %{"surface" => %{"id" => surface_id, "fields" => fields}}, socket) do
|
||||
{:noreply, ChatEditor.update_surface_form(socket, surface_id, fields, &reload_shell/2)}
|
||||
end
|
||||
|
||||
def handle_event("select_chat_surface_tab", %{"surface-id" => surface_id, "index" => index}, socket) do
|
||||
{:noreply, ChatEditor.select_surface_tab(socket, surface_id, parse_integer(index), &reload_shell/2)}
|
||||
end
|
||||
|
||||
def handle_event("chat_surface_action", params, socket) do
|
||||
{:noreply, handle_chat_surface_action(socket, params)}
|
||||
end
|
||||
|
||||
def handle_event("rerun_misc_editor", _params, socket) do
|
||||
case MiscEditor.rerun(socket) do
|
||||
{:command, action} -> {:noreply, apply_shell_command(socket, action)}
|
||||
@@ -701,6 +739,17 @@ defmodule BDS.Desktop.ShellLive do
|
||||
end
|
||||
end
|
||||
|
||||
def handle_event("fix_translation_validation", _params, socket) do
|
||||
case MiscEditor.fix_translation_validation(socket, &append_output_entry/5) do
|
||||
{:rerun, next_socket} -> {:noreply, apply_shell_command(next_socket, "validate_translations")}
|
||||
{:socket, next_socket} -> {:noreply, next_socket}
|
||||
end
|
||||
end
|
||||
|
||||
def handle_event("select_git_diff_file", %{"path" => path}, socket) do
|
||||
{:noreply, socket |> MiscEditor.select_git_diff_file(path) |> assign_misc_editor()}
|
||||
end
|
||||
|
||||
def handle_event("toggle_duplicate_pair", %{"pair-id" => pair_id}, socket) do
|
||||
{:noreply, MiscEditor.toggle_duplicate(socket, pair_id, &reload_shell/2)}
|
||||
end
|
||||
@@ -1047,6 +1096,33 @@ defmodule BDS.Desktop.ShellLive do
|
||||
end
|
||||
|
||||
@impl true
|
||||
def handle_info({ref, result}, socket) when is_reference(ref) do
|
||||
Process.demonitor(ref, [:flush])
|
||||
{:noreply, ChatEditor.finish_request(socket, ref, result, &reload_shell/2, &append_output_entry/5)}
|
||||
end
|
||||
|
||||
def handle_info({:DOWN, ref, :process, _pid, reason}, socket) when is_reference(ref) do
|
||||
next_socket =
|
||||
case reason do
|
||||
:normal -> socket
|
||||
_other -> ChatEditor.finish_request(socket, ref, {:error, :cancelled}, &reload_shell/2, &append_output_entry/5)
|
||||
end
|
||||
|
||||
{:noreply, next_socket}
|
||||
end
|
||||
|
||||
def handle_info({:chat_tool_call, conversation_id, tool_call}, socket) do
|
||||
{:noreply, ChatEditor.note_tool_call(socket, conversation_id, tool_call, &reload_shell/2)}
|
||||
end
|
||||
|
||||
def handle_info({:chat_tool_result, conversation_id, name}, socket) do
|
||||
{:noreply, ChatEditor.note_tool_result(socket, conversation_id, name, &reload_shell/2)}
|
||||
end
|
||||
|
||||
def handle_info({:chat_streaming_content, conversation_id, content}, socket) do
|
||||
{:noreply, ChatEditor.note_streaming_content(socket, conversation_id, content, &reload_shell/2)}
|
||||
end
|
||||
|
||||
def handle_info(:refresh_task_status, socket) do
|
||||
raw_task_status = BDS.Tasks.status_snapshot()
|
||||
|
||||
@@ -1990,6 +2066,166 @@ defmodule BDS.Desktop.ShellLive do
|
||||
|
||||
defp git_history_target(_tab), do: nil
|
||||
|
||||
defp handle_chat_surface_action(socket, params) do
|
||||
surface_id = Map.get(params, "surface-id", "")
|
||||
|
||||
payload =
|
||||
params
|
||||
|> Map.get("payload")
|
||||
|> decode_chat_surface_payload()
|
||||
|> maybe_put_chat_surface_form_data(socket, surface_id)
|
||||
|
||||
case normalize_chat_action(Map.get(params, "action", "")) do
|
||||
:open_post ->
|
||||
case Map.get(payload, "postId") || Map.get(payload, "post_id") do
|
||||
post_id when is_binary(post_id) and post_id != "" ->
|
||||
socket
|
||||
|> clear_chat_action_error()
|
||||
|> open_sidebar_item(%{"route" => "post", "id" => post_id, "title" => post_title(post_id), "subtitle" => post_subtitle(post_id)}, :pin)
|
||||
|
||||
_other ->
|
||||
ChatEditor.set_action_error(socket, socket.assigns.current_tab.id, "Invalid payload for openPost action", &reload_shell/2)
|
||||
end
|
||||
|
||||
:open_media ->
|
||||
case Map.get(payload, "mediaId") || Map.get(payload, "media_id") do
|
||||
media_id when is_binary(media_id) and media_id != "" ->
|
||||
socket
|
||||
|> clear_chat_action_error()
|
||||
|> open_sidebar_item(%{"route" => "media", "id" => media_id, "title" => media_title(media_id), "subtitle" => media_subtitle(media_id)}, :pin)
|
||||
|
||||
_other ->
|
||||
ChatEditor.set_action_error(socket, socket.assigns.current_tab.id, "Invalid payload for openMedia action", &reload_shell/2)
|
||||
end
|
||||
|
||||
:open_settings ->
|
||||
socket
|
||||
|> clear_chat_action_error()
|
||||
|> open_sidebar_item(%{"route" => "settings", "id" => "settings-ai", "title" => "Settings", "subtitle" => "AI"}, :pin)
|
||||
|
||||
:open_chat ->
|
||||
chat_id = Map.get(payload, "conversationId") || Map.get(payload, "conversation_id") || socket.assigns.current_tab.id
|
||||
|
||||
socket
|
||||
|> clear_chat_action_error()
|
||||
|> open_sidebar_item(%{"route" => "chat", "id" => chat_id, "title" => Map.get(payload, "title", "Chat"), "subtitle" => Map.get(payload, "subtitle", "")}, :pin)
|
||||
|
||||
:switch_view ->
|
||||
case safe_existing_atom(Map.get(payload, "view")) do
|
||||
nil -> ChatEditor.set_action_error(socket, socket.assigns.current_tab.id, "Invalid payload for switchView action", &reload_shell/2)
|
||||
view ->
|
||||
socket
|
||||
|> clear_chat_action_error()
|
||||
|> reload_shell(Workbench.click_activity(socket.assigns.workbench, view))
|
||||
end
|
||||
|
||||
:toggle_sidebar ->
|
||||
socket
|
||||
|> clear_chat_action_error()
|
||||
|> reload_shell(Workbench.toggle_sidebar(socket.assigns.workbench))
|
||||
|
||||
:toggle_panel ->
|
||||
socket
|
||||
|> clear_chat_action_error()
|
||||
|> reload_shell(Workbench.toggle_panel(socket.assigns.workbench))
|
||||
|
||||
:toggle_assistant_sidebar ->
|
||||
socket
|
||||
|> clear_chat_action_error()
|
||||
|> reload_shell(Workbench.toggle_assistant_sidebar(socket.assigns.workbench))
|
||||
|
||||
:unknown ->
|
||||
ChatEditor.set_action_error(socket, socket.assigns.current_tab.id, "Unsupported assistant action", &reload_shell/2)
|
||||
end
|
||||
end
|
||||
|
||||
defp clear_chat_action_error(%{assigns: %{current_tab: %{type: :chat, id: conversation_id}}} = socket) do
|
||||
assign(socket, :chat_editor_action_errors, Map.delete(socket.assigns.chat_editor_action_errors, conversation_id))
|
||||
end
|
||||
|
||||
defp clear_chat_action_error(socket), do: socket
|
||||
|
||||
defp decode_chat_surface_payload(nil), do: %{}
|
||||
defp decode_chat_surface_payload(""), do: %{}
|
||||
|
||||
defp decode_chat_surface_payload(payload) when is_binary(payload) do
|
||||
case Jason.decode(payload) do
|
||||
{:ok, decoded} when is_map(decoded) -> decoded
|
||||
_other -> %{}
|
||||
end
|
||||
end
|
||||
|
||||
defp decode_chat_surface_payload(_payload), do: %{}
|
||||
|
||||
defp maybe_put_chat_surface_form_data(payload, socket, surface_id) when is_binary(surface_id) and surface_id != "" do
|
||||
form_data = ChatEditor.current_surface_data(socket, surface_id)
|
||||
|
||||
if form_data == %{} do
|
||||
payload
|
||||
else
|
||||
Map.put(payload, "formData", form_data)
|
||||
end
|
||||
end
|
||||
|
||||
defp maybe_put_chat_surface_form_data(payload, _socket, _surface_id), do: payload
|
||||
|
||||
defp normalize_chat_action(action) do
|
||||
action
|
||||
|> to_string()
|
||||
|> String.replace("_", "")
|
||||
|> String.downcase()
|
||||
|> case do
|
||||
"openpost" -> :open_post
|
||||
"openmedia" -> :open_media
|
||||
"opensettings" -> :open_settings
|
||||
"openchat" -> :open_chat
|
||||
"switchview" -> :switch_view
|
||||
"setactiveview" -> :switch_view
|
||||
"togglesidebar" -> :toggle_sidebar
|
||||
"togglepanel" -> :toggle_panel
|
||||
"openpanel" -> :toggle_panel
|
||||
"toggleassistantsidebar" -> :toggle_assistant_sidebar
|
||||
_other -> :unknown
|
||||
end
|
||||
end
|
||||
|
||||
defp post_title(post_id) do
|
||||
case Repo.get(Post, post_id) do
|
||||
%Post{} = post -> post.title || post.slug || post.id
|
||||
_other -> "Post"
|
||||
end
|
||||
end
|
||||
|
||||
defp post_subtitle(post_id) do
|
||||
case Repo.get(Post, post_id) do
|
||||
%Post{} = post -> post.slug || "draft"
|
||||
_other -> "draft"
|
||||
end
|
||||
end
|
||||
|
||||
defp media_title(media_id) do
|
||||
case Repo.get(Media, media_id) do
|
||||
%Media{} = media -> media.title || media.filename || media.id
|
||||
_other -> "Media"
|
||||
end
|
||||
end
|
||||
|
||||
defp media_subtitle(media_id) do
|
||||
case Repo.get(Media, media_id) do
|
||||
%Media{} = media -> media.filename || media.mime_type || "media"
|
||||
_other -> "media"
|
||||
end
|
||||
end
|
||||
|
||||
defp parse_integer(value) when is_integer(value), do: value
|
||||
|
||||
defp parse_integer(value) do
|
||||
case Integer.parse(to_string(value || "0")) do
|
||||
{parsed, _rest} -> parsed
|
||||
:error -> 0
|
||||
end
|
||||
end
|
||||
|
||||
defp short_commit_hash(hash) when is_binary(hash), do: String.slice(hash, 0, 7)
|
||||
defp short_commit_hash(_hash), do: "-------"
|
||||
|
||||
|
||||
@@ -2,17 +2,55 @@ defmodule BDS.Desktop.ShellLive.ChatEditor do
|
||||
@moduledoc false
|
||||
|
||||
use Phoenix.Component
|
||||
import Phoenix.HTML, only: [raw: 1]
|
||||
|
||||
alias BDS.{AI, Repo}
|
||||
alias BDS.AI.ChatConversation
|
||||
alias BDS.Desktop.ShellData
|
||||
|
||||
@render_tool_names MapSet.new([
|
||||
"render_card",
|
||||
"render_chart",
|
||||
"render_form",
|
||||
"render_list",
|
||||
"render_metric",
|
||||
"render_mindmap",
|
||||
"render_table",
|
||||
"render_tabs"
|
||||
])
|
||||
@tool_args_max_length 30
|
||||
|
||||
embed_templates "chat_editor_html/*"
|
||||
|
||||
def assign_socket(socket) do
|
||||
assign(socket, :chat_editor, build(socket.assigns))
|
||||
end
|
||||
|
||||
def toggle_model_selector(socket, reload) do
|
||||
%{id: conversation_id} = socket.assigns.current_tab
|
||||
current = Map.get(socket.assigns.chat_model_selectors_open, conversation_id, false)
|
||||
|
||||
socket
|
||||
|> assign(:chat_model_selectors_open, Map.put(socket.assigns.chat_model_selectors_open, conversation_id, not current))
|
||||
|> reload.(socket.assigns.workbench)
|
||||
end
|
||||
|
||||
def set_model(socket, model_id, reload, append_output) do
|
||||
%{id: conversation_id} = socket.assigns.current_tab
|
||||
|
||||
case AI.set_conversation_model(conversation_id, model_id) do
|
||||
{:ok, _conversation} ->
|
||||
socket
|
||||
|> assign(:chat_model_selectors_open, Map.put(socket.assigns.chat_model_selectors_open, conversation_id, false))
|
||||
|> reload.(socket.assigns.workbench)
|
||||
|
||||
{:error, reason} ->
|
||||
socket
|
||||
|> append_output.(translated("Chat"), inspect(reason), nil, "error")
|
||||
|> reload.(socket.assigns.workbench)
|
||||
end
|
||||
end
|
||||
|
||||
def update_input(socket, value, reload) do
|
||||
%{id: conversation_id} = socket.assigns.current_tab
|
||||
|
||||
@@ -21,27 +59,137 @@ defmodule BDS.Desktop.ShellLive.ChatEditor do
|
||||
|> reload.(socket.assigns.workbench)
|
||||
end
|
||||
|
||||
def update_surface_form(socket, surface_id, fields, reload)
|
||||
when is_binary(surface_id) and is_map(fields) do
|
||||
next_data = Map.put(socket.assigns.chat_editor_surface_data, surface_id, fields)
|
||||
|
||||
socket
|
||||
|> assign(:chat_editor_surface_data, next_data)
|
||||
|> reload.(socket.assigns.workbench)
|
||||
end
|
||||
|
||||
def select_surface_tab(socket, surface_id, index, reload)
|
||||
when is_binary(surface_id) and is_integer(index) and index >= 0 do
|
||||
socket
|
||||
|> assign(:chat_editor_surface_tabs, Map.put(socket.assigns.chat_editor_surface_tabs, surface_id, index))
|
||||
|> reload.(socket.assigns.workbench)
|
||||
end
|
||||
|
||||
def current_surface_data(socket, surface_id) when is_binary(surface_id) do
|
||||
Map.get(socket.assigns.chat_editor_surface_data, surface_id, %{})
|
||||
end
|
||||
|
||||
def set_action_error(socket, conversation_id, message, reload)
|
||||
when is_binary(conversation_id) and is_binary(message) do
|
||||
socket
|
||||
|> assign(:chat_editor_action_errors, Map.put(socket.assigns.chat_editor_action_errors, conversation_id, message))
|
||||
|> reload.(socket.assigns.workbench)
|
||||
end
|
||||
|
||||
def clear_action_error(socket, conversation_id, reload) when is_binary(conversation_id) do
|
||||
socket
|
||||
|> assign(:chat_editor_action_errors, Map.delete(socket.assigns.chat_editor_action_errors, conversation_id))
|
||||
|> reload.(socket.assigns.workbench)
|
||||
end
|
||||
|
||||
def send_message(socket, reload, append_output) do
|
||||
%{id: conversation_id} = socket.assigns.current_tab
|
||||
message = socket.assigns.chat_editor_inputs |> Map.get(conversation_id, "") |> String.trim()
|
||||
|
||||
cond do
|
||||
message == "" -> reload.(socket, socket.assigns.workbench)
|
||||
Map.has_key?(socket.assigns.chat_editor_requests, conversation_id) -> reload.(socket, socket.assigns.workbench)
|
||||
socket.assigns.offline_mode ->
|
||||
socket
|
||||
|> append_output.(translated("Chat"), translated("Automatic AI actions stay gated by airplane mode."), nil, "info")
|
||||
|> reload.(socket.assigns.workbench)
|
||||
|
||||
needs_api_key?(false) ->
|
||||
reload.(socket, socket.assigns.workbench)
|
||||
|
||||
true ->
|
||||
case AI.send_chat_message(conversation_id, message, project_id: socket.assigns.projects.active_project_id) do
|
||||
{:ok, _result} ->
|
||||
live_view_pid = self()
|
||||
|
||||
task =
|
||||
Task.Supervisor.async_nolink(BDS.Tasks.TaskSupervisor, fn ->
|
||||
AI.send_chat_message(conversation_id, message,
|
||||
project_id: socket.assigns.projects.active_project_id,
|
||||
event_target: live_view_pid
|
||||
)
|
||||
end)
|
||||
|
||||
:ok = allow_repo_sandbox(task.pid)
|
||||
|
||||
socket
|
||||
|> assign(:chat_editor_inputs, Map.put(socket.assigns.chat_editor_inputs, conversation_id, ""))
|
||||
|> assign(:chat_editor_requests, Map.put(socket.assigns.chat_editor_requests, conversation_id, %{ref: task.ref, pid: task.pid, message: message, content: "", tool_events: []}))
|
||||
|> assign(:chat_editor_request_refs, Map.put(socket.assigns.chat_editor_request_refs, task.ref, conversation_id))
|
||||
|> assign(:chat_editor_action_errors, Map.delete(socket.assigns.chat_editor_action_errors, conversation_id))
|
||||
|> reload.(socket.assigns.workbench)
|
||||
end
|
||||
end
|
||||
|
||||
def abort_message(socket, reload) do
|
||||
%{id: conversation_id} = socket.assigns.current_tab
|
||||
|
||||
case Map.get(socket.assigns.chat_editor_requests, conversation_id) do
|
||||
nil -> reload.(socket, socket.assigns.workbench)
|
||||
|
||||
%{ref: ref} = _request ->
|
||||
:ok = AI.cancel_chat(conversation_id)
|
||||
|
||||
socket
|
||||
|> assign(:chat_editor_requests, Map.delete(socket.assigns.chat_editor_requests, conversation_id))
|
||||
|> assign(:chat_editor_request_refs, Map.delete(socket.assigns.chat_editor_request_refs, ref))
|
||||
|> reload.(socket.assigns.workbench)
|
||||
end
|
||||
end
|
||||
|
||||
def note_tool_call(socket, conversation_id, tool_call, reload)
|
||||
when is_binary(conversation_id) and is_map(tool_call) do
|
||||
update_request(socket, conversation_id, fn request ->
|
||||
update_in(request.tool_events, &(&1 ++ [%{type: :call, name: tool_call_name(tool_call), arguments: tool_call_arguments(tool_call)}]))
|
||||
end, reload)
|
||||
end
|
||||
|
||||
def note_tool_result(socket, conversation_id, name, reload)
|
||||
when is_binary(conversation_id) and is_binary(name) do
|
||||
update_request(socket, conversation_id, fn request ->
|
||||
update_in(request.tool_events, &(&1 ++ [%{type: :result, name: name}]))
|
||||
end, reload)
|
||||
end
|
||||
|
||||
def note_streaming_content(socket, conversation_id, content, reload)
|
||||
when is_binary(conversation_id) and is_binary(content) do
|
||||
update_request(socket, conversation_id, fn request ->
|
||||
%{request | content: content}
|
||||
end, reload)
|
||||
end
|
||||
|
||||
def finish_request(socket, ref, result, reload, append_output) when is_reference(ref) do
|
||||
case Map.pop(socket.assigns.chat_editor_request_refs, ref) do
|
||||
{nil, _remaining_refs} ->
|
||||
socket
|
||||
|
||||
{conversation_id, remaining_refs} ->
|
||||
socket =
|
||||
socket
|
||||
|> assign(:chat_editor_request_refs, remaining_refs)
|
||||
|> assign(:chat_editor_requests, Map.delete(socket.assigns.chat_editor_requests, conversation_id))
|
||||
|
||||
case result do
|
||||
{:ok, _reply} ->
|
||||
reload.(socket, socket.assigns.workbench)
|
||||
|
||||
{:error, :cancelled} ->
|
||||
reload.(socket, socket.assigns.workbench)
|
||||
|
||||
{:error, %{kind: :endpoint_not_configured}} ->
|
||||
reload.(socket, socket.assigns.workbench)
|
||||
|
||||
{:error, reason} ->
|
||||
socket
|
||||
|> append_output.(translated("Chat"), inspect(reason), nil, "error")
|
||||
|> append_output.(translated("Chat"), format_error(reason), nil, "error")
|
||||
|> reload.(socket.assigns.workbench)
|
||||
end
|
||||
end
|
||||
@@ -51,18 +199,775 @@ defmodule BDS.Desktop.ShellLive.ChatEditor do
|
||||
case Repo.get(ChatConversation, conversation_id) do
|
||||
nil -> nil
|
||||
%ChatConversation{} = conversation ->
|
||||
messages = AI.list_chat_messages(conversation.id)
|
||||
request = Map.get(assigns.chat_editor_requests, conversation.id)
|
||||
available_models = AI.available_chat_models(conversation.model)
|
||||
|
||||
%{
|
||||
id: conversation.id,
|
||||
title: conversation.title || translated("New Chat"),
|
||||
title: conversation.title || translated("chat.newChat"),
|
||||
model: conversation.model,
|
||||
available_models: available_models,
|
||||
available_model_groups: group_available_models(available_models),
|
||||
model_selector_open?: Map.get(assigns.chat_model_selectors_open, conversation.id, false),
|
||||
input: Map.get(assigns.chat_editor_inputs, conversation.id, ""),
|
||||
messages: AI.list_chat_messages(conversation.id),
|
||||
offline?: Map.get(assigns, :offline_mode, true)
|
||||
messages: build_entries(messages, assigns),
|
||||
pending_user_message: pending_user_message(messages, request),
|
||||
is_streaming: not is_nil(request),
|
||||
streaming_content: streaming_content(request),
|
||||
streaming_tool_markers: tool_markers_from_events(request),
|
||||
offline?: Map.get(assigns, :offline_mode, true),
|
||||
needs_api_key?: needs_api_key?(Map.get(assigns, :offline_mode, true)),
|
||||
action_error: Map.get(assigns.chat_editor_action_errors, conversation.id),
|
||||
send_disabled?: String.trim(Map.get(assigns.chat_editor_inputs, conversation.id, "")) == "" or not is_nil(request)
|
||||
}
|
||||
end
|
||||
end
|
||||
|
||||
def build(_assigns), do: nil
|
||||
|
||||
def message_role_label(:user), do: translated("chat.role.you")
|
||||
def message_role_label(_role), do: translated("chat.role.assistant")
|
||||
|
||||
def tool_call_name(tool_call) when is_map(tool_call) do
|
||||
Map.get(tool_call, "name") || Map.get(tool_call, :name) || "tool"
|
||||
end
|
||||
|
||||
def tool_call_arguments(tool_call) when is_map(tool_call) do
|
||||
Map.get(tool_call, "arguments") || Map.get(tool_call, :arguments) || Map.get(tool_call, "args") || Map.get(tool_call, :args) || %{}
|
||||
end
|
||||
|
||||
def tool_surface_type(surface), do: Map.get(surface, :type, "json")
|
||||
|
||||
def markdown_html(content) when is_binary(content) do
|
||||
html =
|
||||
case Earmark.as_html(content, escape: true) do
|
||||
{:ok, rendered, _messages} -> rendered
|
||||
{:error, rendered, _messages} -> rendered
|
||||
end
|
||||
|> rewrite_external_images()
|
||||
|
||||
raw(html)
|
||||
end
|
||||
|
||||
def markdown_html(_content), do: ""
|
||||
|
||||
defp group_available_models(models) when is_list(models) do
|
||||
models
|
||||
|> Enum.group_by(&Map.get(&1, :provider, "other"))
|
||||
|> Enum.map(fn {provider, entries} ->
|
||||
%{
|
||||
provider: provider,
|
||||
label: provider_group_label(entries, provider),
|
||||
models: Enum.sort_by(entries, &String.downcase(to_string(Map.get(&1, :name) || Map.get(&1, :id))))
|
||||
}
|
||||
end)
|
||||
|> Enum.sort_by(&String.downcase(to_string(&1.label)))
|
||||
end
|
||||
|
||||
defp provider_group_label([%{provider_name: name} | _entries], _provider) when is_binary(name) and name != "",
|
||||
do: name
|
||||
|
||||
defp provider_group_label(_entries, provider) when is_binary(provider), do: provider
|
||||
|
||||
def payload_json(nil), do: "{}"
|
||||
def payload_json(payload) when is_map(payload), do: Jason.encode!(payload)
|
||||
|
||||
def chart_width(_max_value, value) when not is_number(value), do: 0
|
||||
|
||||
def chart_width(max_value, value) when is_number(max_value) and max_value > 0 do
|
||||
value
|
||||
|> Kernel./(max_value)
|
||||
|> Kernel.*(100)
|
||||
|> min(100)
|
||||
|> max(0)
|
||||
|> Float.round(2)
|
||||
end
|
||||
|
||||
def chart_width(_max_value, _value), do: 0
|
||||
|
||||
def truthy?(value) when value in [true, "true", 1, "1", "on"], do: true
|
||||
def truthy?(_value), do: false
|
||||
|
||||
attr :markers, :list, required: true
|
||||
|
||||
def chat_tool_markers(assigns) do
|
||||
~H"""
|
||||
<%= if @markers != [] do %>
|
||||
<div class="chat-tool-markers">
|
||||
<%= for marker <- @markers do %>
|
||||
<div class={["chat-tool-marker", if(marker.complete?, do: "completed", else: "pending")]} data-testid="chat-tool-marker">
|
||||
<span class="chat-tool-marker-icon"><%= if marker.complete?, do: "✓", else: "●" %></span>
|
||||
<span class="chat-tool-marker-name"><%= marker.name %></span>
|
||||
<%= if marker.args_preview not in [nil, ""] do %>
|
||||
<span class="chat-tool-marker-args">(<%= marker.args_preview %>)</span>
|
||||
<% end %>
|
||||
</div>
|
||||
<% end %>
|
||||
</div>
|
||||
<% end %>
|
||||
"""
|
||||
end
|
||||
|
||||
attr :surface, :map, required: true
|
||||
|
||||
def chat_surface(assigns) do
|
||||
~H"""
|
||||
<article class={["chat-inline-surface", "chat-inline-surface-#{@surface.type}"]} data-testid="chat-inline-surface">
|
||||
<%= case @surface.type do %>
|
||||
<% "card" -> %>
|
||||
<div class="chat-surface-card">
|
||||
<%= if present?(@surface.title) do %>
|
||||
<h3><%= @surface.title %></h3>
|
||||
<% end %>
|
||||
<%= if present?(@surface.subtitle) do %>
|
||||
<p class="chat-surface-subtitle"><%= @surface.subtitle %></p>
|
||||
<% end %>
|
||||
<p class="chat-surface-body"><%= @surface.body %></p>
|
||||
<%= if @surface.actions != [] do %>
|
||||
<div class="chat-surface-actions">
|
||||
<%= for action <- @surface.actions do %>
|
||||
<button
|
||||
class="chat-surface-action-button"
|
||||
type="button"
|
||||
phx-click="chat_surface_action"
|
||||
phx-value-surface-id={@surface.id}
|
||||
phx-value-action={action.action}
|
||||
phx-value-payload={payload_json(action.payload)}
|
||||
data-testid="chat-surface-action"
|
||||
data-action={action.action}
|
||||
>
|
||||
<%= action.label %>
|
||||
</button>
|
||||
<% end %>
|
||||
</div>
|
||||
<% end %>
|
||||
</div>
|
||||
|
||||
<% "table" -> %>
|
||||
<%= if present?(@surface.title) do %>
|
||||
<h3><%= @surface.title %></h3>
|
||||
<% end %>
|
||||
<div class="chat-tool-surface-table-wrap">
|
||||
<table class="chat-tool-surface-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<%= for column <- @surface.columns do %>
|
||||
<th><%= column %></th>
|
||||
<% end %>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<%= for row <- @surface.rows do %>
|
||||
<tr>
|
||||
<%= for value <- row do %>
|
||||
<td><%= value %></td>
|
||||
<% end %>
|
||||
</tr>
|
||||
<% end %>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<% "chart" -> %>
|
||||
<%= if present?(@surface.title) do %>
|
||||
<h3><%= @surface.title %></h3>
|
||||
<% end %>
|
||||
<p class="chat-surface-chart-type"><%= @surface.chart_type %></p>
|
||||
<div class="chat-surface-chart-list">
|
||||
<%= for series <- @surface.series do %>
|
||||
<div class="chat-surface-chart-row">
|
||||
<div class="chat-surface-chart-meta">
|
||||
<span><%= series.label %></span>
|
||||
<span><%= series.value %></span>
|
||||
</div>
|
||||
<div class="chat-surface-chart-bar">
|
||||
<span style={"width: #{chart_width(@surface.max_value, series.value)}%"}></span>
|
||||
</div>
|
||||
</div>
|
||||
<% end %>
|
||||
</div>
|
||||
|
||||
<% "metric" -> %>
|
||||
<div class="chat-surface-metric">
|
||||
<span class="chat-surface-metric-label"><%= @surface.label %></span>
|
||||
<strong class="chat-surface-metric-value"><%= @surface.value %></strong>
|
||||
</div>
|
||||
|
||||
<% "list" -> %>
|
||||
<%= if present?(@surface.title) do %>
|
||||
<h3><%= @surface.title %></h3>
|
||||
<% end %>
|
||||
<ul class="chat-surface-list">
|
||||
<%= for item <- @surface.items do %>
|
||||
<li><%= item %></li>
|
||||
<% end %>
|
||||
</ul>
|
||||
|
||||
<% "mindmap" -> %>
|
||||
<%= if present?(@surface.title) do %>
|
||||
<h3><%= @surface.title %></h3>
|
||||
<% end %>
|
||||
<ul class="chat-surface-mindmap">
|
||||
<%= for node <- @surface.nodes do %>
|
||||
<li>
|
||||
<strong><%= node.label %></strong>
|
||||
<%= if node.children != [] do %>
|
||||
<span class="chat-surface-mindmap-children"><%= Enum.join(node.children, ", ") %></span>
|
||||
<% end %>
|
||||
</li>
|
||||
<% end %>
|
||||
</ul>
|
||||
|
||||
<% "tabs" -> %>
|
||||
<%= if present?(@surface.title) do %>
|
||||
<h3><%= @surface.title %></h3>
|
||||
<% end %>
|
||||
<div class="chat-surface-tabs">
|
||||
<div class="chat-surface-tab-list">
|
||||
<%= for {tab, index} <- Enum.with_index(@surface.tabs) do %>
|
||||
<button
|
||||
class={["chat-surface-tab-button", if(index == @surface.selected_index, do: "active")]}
|
||||
type="button"
|
||||
phx-click="select_chat_surface_tab"
|
||||
phx-value-surface-id={@surface.id}
|
||||
phx-value-index={index}
|
||||
>
|
||||
<%= tab.label %>
|
||||
</button>
|
||||
<% end %>
|
||||
</div>
|
||||
|
||||
<%= case Enum.at(@surface.tabs, @surface.selected_index || 0) do %>
|
||||
<% nil -> %>
|
||||
<% tab -> %>
|
||||
<div class="chat-surface-tab-panel">
|
||||
<%= for content <- tab.content do %>
|
||||
<.chat_surface surface={content} />
|
||||
<% end %>
|
||||
</div>
|
||||
<% end %>
|
||||
</div>
|
||||
|
||||
<% "form" -> %>
|
||||
<%= if present?(@surface.title) do %>
|
||||
<h3><%= @surface.title %></h3>
|
||||
<% end %>
|
||||
<form class="chat-surface-form" phx-change="change_chat_surface_form">
|
||||
<input type="hidden" name="surface[id]" value={@surface.id} />
|
||||
|
||||
<%= for field <- @surface.fields do %>
|
||||
<label class="chat-surface-form-field">
|
||||
<span><%= field.label %></span>
|
||||
|
||||
<%= case field.input_type do %>
|
||||
<% "textarea" -> %>
|
||||
<textarea name={"surface[fields][#{field.key}]"} placeholder={field.placeholder}><%= field.value || "" %></textarea>
|
||||
|
||||
<% "select" -> %>
|
||||
<select name={"surface[fields][#{field.key}]"}>
|
||||
<%= for option <- field.options do %>
|
||||
<option value={option.value} selected={to_string(field.value || "") == to_string(option.value)}><%= option.label %></option>
|
||||
<% end %>
|
||||
</select>
|
||||
|
||||
<% "checkbox" -> %>
|
||||
<span class="chat-surface-form-checkbox">
|
||||
<input type="hidden" name={"surface[fields][#{field.key}]"} value="false" />
|
||||
<input type="checkbox" name={"surface[fields][#{field.key}]"} value="true" checked={truthy?(field.value)} />
|
||||
</span>
|
||||
|
||||
<% _other -> %>
|
||||
<input type={surface_input_type(field.input_type)} name={"surface[fields][#{field.key}]"} value={field.value || ""} placeholder={field.placeholder} />
|
||||
<% end %>
|
||||
</label>
|
||||
<% end %>
|
||||
</form>
|
||||
|
||||
<%= if present?(@surface.submit_label) do %>
|
||||
<div class="chat-surface-actions">
|
||||
<button
|
||||
class="chat-surface-action-button"
|
||||
type="button"
|
||||
phx-click="chat_surface_action"
|
||||
phx-value-surface-id={@surface.id}
|
||||
phx-value-action={@surface.submit_action}
|
||||
phx-value-payload="{}"
|
||||
data-testid="chat-surface-action"
|
||||
data-action={@surface.submit_action}
|
||||
>
|
||||
<%= @surface.submit_label %>
|
||||
</button>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
<% "text" -> %>
|
||||
<div class="chat-surface-text"><%= @surface.body %></div>
|
||||
|
||||
<% _other -> %>
|
||||
<pre class="chat-tool-surface-json"><%= Jason.encode!(@surface.raw || %{}, pretty: true) %></pre>
|
||||
<% end %>
|
||||
</article>
|
||||
"""
|
||||
end
|
||||
|
||||
defp build_entries(messages, assigns) do
|
||||
{entries, current_entry, _turn_index} =
|
||||
Enum.reduce(messages, {[], nil, -1}, fn message, {entries, current_entry, turn_index} ->
|
||||
case message.role do
|
||||
:tool ->
|
||||
if current_entry && current_entry.role == :assistant do
|
||||
{entries, append_tool_surface(current_entry, message), turn_index}
|
||||
else
|
||||
{entries, current_entry, turn_index}
|
||||
end
|
||||
|
||||
:system ->
|
||||
{entries, current_entry, turn_index}
|
||||
|
||||
:user ->
|
||||
entries = finalize_entry(entries, current_entry)
|
||||
next_turn_index = turn_index + 1
|
||||
{entries, start_entry(message, next_turn_index, assigns), next_turn_index}
|
||||
|
||||
_other ->
|
||||
entries = finalize_entry(entries, current_entry)
|
||||
{entries, start_entry(message, turn_index, assigns), turn_index}
|
||||
end
|
||||
end)
|
||||
|
||||
entries
|
||||
|> finalize_entry(current_entry)
|
||||
|> Enum.reverse()
|
||||
end
|
||||
|
||||
defp finalize_entry(entries, nil), do: entries
|
||||
defp finalize_entry(entries, entry), do: [entry | entries]
|
||||
|
||||
defp start_entry(message, turn_index, assigns) do
|
||||
tool_markers = normalize_tool_calls(message.tool_calls)
|
||||
|
||||
%{
|
||||
id: message.id,
|
||||
role: message.role,
|
||||
content: message.content || "",
|
||||
turn_index: turn_index,
|
||||
tool_markers: tool_markers,
|
||||
inline_surfaces: build_render_surfaces(tool_markers, message.id, assigns),
|
||||
tool_surfaces: []
|
||||
}
|
||||
end
|
||||
|
||||
defp append_tool_surface(entry, message) do
|
||||
entry = mark_tool_call_completed(entry, message.tool_call_id)
|
||||
|
||||
case normalize_tool_surface(message.content) do
|
||||
nil -> entry
|
||||
surface -> update_in(entry.tool_surfaces, &(&1 ++ [surface]))
|
||||
end
|
||||
end
|
||||
|
||||
defp normalize_tool_calls(tool_calls) when is_list(tool_calls) do
|
||||
Enum.map(tool_calls, fn tool_call ->
|
||||
arguments = tool_call_arguments(tool_call)
|
||||
|
||||
%{
|
||||
id: Map.get(tool_call, "id") || Map.get(tool_call, :id),
|
||||
name: tool_call_name(tool_call),
|
||||
arguments: arguments,
|
||||
args_preview: tool_arguments_preview(arguments),
|
||||
complete?: false
|
||||
}
|
||||
end)
|
||||
end
|
||||
|
||||
defp normalize_tool_calls(_tool_calls), do: []
|
||||
|
||||
defp build_render_surfaces(tool_calls, message_id, assigns) do
|
||||
tool_calls
|
||||
|> Enum.with_index()
|
||||
|> Enum.flat_map(fn {tool_call, index} ->
|
||||
case build_render_surface(tool_call, "#{message_id}-surface-#{index}", assigns) do
|
||||
nil -> []
|
||||
surface -> [surface]
|
||||
end
|
||||
end)
|
||||
end
|
||||
|
||||
defp build_render_surface(%{name: name, arguments: arguments}, surface_id, assigns) do
|
||||
if MapSet.member?(@render_tool_names, name) do
|
||||
do_build_render_surface(name, arguments || %{}, surface_id, assigns)
|
||||
end
|
||||
end
|
||||
|
||||
defp do_build_render_surface("render_card", arguments, surface_id, _assigns) do
|
||||
%{
|
||||
id: surface_id,
|
||||
type: "card",
|
||||
title: map_value(arguments, "title"),
|
||||
subtitle: map_value(arguments, "subtitle"),
|
||||
body: map_value(arguments, "body", ""),
|
||||
actions: decode_surface_actions(map_value(arguments, "actions", []))
|
||||
}
|
||||
end
|
||||
|
||||
defp do_build_render_surface("render_table", arguments, surface_id, _assigns) do
|
||||
%{
|
||||
id: surface_id,
|
||||
type: "table",
|
||||
title: map_value(arguments, "title"),
|
||||
columns: stringify_list(map_value(arguments, "columns", [])),
|
||||
rows: Enum.map(List.wrap(map_value(arguments, "rows", [])), &stringify_list/1)
|
||||
}
|
||||
end
|
||||
|
||||
defp do_build_render_surface("render_chart", arguments, surface_id, _assigns) do
|
||||
series =
|
||||
map_value(arguments, "series", [])
|
||||
|> List.wrap()
|
||||
|> Enum.map(fn entry ->
|
||||
%{
|
||||
label: map_value(entry, "label", translated("chat.role.assistant")),
|
||||
value: numeric_value(map_value(entry, "value", 0)),
|
||||
segments: List.wrap(map_value(entry, "segments", []))
|
||||
}
|
||||
end)
|
||||
|
||||
%{
|
||||
id: surface_id,
|
||||
type: "chart",
|
||||
title: map_value(arguments, "title"),
|
||||
chart_type: map_value(arguments, "chart_type", "bar"),
|
||||
series: series,
|
||||
max_value: Enum.max([0 | Enum.map(series, & &1.value)])
|
||||
}
|
||||
end
|
||||
|
||||
defp do_build_render_surface("render_metric", arguments, surface_id, _assigns) do
|
||||
%{
|
||||
id: surface_id,
|
||||
type: "metric",
|
||||
label: map_value(arguments, "label", "Metric"),
|
||||
value: map_value(arguments, "value", "")
|
||||
}
|
||||
end
|
||||
|
||||
defp do_build_render_surface("render_list", arguments, surface_id, _assigns) do
|
||||
%{
|
||||
id: surface_id,
|
||||
type: "list",
|
||||
title: map_value(arguments, "title"),
|
||||
items: stringify_list(map_value(arguments, "items", []))
|
||||
}
|
||||
end
|
||||
|
||||
defp do_build_render_surface("render_mindmap", arguments, surface_id, _assigns) do
|
||||
nodes =
|
||||
arguments
|
||||
|> map_value("nodes", [])
|
||||
|> List.wrap()
|
||||
|> Enum.map(fn node ->
|
||||
%{
|
||||
id: map_value(node, "id"),
|
||||
label: map_value(node, "label", "Node"),
|
||||
children: stringify_list(map_value(node, "children", []))
|
||||
}
|
||||
end)
|
||||
|
||||
%{
|
||||
id: surface_id,
|
||||
type: "mindmap",
|
||||
title: map_value(arguments, "title"),
|
||||
nodes: nodes
|
||||
}
|
||||
end
|
||||
|
||||
defp do_build_render_surface("render_form", arguments, surface_id, assigns) do
|
||||
stored_fields = Map.get(assigns.chat_editor_surface_data, surface_id, %{})
|
||||
|
||||
fields =
|
||||
arguments
|
||||
|> map_value("fields", [])
|
||||
|> List.wrap()
|
||||
|> Enum.map(fn field ->
|
||||
key = map_value(field, "key", "field")
|
||||
|
||||
%{
|
||||
key: key,
|
||||
label: map_value(field, "label", key),
|
||||
input_type: map_value(field, "inputType") || map_value(field, "input_type", "text"),
|
||||
placeholder: map_value(field, "placeholder"),
|
||||
value: Map.get(stored_fields, key, map_value(field, "defaultValue") || map_value(field, "default_value")),
|
||||
options: decode_surface_options(map_value(field, "options", [])),
|
||||
required?: truthy?(map_value(field, "required", false))
|
||||
}
|
||||
end)
|
||||
|
||||
%{
|
||||
id: surface_id,
|
||||
type: "form",
|
||||
title: map_value(arguments, "title"),
|
||||
fields: fields,
|
||||
submit_label: map_value(arguments, "submitLabel") || map_value(arguments, "submit_label", translated("chat.stop")),
|
||||
submit_action: map_value(arguments, "submitAction") || map_value(arguments, "submit_action", "submitForm")
|
||||
}
|
||||
end
|
||||
|
||||
defp do_build_render_surface("render_tabs", arguments, surface_id, assigns) do
|
||||
tabs =
|
||||
arguments
|
||||
|> map_value("tabs", [])
|
||||
|> List.wrap()
|
||||
|> Enum.with_index()
|
||||
|> Enum.map(fn {tab, tab_index} ->
|
||||
%{
|
||||
label: map_value(tab, "label", "Tab #{tab_index + 1}"),
|
||||
content:
|
||||
tab
|
||||
|> map_value("content", [])
|
||||
|> List.wrap()
|
||||
|> Enum.with_index()
|
||||
|> Enum.map(fn {content, content_index} ->
|
||||
build_tab_surface(content, "#{surface_id}-tab-#{tab_index}-#{content_index}", assigns)
|
||||
end)
|
||||
}
|
||||
end)
|
||||
|
||||
%{
|
||||
id: surface_id,
|
||||
type: "tabs",
|
||||
title: map_value(arguments, "title"),
|
||||
tabs: tabs,
|
||||
selected_index: Map.get(assigns.chat_editor_surface_tabs, surface_id, 0)
|
||||
}
|
||||
end
|
||||
|
||||
defp do_build_render_surface(_name, arguments, surface_id, _assigns) do
|
||||
%{id: surface_id, type: "json", raw: arguments}
|
||||
end
|
||||
|
||||
defp build_tab_surface(%{} = content, surface_id, assigns) do
|
||||
type = map_value(content, "type", "text")
|
||||
|
||||
case type do
|
||||
render_type when render_type in ["card", "chart", "form", "list", "metric", "mindmap", "table", "tabs"] ->
|
||||
do_build_render_surface("render_#{render_type}", Map.delete(content, "type"), surface_id, assigns)
|
||||
|
||||
"text" ->
|
||||
%{id: surface_id, type: "text", body: map_value(content, "body") || map_value(content, "text", "")}
|
||||
|
||||
_other ->
|
||||
%{id: surface_id, type: "json", raw: content}
|
||||
end
|
||||
end
|
||||
|
||||
defp build_tab_surface(content, surface_id, _assigns) do
|
||||
%{id: surface_id, type: "text", body: to_string(content || "")}
|
||||
end
|
||||
|
||||
defp mark_tool_call_completed(entry, tool_call_id) when is_binary(tool_call_id) do
|
||||
update_in(entry.tool_markers, fn markers ->
|
||||
Enum.map(markers, fn marker ->
|
||||
if marker.id == tool_call_id do
|
||||
%{marker | complete?: true}
|
||||
else
|
||||
marker
|
||||
end
|
||||
end)
|
||||
end)
|
||||
end
|
||||
|
||||
defp mark_tool_call_completed(entry, _tool_call_id), do: entry
|
||||
|
||||
defp decode_surface_actions(actions) when is_list(actions) do
|
||||
Enum.map(actions, fn action ->
|
||||
%{
|
||||
label: map_value(action, "label", translated("chat.openSettings")),
|
||||
action: map_value(action, "action", "openSettings"),
|
||||
payload: map_value(action, "payload", %{})
|
||||
}
|
||||
end)
|
||||
end
|
||||
|
||||
defp decode_surface_actions(_actions), do: []
|
||||
|
||||
defp decode_surface_options(options) when is_list(options) do
|
||||
Enum.map(options, fn option ->
|
||||
%{
|
||||
label: map_value(option, "label", ""),
|
||||
value: map_value(option, "value", "")
|
||||
}
|
||||
end)
|
||||
end
|
||||
|
||||
defp decode_surface_options(_options), do: []
|
||||
|
||||
defp tool_arguments_preview(arguments) when is_map(arguments) do
|
||||
arguments
|
||||
|> Enum.map(fn {key, value} -> "#{key}: #{preview_value(value)}" end)
|
||||
|> Enum.join(", ")
|
||||
end
|
||||
|
||||
defp tool_arguments_preview(_arguments), do: ""
|
||||
|
||||
defp preview_value(value) when is_binary(value) do
|
||||
quoted = if String.length(value) > @tool_args_max_length, do: String.slice(value, 0, @tool_args_max_length) <> "...", else: value
|
||||
inspect(quoted)
|
||||
end
|
||||
|
||||
defp preview_value(value), do: inspect(value)
|
||||
|
||||
defp normalize_tool_surface(content) when is_binary(content) do
|
||||
case Jason.decode(content) do
|
||||
{:ok, %{"type" => type} = decoded} ->
|
||||
%{
|
||||
type: type,
|
||||
title: decoded["title"],
|
||||
columns: List.wrap(decoded["columns"]),
|
||||
rows: Enum.map(List.wrap(decoded["rows"]), &List.wrap/1),
|
||||
fields: List.wrap(decoded["fields"]),
|
||||
data: decoded
|
||||
}
|
||||
|
||||
_other ->
|
||||
nil
|
||||
end
|
||||
end
|
||||
|
||||
defp normalize_tool_surface(_content), do: nil
|
||||
|
||||
defp pending_user_message(_messages, nil), do: nil
|
||||
|
||||
defp pending_user_message(messages, %{message: message}) when is_binary(message) do
|
||||
case messages |> Enum.reverse() |> Enum.find(&(&1.role not in [:system, :tool])) do
|
||||
%{role: :user, content: ^message} -> nil
|
||||
_other -> message
|
||||
end
|
||||
end
|
||||
|
||||
defp pending_user_message(_messages, _request), do: nil
|
||||
|
||||
defp streaming_content(nil), do: ""
|
||||
defp streaming_content(%{content: content}) when is_binary(content), do: content
|
||||
defp streaming_content(_request), do: ""
|
||||
|
||||
defp tool_markers_from_events(nil), do: []
|
||||
|
||||
defp tool_markers_from_events(%{tool_events: tool_events}) do
|
||||
Enum.reduce(tool_events || [], [], fn event, markers ->
|
||||
case event.type do
|
||||
:call -> markers ++ [%{id: nil, name: event.name, arguments: event.arguments, args_preview: tool_arguments_preview(event.arguments || %{}), complete?: false}]
|
||||
|
||||
:result ->
|
||||
Enum.reverse(markers)
|
||||
|> mark_last_matching_complete(event.name)
|
||||
|> Enum.reverse()
|
||||
end
|
||||
end)
|
||||
end
|
||||
|
||||
defp mark_last_matching_complete(markers, name) do
|
||||
{updated, found?} =
|
||||
Enum.map_reduce(markers, false, fn marker, found? ->
|
||||
cond do
|
||||
found? -> {marker, true}
|
||||
marker.name == name and not marker.complete? -> {%{marker | complete?: true}, true}
|
||||
true -> {marker, false}
|
||||
end
|
||||
end)
|
||||
|
||||
if found?, do: updated, else: updated
|
||||
end
|
||||
|
||||
defp update_request(socket, conversation_id, updater, reload) do
|
||||
case Map.get(socket.assigns.chat_editor_requests, conversation_id) do
|
||||
nil -> socket
|
||||
|
||||
request ->
|
||||
socket
|
||||
|> assign(:chat_editor_requests, Map.put(socket.assigns.chat_editor_requests, conversation_id, updater.(request)))
|
||||
|> reload.(socket.assigns.workbench)
|
||||
end
|
||||
end
|
||||
|
||||
defp allow_repo_sandbox(pid) when is_pid(pid) do
|
||||
if Code.ensure_loaded?(Ecto.Adapters.SQL.Sandbox) do
|
||||
try do
|
||||
Ecto.Adapters.SQL.Sandbox.allow(BDS.Repo, self(), pid)
|
||||
rescue
|
||||
_error -> :ok
|
||||
end
|
||||
else
|
||||
:ok
|
||||
end
|
||||
|
||||
:ok
|
||||
end
|
||||
|
||||
defp needs_api_key?(true), do: false
|
||||
|
||||
defp needs_api_key?(false) do
|
||||
case AI.get_endpoint(:online) do
|
||||
{:ok, %{url: url, model: model, api_key: api_key}} -> blank?(url) or blank?(model) or blank?(api_key)
|
||||
_other -> true
|
||||
end
|
||||
end
|
||||
|
||||
defp blank?(value) when is_binary(value), do: String.trim(value) == ""
|
||||
defp blank?(nil), do: true
|
||||
defp blank?(_value), do: false
|
||||
|
||||
defp rewrite_external_images(html) do
|
||||
html =
|
||||
Regex.replace(~r/<img\b(?=[^>]*\bsrc="(https?:\/\/[^\"]+)")(?=[^>]*\balt="([^\"]*)")[^>]*\/?>/i, html, fn _match, src, alt ->
|
||||
external_image_link(src, alt)
|
||||
end)
|
||||
|
||||
Regex.replace(~r/<img\b(?=[^>]*\bsrc="(https?:\/\/[^\"]+)")[^>]*\/?>/i, html, fn _match, src ->
|
||||
external_image_link(src, src)
|
||||
end)
|
||||
end
|
||||
|
||||
defp external_image_link(src, text) do
|
||||
escaped_src = src |> Phoenix.HTML.html_escape() |> Phoenix.HTML.safe_to_string()
|
||||
escaped_text = (text || src) |> Phoenix.HTML.html_escape() |> Phoenix.HTML.safe_to_string()
|
||||
~s(<a href="#{escaped_src}" rel="noopener noreferrer" target="_blank">#{escaped_text}</a>)
|
||||
end
|
||||
|
||||
defp surface_input_type("number"), do: "number"
|
||||
defp surface_input_type("date"), do: "date"
|
||||
defp surface_input_type(_type), do: "text"
|
||||
|
||||
defp present?(value) when is_binary(value), do: String.trim(value) != ""
|
||||
defp present?(value), do: not is_nil(value)
|
||||
|
||||
defp stringify_list(values) when is_list(values), do: Enum.map(values, &to_string/1)
|
||||
defp stringify_list(value), do: List.wrap(value) |> Enum.map(&to_string/1)
|
||||
|
||||
defp numeric_value(value) when is_integer(value), do: value
|
||||
defp numeric_value(value) when is_float(value), do: value
|
||||
|
||||
defp numeric_value(value) when is_binary(value) do
|
||||
case Float.parse(value) do
|
||||
{parsed, ""} -> parsed
|
||||
_other -> 0
|
||||
end
|
||||
end
|
||||
|
||||
defp numeric_value(_value), do: 0
|
||||
|
||||
defp map_value(map, key, default \\ nil)
|
||||
|
||||
defp map_value(map, key, default) when is_map(map) and is_binary(key) do
|
||||
Map.get(map, key, Map.get(map, String.to_atom(key), default))
|
||||
rescue
|
||||
ArgumentError -> Map.get(map, key, default)
|
||||
end
|
||||
|
||||
defp map_value(_map, _key, default), do: default
|
||||
|
||||
defp format_error(%{kind: :endpoint_not_configured}), do: translated("chat.apiKeyRequiredDescription")
|
||||
defp format_error(reason), do: inspect(reason)
|
||||
|
||||
def translated(text, bindings \\ %{}), do: ShellData.translate(text, bindings, Process.get(:bds_ui_locale))
|
||||
end
|
||||
@@ -1,38 +1,195 @@
|
||||
<div class="chat-panel" data-testid="chat-editor">
|
||||
<div id={"chat-editor-#{@chat_editor.id}"} class="chat-panel" data-testid="chat-editor" phx-hook="ChatSurface">
|
||||
<div class="chat-panel-header">
|
||||
<div class="chat-panel-title"><%= @chat_editor.title %></div>
|
||||
<div class="chat-panel-title">
|
||||
<%= if @chat_editor.needs_api_key? do %>
|
||||
<%= translated("chat.setupTitle") %>
|
||||
<% else %>
|
||||
<%= @chat_editor.title %>
|
||||
<% end %>
|
||||
</div>
|
||||
|
||||
<div class="chat-messages">
|
||||
<%= if Enum.empty?(@chat_editor.messages) do %>
|
||||
<%= unless @chat_editor.needs_api_key? do %>
|
||||
<div class="chat-panel-header-actions">
|
||||
<button
|
||||
class="chat-model-selector-button"
|
||||
type="button"
|
||||
phx-click="toggle_chat_model_selector"
|
||||
data-testid="chat-model-selector-button"
|
||||
>
|
||||
<span><%= @chat_editor.model || translated("chat.newChat") %></span>
|
||||
<span class="chat-model-selector-caret">▾</span>
|
||||
</button>
|
||||
|
||||
<%= if @chat_editor.model_selector_open? and @chat_editor.available_models != [] do %>
|
||||
<div class="chat-model-selector-menu">
|
||||
<%= for group <- @chat_editor.available_model_groups do %>
|
||||
<section class="chat-model-provider-group" data-testid="chat-model-provider-group" data-provider={group.provider}>
|
||||
<%= if length(@chat_editor.available_model_groups) > 1 do %>
|
||||
<div class="chat-model-provider-header"><%= group.label %></div>
|
||||
<% end %>
|
||||
|
||||
<%= for model <- group.models do %>
|
||||
<button
|
||||
class={[
|
||||
"chat-model-selector-option",
|
||||
if(model.id == @chat_editor.model, do: "active")
|
||||
]}
|
||||
type="button"
|
||||
phx-click="select_chat_model"
|
||||
phx-value-model={model.id}
|
||||
data-testid="chat-model-selector-option"
|
||||
data-provider={group.provider}
|
||||
>
|
||||
<span class="chat-model-selector-option-name"><%= model.name || model.id %></span>
|
||||
</button>
|
||||
<% end %>
|
||||
</section>
|
||||
<% end %>
|
||||
</div>
|
||||
<% end %>
|
||||
</div>
|
||||
<% end %>
|
||||
</div>
|
||||
|
||||
<div class="chat-messages chat-surface-scroll">
|
||||
<%= if @chat_editor.needs_api_key? do %>
|
||||
<div class="chat-welcome chat-api-key-state" data-testid="chat-api-key-required">
|
||||
<div class="chat-welcome-icon">🔑</div>
|
||||
<h2><%= translated("chat.apiKeyRequiredTitle") %></h2>
|
||||
<p><%= translated("chat.apiKeyRequiredDescription") %></p>
|
||||
<div class="api-key-form">
|
||||
<button class="api-key-submit" type="button" phx-click="open_chat_settings"><%= translated("chat.openSettings") %></button>
|
||||
</div>
|
||||
</div>
|
||||
<% else %>
|
||||
<%= if Enum.empty?(@chat_editor.messages) and not @chat_editor.is_streaming do %>
|
||||
<div class="chat-welcome">
|
||||
<div class="chat-welcome-icon">🤖</div>
|
||||
<h2><%= translated("New Chat") %></h2>
|
||||
<p><%= translated("Ask the assistant about the active project.") %></p>
|
||||
<h2><%= translated("chat.welcomeTitle") %></h2>
|
||||
<p><%= translated("chat.welcomeDescription") %></p>
|
||||
<ul>
|
||||
<li><%= translated("Search posts and media") %></li>
|
||||
<li><%= translated("Inspect metadata") %></li>
|
||||
<li><%= translated("Open related tabs") %></li>
|
||||
<li><%= translated("Review generated output") %></li>
|
||||
<li><%= translated("Navigate settings") %></li>
|
||||
<li><%= translated("chat.welcomeTipSearch") %></li>
|
||||
<li><%= translated("chat.welcomeTipChart") %></li>
|
||||
<li><%= translated("chat.welcomeTipTable") %></li>
|
||||
<li><%= translated("chat.welcomeTipMetadata") %></li>
|
||||
<li><%= translated("chat.welcomeTipTabs") %></li>
|
||||
</ul>
|
||||
</div>
|
||||
<% else %>
|
||||
<%= if @chat_editor.pending_user_message do %>
|
||||
<div class="chat-message user pending" data-testid="chat-pending-user-message">
|
||||
<div class="chat-message-avatar">👤</div>
|
||||
<div class="chat-message-content">
|
||||
<div class="chat-message-header">
|
||||
<span class="chat-message-role"><%= message_role_label(:user) %></span>
|
||||
</div>
|
||||
<div class="chat-message-text"><%= @chat_editor.pending_user_message %></div>
|
||||
</div>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
<%= for message <- @chat_editor.messages do %>
|
||||
<div class={["chat-message", to_string(message.role || "assistant")]}>
|
||||
<div class="chat-message-avatar"><%= if message.role == :user, do: "👤", else: "🤖" %></div>
|
||||
<div class="chat-message-content">
|
||||
<div class="chat-message-header"><span class="chat-message-role"><%= String.capitalize(to_string(message.role || "assistant")) %></span></div>
|
||||
<div class="chat-message-text"><%= message.content || "" %></div>
|
||||
<div class="chat-message-header"><span class="chat-message-role"><%= message_role_label(message.role) %></span></div>
|
||||
<.chat_tool_markers markers={message.tool_markers} />
|
||||
|
||||
<div class="chat-message-text">
|
||||
<%= if message.role == :assistant do %>
|
||||
<%= markdown_html(message.content || "") %>
|
||||
<% else %>
|
||||
<%= message.content || "" %>
|
||||
<% end %>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<%= for surface <- message.inline_surfaces do %>
|
||||
<.chat_surface surface={surface} />
|
||||
<% end %>
|
||||
|
||||
<%= for surface <- message.tool_surfaces do %>
|
||||
<article class="chat-tool-surface" data-testid="chat-tool-surface">
|
||||
<%= if surface.title do %>
|
||||
<h3><%= surface.title %></h3>
|
||||
<% end %>
|
||||
|
||||
<%= case tool_surface_type(surface) do %>
|
||||
<% "table" -> %>
|
||||
<div class="chat-tool-surface-table-wrap">
|
||||
<table class="chat-tool-surface-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<%= for column <- surface.columns do %>
|
||||
<th><%= column %></th>
|
||||
<% end %>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<%= for row <- surface.rows do %>
|
||||
<tr>
|
||||
<%= for value <- row do %>
|
||||
<td><%= value %></td>
|
||||
<% end %>
|
||||
</tr>
|
||||
<% end %>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<% _other -> %>
|
||||
<pre class="chat-tool-surface-json"><%= Jason.encode!(surface.data, pretty: true) %></pre>
|
||||
<% end %>
|
||||
</article>
|
||||
<% end %>
|
||||
<% end %>
|
||||
|
||||
<%= if @chat_editor.is_streaming and (@chat_editor.streaming_content != "" or @chat_editor.streaming_tool_markers != []) do %>
|
||||
<div class="chat-message assistant streaming" data-testid="chat-streaming-message">
|
||||
<div class="chat-message-avatar">🤖</div>
|
||||
<div class="chat-message-content">
|
||||
<div class="chat-message-header">
|
||||
<span class="chat-message-role"><%= message_role_label(:assistant) %></span>
|
||||
<span class="streaming-indicator">●</span>
|
||||
</div>
|
||||
<.chat_tool_markers markers={@chat_editor.streaming_tool_markers} />
|
||||
|
||||
<%= if @chat_editor.streaming_content != "" do %>
|
||||
<div class="chat-message-text"><%= markdown_html(@chat_editor.streaming_content) %></div>
|
||||
<% end %>
|
||||
</div>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
<%= if @chat_editor.is_streaming and @chat_editor.streaming_content == "" and @chat_editor.streaming_tool_markers == [] do %>
|
||||
<div class="chat-message assistant thinking" data-testid="chat-streaming-thinking">
|
||||
<div class="chat-message-avatar">🤖</div>
|
||||
<div class="chat-message-content">
|
||||
<div class="chat-thinking-indicator">
|
||||
<span></span><span></span><span></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<% end %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
</div>
|
||||
|
||||
<div class="chat-input-container">
|
||||
<form class="chat-input-wrapper" phx-change="change_chat_editor_input">
|
||||
<textarea class="chat-input chat-surface-input" name="message" rows="1" placeholder={translated("Send a message")}><%= @chat_editor.input %></textarea>
|
||||
<button class="chat-send-button" type="button" phx-click="send_chat_editor_message" disabled={String.trim(@chat_editor.input || "") == "" or @chat_editor.offline?}>↑</button>
|
||||
<%= unless @chat_editor.needs_api_key? do %>
|
||||
<div class="chat-input-container" data-testid="chat-input-container">
|
||||
<%= if @chat_editor.is_streaming do %>
|
||||
<button class="chat-abort-button" data-testid="chat-abort-button" type="button" phx-click="abort_chat_editor_message">◼ <%= translated("chat.stop") %></button>
|
||||
<% end %>
|
||||
|
||||
<form class="chat-input-wrapper" phx-change="change_chat_editor_input" phx-submit="send_chat_editor_message">
|
||||
<textarea class="chat-input chat-surface-input" name="message" rows="1" placeholder={translated("chat.inputPlaceholder")}><%= @chat_editor.input %></textarea>
|
||||
<button class="chat-send-button" data-testid="chat-send-button" type="button" phx-click="send_chat_editor_message" disabled={@chat_editor.send_disabled?}>↑</button>
|
||||
</form>
|
||||
|
||||
<%= if @chat_editor.action_error do %>
|
||||
<p class="chat-surface-error"><%= @chat_editor.action_error %></p>
|
||||
<% end %>
|
||||
</div>
|
||||
<% end %>
|
||||
</div>
|
||||
@@ -24,7 +24,18 @@
|
||||
</div>
|
||||
<div class="editor-body scripts-editor">
|
||||
<div class="editor-toolbar scripts-toolbar"><div class="editor-toolbar-left"><label><%= translated("Content") %></label></div></div>
|
||||
<div class="scripts-monaco"><textarea class="code-editor-textarea" name="script_editor[content]"><%= @script_editor.content %></textarea></div>
|
||||
<div
|
||||
id={"script-editor-monaco-shell-#{@script_editor.id}"}
|
||||
class="scripts-monaco monaco-editor-shell"
|
||||
phx-hook="MonacoEditor"
|
||||
data-monaco-editor-id={@script_editor.id}
|
||||
data-monaco-input-id={"script-editor-content-#{@script_editor.id}"}
|
||||
data-monaco-language="lua"
|
||||
data-monaco-word-wrap="on"
|
||||
>
|
||||
<div id={"script-editor-monaco-#{@script_editor.id}"} class="monaco-editor-instance" phx-update="ignore"></div>
|
||||
<textarea id={"script-editor-content-#{@script_editor.id}"} class="monaco-editor-input code-editor-textarea" name="script_editor[content]" spellcheck="false"><%= @script_editor.content %></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="editor-footer"><span class="text-muted text-small"><%= translated("Created") %>: <%= format_timestamp(@script_editor.created_at) %></span><span class="text-muted text-small"><%= translated("Updated") %>: <%= format_timestamp(@script_editor.updated_at) %></span></div>
|
||||
</form>
|
||||
|
||||
@@ -22,7 +22,18 @@
|
||||
</div>
|
||||
<div class="editor-body templates-editor">
|
||||
<div class="editor-toolbar templates-toolbar"><div class="editor-toolbar-left"><label><%= translated("Content") %></label></div></div>
|
||||
<div class="templates-monaco"><textarea class="code-editor-textarea" name="template_editor[content]" spellcheck="false"><%= @template_editor.content %></textarea></div>
|
||||
<div
|
||||
id={"template-editor-monaco-shell-#{@template_editor.id}"}
|
||||
class="templates-monaco monaco-editor-shell"
|
||||
phx-hook="MonacoEditor"
|
||||
data-monaco-editor-id={@template_editor.id}
|
||||
data-monaco-input-id={"template-editor-content-#{@template_editor.id}"}
|
||||
data-monaco-language="liquid"
|
||||
data-monaco-word-wrap="on"
|
||||
>
|
||||
<div id={"template-editor-monaco-#{@template_editor.id}"} class="monaco-editor-instance" phx-update="ignore"></div>
|
||||
<textarea id={"template-editor-content-#{@template_editor.id}"} class="monaco-editor-input code-editor-textarea" name="template_editor[content]" spellcheck="false"><%= @template_editor.content %></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="editor-footer"><span class="text-muted text-small"><%= translated("Created") %>: <%= format_timestamp(@template_editor.created_at) %></span><span class="text-muted text-small"><%= translated("Updated") %>: <%= format_timestamp(@template_editor.updated_at) %></span></div>
|
||||
</form>
|
||||
|
||||
@@ -3,8 +3,11 @@ defmodule BDS.Desktop.ShellLive.MiscEditor do
|
||||
|
||||
use Phoenix.Component
|
||||
|
||||
alias BDS.{Embeddings, Generation, Git}
|
||||
import Ecto.Query
|
||||
|
||||
alias BDS.{Embeddings, Generation, Git, Posts, Repo}
|
||||
alias BDS.Desktop.ShellData
|
||||
alias BDS.Settings.Setting
|
||||
|
||||
embed_templates "misc_editor_html/*"
|
||||
|
||||
@@ -114,6 +117,37 @@ defmodule BDS.Desktop.ShellLive.MiscEditor do
|
||||
end
|
||||
end
|
||||
|
||||
def fix_translation_validation(socket, append_output) do
|
||||
report =
|
||||
socket.assigns
|
||||
|> meta()
|
||||
|> Map.get(:payload, %{})
|
||||
|> normalize_translation_validation_report()
|
||||
|
||||
{:ok, result} = Posts.fix_invalid_translations(report)
|
||||
|
||||
{:rerun,
|
||||
socket
|
||||
|> append_output.(
|
||||
translated("Translation Validation"),
|
||||
translated("translationValidation.toast.fixSuccess", %{
|
||||
dbRows: result.deleted_database_rows,
|
||||
files: result.deleted_files,
|
||||
flushed: result.flushed_translations
|
||||
})
|
||||
)}
|
||||
rescue
|
||||
error -> {:socket, append_output.(socket, translated("Translation Validation"), inspect(error), nil, "error")}
|
||||
end
|
||||
|
||||
def select_git_diff_file(socket, file_path) do
|
||||
assign(
|
||||
socket,
|
||||
:misc_editor_git_selected_files,
|
||||
Map.put(socket.assigns.misc_editor_git_selected_files, socket.assigns.current_tab.id, file_path)
|
||||
)
|
||||
end
|
||||
|
||||
def metadata_diff_repair_request(socket, field, direction) do
|
||||
meta = meta(socket.assigns)
|
||||
payload = Map.get(meta, :payload, %{})
|
||||
@@ -245,14 +279,23 @@ defmodule BDS.Desktop.ShellLive.MiscEditor do
|
||||
end
|
||||
|
||||
defp build_translation_validation(meta, payload) do
|
||||
report = normalize_translation_validation_report(payload)
|
||||
|
||||
%{
|
||||
kind: :translation_validation,
|
||||
title: Map.get(meta, :title, translated("Translation Validation")),
|
||||
subtitle: Map.get(meta, :subtitle, ""),
|
||||
summary: Map.get(payload, :summary, %{}),
|
||||
missing: Map.get(payload, :missing, []),
|
||||
orphan_files: Map.get(payload, :orphan_files, []),
|
||||
do_not_translate_posts: Map.get(payload, :do_not_translate_posts, [])
|
||||
summary: %{},
|
||||
summary_text:
|
||||
translated("translationValidation.summary", %{
|
||||
dbRows: report.checked_database_row_count,
|
||||
files: report.checked_filesystem_file_count,
|
||||
invalidDb: length(report.invalid_database_rows),
|
||||
invalidFiles: length(report.invalid_filesystem_files)
|
||||
}),
|
||||
invalid_database_rows: report.invalid_database_rows,
|
||||
invalid_filesystem_files: report.invalid_filesystem_files,
|
||||
can_fix?: report.invalid_database_rows != [] or report.invalid_filesystem_files != []
|
||||
}
|
||||
end
|
||||
|
||||
@@ -270,29 +313,93 @@ defmodule BDS.Desktop.ShellLive.MiscEditor do
|
||||
end
|
||||
|
||||
defp build_git_diff(assigns, meta) do
|
||||
diff_text =
|
||||
case Git.diff(assigns.projects.active_project_id) do
|
||||
{:ok, %{staged_diff: staged, unstaged_diff: unstaged}} ->
|
||||
[
|
||||
"# Staged Changes\n\n",
|
||||
if(String.trim(staged) == "", do: translated("No staged changes"), else: staged),
|
||||
"\n\n# Working Tree\n\n",
|
||||
if(String.trim(unstaged) == "", do: translated("No unstaged changes"), else: unstaged)
|
||||
]
|
||||
|> IO.iodata_to_binary()
|
||||
project_id = assigns.projects.active_project_id
|
||||
selected_files = Map.get(assigns, :misc_editor_git_selected_files, %{})
|
||||
|
||||
{:error, reason} -> inspect(reason)
|
||||
{files, diff, error_message} =
|
||||
case Git.status(project_id) do
|
||||
{:ok, %{files: files}} ->
|
||||
file_paths = files |> Enum.map(&Map.get(&1, :path)) |> Enum.reject(&is_nil/1) |> Enum.uniq() |> Enum.sort()
|
||||
selected_file_path = select_git_diff_path(assigns.current_tab.id, file_paths, selected_files)
|
||||
|
||||
diff =
|
||||
case selected_file_path do
|
||||
nil ->
|
||||
empty_git_diff(project_id)
|
||||
|
||||
file_path ->
|
||||
case Git.get_diff_content(project_id, file_path) do
|
||||
{:ok, diff} -> diff
|
||||
{:error, reason} -> Map.merge(empty_git_diff(project_id), %{file_path: file_path, error: inspect(reason)})
|
||||
end
|
||||
end
|
||||
|
||||
{file_paths, diff, nil}
|
||||
|
||||
{:error, reason} ->
|
||||
{[], empty_git_diff(project_id), inspect(reason)}
|
||||
end
|
||||
|
||||
preferences = git_diff_preferences()
|
||||
|
||||
%{
|
||||
kind: :git_diff,
|
||||
title: Map.get(meta, :title, translated("Git Diff")),
|
||||
subtitle: Map.get(meta, :subtitle, ""),
|
||||
diff_text: diff_text,
|
||||
summary: %{}
|
||||
summary: %{},
|
||||
files: files,
|
||||
selected_file_path: diff.file_path,
|
||||
active_diff: Map.put(diff, :language, git_diff_language(diff.file_path)),
|
||||
preferences: preferences,
|
||||
empty_message: error_message || translated("No unstaged changes")
|
||||
}
|
||||
end
|
||||
|
||||
def translation_issue_label(issue) do
|
||||
case issue_value(issue, :issue) do
|
||||
"same-language-as-canonical" -> translated("translationValidation.issue.sameLanguage")
|
||||
"do-not-translate-has-translations" -> translated("translationValidation.issue.doNotTranslate")
|
||||
"content-in-database" -> translated("translationValidation.issue.contentInDatabase")
|
||||
_other -> translated("translationValidation.issue.missingSource")
|
||||
end
|
||||
end
|
||||
|
||||
def translation_issue_languages(issue) do
|
||||
canonical_language = issue_value(issue, :canonical_language)
|
||||
translation_language = issue_value(issue, :translation_language)
|
||||
|
||||
if canonical_language in [nil, ""] do
|
||||
translation_language
|
||||
else
|
||||
translated("translationValidation.languagesWithCanonical", %{
|
||||
canonical: canonical_language,
|
||||
translation: translation_language
|
||||
})
|
||||
end
|
||||
end
|
||||
|
||||
def translation_issue_value(issue, key), do: issue_value(issue, key)
|
||||
|
||||
def git_diff_language(nil), do: "plaintext"
|
||||
|
||||
def git_diff_language(file_path) do
|
||||
case file_path |> Path.extname() |> String.downcase() do
|
||||
".md" -> "markdown"
|
||||
".markdown" -> "markdown"
|
||||
".mdx" -> "markdown"
|
||||
".ts" -> "typescript"
|
||||
".tsx" -> "typescript"
|
||||
".js" -> "javascript"
|
||||
".jsx" -> "javascript"
|
||||
".json" -> "json"
|
||||
".css" -> "css"
|
||||
".html" -> "html"
|
||||
".yml" -> "yaml"
|
||||
".yaml" -> "yaml"
|
||||
_other -> "plaintext"
|
||||
end
|
||||
end
|
||||
|
||||
defp meta(assigns) do
|
||||
Map.get(assigns.tab_meta, {assigns.current_tab.type, assigns.current_tab.id}, %{})
|
||||
end
|
||||
@@ -496,4 +603,60 @@ defmodule BDS.Desktop.ShellLive.MiscEditor do
|
||||
defp diff_name(diff) do
|
||||
Map.get(diff, :field) || Map.get(diff, "field") || Map.get(diff, :name) || Map.get(diff, "name") || "value"
|
||||
end
|
||||
|
||||
defp normalize_translation_validation_report(payload) when is_map(payload) do
|
||||
%{
|
||||
checked_database_row_count: issue_value(payload, :checked_database_row_count) || 0,
|
||||
checked_filesystem_file_count: issue_value(payload, :checked_filesystem_file_count) || 0,
|
||||
invalid_database_rows:
|
||||
payload
|
||||
|> issue_value(:invalid_database_rows)
|
||||
|> List.wrap(),
|
||||
invalid_filesystem_files:
|
||||
payload
|
||||
|> issue_value(:invalid_filesystem_files)
|
||||
|> List.wrap()
|
||||
}
|
||||
end
|
||||
|
||||
defp normalize_translation_validation_report(_payload) do
|
||||
%{
|
||||
checked_database_row_count: 0,
|
||||
checked_filesystem_file_count: 0,
|
||||
invalid_database_rows: [],
|
||||
invalid_filesystem_files: []
|
||||
}
|
||||
end
|
||||
|
||||
defp issue_value(issue, key) when is_map(issue) do
|
||||
Map.get(issue, key) || Map.get(issue, Atom.to_string(key))
|
||||
end
|
||||
|
||||
defp issue_value(_issue, _key), do: nil
|
||||
|
||||
defp select_git_diff_path(tab_id, files, selected_files) do
|
||||
selected = Map.get(selected_files, tab_id)
|
||||
|
||||
if selected in files do
|
||||
selected
|
||||
else
|
||||
List.first(files)
|
||||
end
|
||||
end
|
||||
|
||||
defp empty_git_diff(file_path) do
|
||||
%{file_path: file_path, original: "", modified: "", error: nil}
|
||||
end
|
||||
|
||||
defp git_diff_preferences do
|
||||
%{
|
||||
view_style: get_global_setting("ui.git_diff_view_style") || "inline",
|
||||
word_wrap: get_global_setting("ui.git_diff_word_wrap") == "true",
|
||||
hide_unchanged_regions: get_global_setting("ui.git_diff_hide_unchanged_regions") == "true"
|
||||
}
|
||||
end
|
||||
|
||||
defp get_global_setting(key) do
|
||||
Repo.one(from setting in Setting, where: setting.key == ^key, select: setting.value)
|
||||
end
|
||||
end
|
||||
@@ -181,10 +181,79 @@
|
||||
</div>
|
||||
|
||||
<% :translation_validation -> %>
|
||||
<div class="misc-columns">
|
||||
<section class="misc-card"><h3><%= translated("Missing") %></h3><ul><%= for issue <- @misc_editor.missing do %><li><%= inspect(issue) %></li><% end %></ul></section>
|
||||
<section class="misc-card"><h3><%= translated("Orphan Files") %></h3><ul><%= for file <- @misc_editor.orphan_files do %><li><%= file %></li><% end %></ul></section>
|
||||
<section class="misc-card"><h3><%= translated("Do Not Translate") %></h3><ul><%= for post <- @misc_editor.do_not_translate_posts do %><li><%= inspect(post) %></li><% end %></ul></section>
|
||||
<div class="translation-validation-view">
|
||||
<section class="translation-validation-summary">
|
||||
<p><%= @misc_editor.summary_text %></p>
|
||||
</section>
|
||||
|
||||
<section class="translation-validation-section">
|
||||
<h3><%= translated("translationValidation.databaseTitle") %></h3>
|
||||
|
||||
<%= if @misc_editor.invalid_database_rows == [] do %>
|
||||
<p class="translation-validation-empty"><%= translated("translationValidation.noneDatabase") %></p>
|
||||
<% else %>
|
||||
<div class="translation-validation-list">
|
||||
<%= for issue <- @misc_editor.invalid_database_rows do %>
|
||||
<article class="translation-validation-card translation-validation-card-db" data-testid="translation-validation-card">
|
||||
<p class="translation-validation-card-title"><%= translation_issue_label(issue) %></p>
|
||||
<dl class="translation-validation-card-meta">
|
||||
<dt><%= translated("translationValidation.field.translationFor") %></dt>
|
||||
<dd><%= translation_issue_value(issue, :translation_for) %></dd>
|
||||
<%= if translation_issue_value(issue, :translation_id) do %>
|
||||
<dt><%= translated("translationValidation.field.translationId") %></dt>
|
||||
<dd><%= translation_issue_value(issue, :translation_id) %></dd>
|
||||
<% end %>
|
||||
<%= if translation_issue_value(issue, :title) do %>
|
||||
<dt><%= translated("translationValidation.field.title") %></dt>
|
||||
<dd><%= translation_issue_value(issue, :title) %></dd>
|
||||
<% end %>
|
||||
<dt><%= translated("translationValidation.field.languages") %></dt>
|
||||
<dd><%= translation_issue_languages(issue) %></dd>
|
||||
<%= if translation_issue_value(issue, :file_path) do %>
|
||||
<dt><%= translated("translationValidation.field.filePath") %></dt>
|
||||
<dd><%= translation_issue_value(issue, :file_path) %></dd>
|
||||
<% end %>
|
||||
</dl>
|
||||
</article>
|
||||
<% end %>
|
||||
</div>
|
||||
<% end %>
|
||||
</section>
|
||||
|
||||
<section class="translation-validation-section">
|
||||
<h3><%= translated("translationValidation.filesystemTitle") %></h3>
|
||||
|
||||
<%= if @misc_editor.invalid_filesystem_files == [] do %>
|
||||
<p class="translation-validation-empty"><%= translated("translationValidation.noneFilesystem") %></p>
|
||||
<% else %>
|
||||
<div class="translation-validation-list">
|
||||
<%= for issue <- @misc_editor.invalid_filesystem_files do %>
|
||||
<article class="translation-validation-card translation-validation-card-file" data-testid="translation-validation-card">
|
||||
<p class="translation-validation-card-title"><%= translation_issue_label(issue) %></p>
|
||||
<dl class="translation-validation-card-meta">
|
||||
<dt><%= translated("translationValidation.field.translationFor") %></dt>
|
||||
<dd><%= translation_issue_value(issue, :translation_for) %></dd>
|
||||
<%= if translation_issue_value(issue, :title) do %>
|
||||
<dt><%= translated("translationValidation.field.title") %></dt>
|
||||
<dd><%= translation_issue_value(issue, :title) %></dd>
|
||||
<% end %>
|
||||
<dt><%= translated("translationValidation.field.languages") %></dt>
|
||||
<dd><%= translation_issue_languages(issue) %></dd>
|
||||
<%= if translation_issue_value(issue, :file_path) do %>
|
||||
<dt><%= translated("translationValidation.field.filePath") %></dt>
|
||||
<dd><%= translation_issue_value(issue, :file_path) %></dd>
|
||||
<% end %>
|
||||
</dl>
|
||||
</article>
|
||||
<% end %>
|
||||
</div>
|
||||
<% end %>
|
||||
</section>
|
||||
|
||||
<div class="translation-validation-actions">
|
||||
<button class="secondary" type="button" phx-click="rerun_misc_editor" data-testid="translation-validation-revalidate"><%= translated("translationValidation.revalidate") %></button>
|
||||
<button class="primary" type="button" phx-click="fix_translation_validation" data-testid="translation-validation-fix" disabled={not @misc_editor.can_fix?}><%= translated("translationValidation.fix") %></button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<% :find_duplicates -> %>
|
||||
@@ -202,7 +271,35 @@
|
||||
</div>
|
||||
|
||||
<% :git_diff -> %>
|
||||
<div class="misc-card misc-code-card"><pre><code><%= @misc_editor.diff_text %></code></pre></div>
|
||||
<div class="git-diff-view">
|
||||
<%= if @misc_editor.files == [] do %>
|
||||
<p class="git-diff-empty"><%= @misc_editor.empty_message %></p>
|
||||
<% else %>
|
||||
<form class="git-diff-toolbar" phx-change="select_git_diff_file">
|
||||
<label for="git-diff-file-select"><%= translated("gitDiff.changedFiles") %></label>
|
||||
<select id="git-diff-file-select" data-testid="git-diff-file-select" name="path">
|
||||
<%= for file_path <- @misc_editor.files do %>
|
||||
<option value={file_path} selected={file_path == @misc_editor.selected_file_path}><%= file_path %></option>
|
||||
<% end %>
|
||||
</select>
|
||||
</form>
|
||||
|
||||
<div
|
||||
id={"git-diff-editor-#{String.replace(@misc_editor.active_diff.file_path || "working-tree", ~r/[^a-zA-Z0-9_-]+/, "-")}"}
|
||||
class="git-diff-editor"
|
||||
phx-hook="MonacoDiffEditor"
|
||||
data-monaco-diff-language={@misc_editor.active_diff.language}
|
||||
data-monaco-diff-file-path={@misc_editor.active_diff.file_path}
|
||||
data-monaco-diff-view-style={@misc_editor.preferences.view_style}
|
||||
data-monaco-diff-word-wrap={if(@misc_editor.preferences.word_wrap, do: "on", else: "off")}
|
||||
data-monaco-diff-hide-unchanged={if(@misc_editor.preferences.hide_unchanged_regions, do: "true", else: "false")}
|
||||
>
|
||||
<textarea class="monaco-diff-original" hidden><%= @misc_editor.active_diff.original %></textarea>
|
||||
<textarea class="monaco-diff-modified" hidden><%= @misc_editor.active_diff.modified %></textarea>
|
||||
<div class="monaco-diff-editor-instance"></div>
|
||||
</div>
|
||||
<% end %>
|
||||
</div>
|
||||
<% end %>
|
||||
</div>
|
||||
</div>
|
||||
@@ -387,9 +387,19 @@
|
||||
<% end %>
|
||||
</div>
|
||||
<% else %>
|
||||
<div id={"post-editor-markdown-surface-#{@post_editor.id}"} class="post-editor-markdown-surface" data-testid="post-editor-markdown-surface" phx-hook="PostEditorContent" data-post-editor-id={@post_editor.id}>
|
||||
<pre class="post-editor-markdown-highlight" aria-hidden="true"></pre>
|
||||
<textarea id={"post-editor-content-#{@post_editor.id}"} class="post-editor-textarea post-editor-content" data-testid="post-editor-content" data-post-editor-id={@post_editor.id} name="post_editor[content]" rows="18"><%= @post_editor.form["content"] %></textarea>
|
||||
<div
|
||||
id={"post-editor-markdown-surface-#{@post_editor.id}"}
|
||||
class="post-editor-markdown-surface monaco-editor-shell"
|
||||
data-testid="post-editor-markdown-surface"
|
||||
phx-hook="MonacoEditor"
|
||||
data-monaco-editor-id={@post_editor.id}
|
||||
data-monaco-input-id={"post-editor-content-#{@post_editor.id}"}
|
||||
data-monaco-language="markdown-with-macros"
|
||||
data-monaco-word-wrap="on"
|
||||
data-monaco-insert-event="post-editor-insert-content"
|
||||
>
|
||||
<div id={"post-editor-monaco-#{@post_editor.id}"} class="monaco-editor-instance" phx-update="ignore"></div>
|
||||
<textarea id={"post-editor-content-#{@post_editor.id}"} class="monaco-editor-input post-editor-content" data-testid="post-editor-content" data-post-editor-id={@post_editor.id} name="post_editor[content]" rows="18" spellcheck="false"><%= @post_editor.form["content"] %></textarea>
|
||||
</div>
|
||||
<% end %>
|
||||
</div>
|
||||
|
||||
+682
-191
File diff suppressed because it is too large.
Load diff
@@ -87,6 +87,27 @@ defmodule BDS.Git do
|
||||
end
|
||||
end
|
||||
|
||||
def get_diff_content(project_id, file_path, opts \\ [])
|
||||
when is_binary(project_id) and is_binary(file_path) and is_list(opts) do
|
||||
with {:ok, project_dir} <- project_dir(project_id) do
|
||||
runner = Keyword.get(opts, :runner, &system_runner/3)
|
||||
|
||||
original =
|
||||
case runner.("git", ["show", "HEAD:#{file_path}"], command_opts(project_dir)) do
|
||||
{output, 0} -> output
|
||||
{_output, _status} -> ""
|
||||
end
|
||||
|
||||
modified =
|
||||
case File.read(Path.join(project_dir, file_path)) do
|
||||
{:ok, contents} -> contents
|
||||
{:error, _reason} -> ""
|
||||
end
|
||||
|
||||
{:ok, %{file_path: file_path, original: original, modified: modified}}
|
||||
end
|
||||
end
|
||||
|
||||
def history(project_id, branch, opts \\ [])
|
||||
when is_binary(project_id) and is_binary(branch) and is_list(opts) do
|
||||
with {:ok, project_dir} <- project_dir(project_id),
|
||||
|
||||
+372
-59
@@ -580,72 +580,119 @@ defmodule BDS.Posts do
|
||||
end
|
||||
|
||||
def validate_translations(project_id, opts \\ []) do
|
||||
project = Projects.get_project!(project_id)
|
||||
{:ok, metadata} = Metadata.get_project_metadata(project_id)
|
||||
on_progress = progress_callback(opts)
|
||||
|
||||
posts =
|
||||
source_posts =
|
||||
Repo.all(
|
||||
from post in Post,
|
||||
where: post.project_id == ^project_id and post.status == :published,
|
||||
where: post.project_id == ^project_id,
|
||||
order_by: [asc: post.created_at, asc: post.slug]
|
||||
)
|
||||
|
||||
total_posts = length(posts)
|
||||
:ok = report_rebuild_started(on_progress, total_posts, "published posts")
|
||||
source_post_map = Map.new(source_posts, &{&1.id, &1})
|
||||
|
||||
translation_languages =
|
||||
translation_rows =
|
||||
Repo.all(
|
||||
from translation in Translation,
|
||||
join: post in Post,
|
||||
on: post.id == translation.translation_for,
|
||||
where: post.project_id == ^project_id,
|
||||
select: {translation.translation_for, translation.language}
|
||||
where: translation.project_id == ^project_id,
|
||||
order_by: [asc: translation.translation_for, asc: translation.language, asc: translation.id]
|
||||
)
|
||||
|> Enum.group_by(fn {post_id, _language} -> post_id end, fn {_post_id, language} ->
|
||||
language
|
||||
end)
|
||||
|
||||
required_languages =
|
||||
metadata.blog_languages
|
||||
|> Enum.map(&normalize_language/1)
|
||||
|> Enum.reject(&(&1 == normalize_language(metadata.main_language)))
|
||||
|> Enum.uniq()
|
||||
|> Enum.sort()
|
||||
project_data_dir = Projects.project_data_dir(project)
|
||||
|
||||
missing =
|
||||
posts
|
||||
markdown_files =
|
||||
project_data_dir
|
||||
|> Path.join("posts")
|
||||
|> list_markdown_files_recursive()
|
||||
|
||||
total_items = length(translation_rows) + length(markdown_files)
|
||||
:ok = report_rebuild_started(on_progress, total_items, "translations")
|
||||
|
||||
invalid_database_rows =
|
||||
translation_rows
|
||||
|> Enum.with_index(1)
|
||||
|> Enum.flat_map(fn {post, index} ->
|
||||
available = Map.get(translation_languages, post.id, [])
|
||||
|> Enum.flat_map(fn {translation, index} ->
|
||||
:ok = report_rebuild_progress(on_progress, index, total_items, "translations")
|
||||
|
||||
:ok = report_rebuild_progress(on_progress, index, total_posts, "published posts")
|
||||
case invalid_database_translation_issue(translation, source_post_map, metadata) do
|
||||
nil -> []
|
||||
issue -> [issue]
|
||||
end
|
||||
end)
|
||||
|> Enum.sort_by(&translation_validation_issue_sort_key/1)
|
||||
|
||||
cond do
|
||||
post.do_not_translate ->
|
||||
[]
|
||||
{checked_filesystem_file_count, invalid_filesystem_files} =
|
||||
markdown_files
|
||||
|> Enum.with_index(length(translation_rows) + 1)
|
||||
|> Enum.reduce({0, []}, fn {file_path, index}, {count, issues} ->
|
||||
:ok = report_rebuild_progress(on_progress, index, total_items, "translations")
|
||||
|
||||
true ->
|
||||
required_languages
|
||||
|> Enum.reject(&(&1 in available))
|
||||
|> Enum.map(&%{post_id: post.id, language: &1})
|
||||
case invalid_filesystem_translation_issue(file_path, source_post_map, metadata) do
|
||||
{:ok, nil} ->
|
||||
{count + 1, issues}
|
||||
|
||||
{:ok, issue} ->
|
||||
{count + 1, [issue | issues]}
|
||||
|
||||
:skip ->
|
||||
{count, issues}
|
||||
end
|
||||
end)
|
||||
|
||||
do_not_translate_posts =
|
||||
posts
|
||||
|> Enum.filter(& &1.do_not_translate)
|
||||
|> Enum.map(& &1.id)
|
||||
|
||||
orphan_files = orphan_translation_files(project_id)
|
||||
missing = legacy_missing_translation_entries(source_posts, translation_rows, metadata)
|
||||
orphan_files = legacy_orphan_translation_files(invalid_filesystem_files, project_data_dir)
|
||||
do_not_translate_posts = legacy_do_not_translate_posts(source_posts)
|
||||
|
||||
{:ok,
|
||||
%{
|
||||
checked_database_row_count: length(translation_rows),
|
||||
checked_filesystem_file_count: checked_filesystem_file_count,
|
||||
invalid_database_rows: invalid_database_rows,
|
||||
invalid_filesystem_files: Enum.reverse(invalid_filesystem_files) |> Enum.sort_by(&translation_validation_issue_sort_key/1),
|
||||
missing: missing,
|
||||
orphan_files: orphan_files,
|
||||
do_not_translate_posts: do_not_translate_posts
|
||||
}}
|
||||
end
|
||||
|
||||
def fix_invalid_translations(report) when is_map(report) do
|
||||
normalized_report = normalize_translation_validation_report(report)
|
||||
|
||||
{deleted_database_rows, flushed_translations, synced_post_ids} =
|
||||
Enum.reduce(normalized_report.invalid_database_rows, {0, 0, MapSet.new()}, fn issue, {deleted, flushed, synced_ids} ->
|
||||
case fix_invalid_database_translation(issue) do
|
||||
{:deleted, post_id} ->
|
||||
{deleted + 1, flushed, maybe_put_synced_post(synced_ids, post_id)}
|
||||
|
||||
{:flushed, post_id} ->
|
||||
{deleted, flushed + 1, maybe_put_synced_post(synced_ids, post_id)}
|
||||
|
||||
:noop ->
|
||||
{deleted, flushed, synced_ids}
|
||||
end
|
||||
end)
|
||||
|
||||
deleted_files =
|
||||
Enum.reduce(normalized_report.invalid_filesystem_files, 0, fn issue, count ->
|
||||
if delete_translation_validation_file(issue.file_path) do
|
||||
count + 1
|
||||
else
|
||||
count
|
||||
end
|
||||
end)
|
||||
|
||||
Enum.each(synced_post_ids, &Search.sync_post/1)
|
||||
|
||||
{:ok,
|
||||
%{
|
||||
deleted_database_rows: deleted_database_rows,
|
||||
deleted_files: deleted_files,
|
||||
flushed_translations: flushed_translations
|
||||
}}
|
||||
end
|
||||
|
||||
def rewrite_published_post(post_id) do
|
||||
post = Repo.get!(Post, post_id)
|
||||
|
||||
@@ -997,6 +1044,12 @@ defmodule BDS.Posts do
|
||||
end
|
||||
|
||||
defp normalize_translation_updates(post, %Translation{} = translation, language, attrs, now) do
|
||||
requested_status =
|
||||
case attr(attrs, :status) do
|
||||
nil -> nil
|
||||
status -> parse_translation_status(status)
|
||||
end
|
||||
|
||||
updates =
|
||||
%{}
|
||||
|> maybe_put(:title, attr(attrs, :title))
|
||||
@@ -1006,6 +1059,8 @@ defmodule BDS.Posts do
|
||||
reopened? =
|
||||
translation.status == :published and translation_content_change?(translation, updates)
|
||||
|
||||
status = if(reopened?, do: :draft, else: requested_status || translation.status || :draft)
|
||||
|
||||
%{
|
||||
id: translation.id || Ecto.UUID.generate(),
|
||||
project_id: post.project_id,
|
||||
@@ -1014,10 +1069,10 @@ defmodule BDS.Posts do
|
||||
title: Map.get(updates, :title, translation.title),
|
||||
excerpt: Map.get(updates, :excerpt, translation.excerpt),
|
||||
content: Map.get(updates, :content, translation.content),
|
||||
status: if(reopened?, do: :draft, else: translation.status || :draft),
|
||||
status: status,
|
||||
created_at: translation.created_at || now,
|
||||
updated_at: now,
|
||||
published_at: translation.published_at,
|
||||
published_at: translation.published_at || if(status == :published, do: now, else: nil),
|
||||
file_path: translation.file_path || "",
|
||||
checksum: translation.checksum
|
||||
}
|
||||
@@ -1303,31 +1358,289 @@ defmodule BDS.Posts do
|
||||
defp present?(value) when is_binary(value), do: String.trim(value) != ""
|
||||
defp present?(value), do: not is_nil(value)
|
||||
|
||||
defp orphan_translation_files(project_id) do
|
||||
project = Projects.get_project!(project_id)
|
||||
|
||||
translation_paths =
|
||||
MapSet.new(
|
||||
Repo.all(
|
||||
from translation in Translation,
|
||||
where: translation.project_id == ^project_id,
|
||||
select: translation.file_path
|
||||
)
|
||||
)
|
||||
|
||||
project
|
||||
|> Projects.project_data_dir()
|
||||
|> Path.join("posts")
|
||||
|> list_matching_files("*.md")
|
||||
|> Enum.map(&Path.relative_to(&1, Projects.project_data_dir(project)))
|
||||
|> Enum.filter(&translation_file?/1)
|
||||
|> Enum.reject(&MapSet.member?(translation_paths, &1))
|
||||
defp list_markdown_files_recursive(dir) do
|
||||
["*.md", "*.markdown", "*.mdx"]
|
||||
|> Enum.flat_map(&list_matching_files(dir, &1))
|
||||
|> Enum.uniq()
|
||||
|> Enum.sort()
|
||||
end
|
||||
|
||||
defp translation_file?(relative_path) do
|
||||
Regex.match?(~r/\.[a-z]{2}\.md$/i, relative_path)
|
||||
defp invalid_database_translation_issue(%Translation{} = translation, source_post_map, metadata) do
|
||||
source_post = Map.get(source_post_map, translation.translation_for)
|
||||
normalized_language = normalize_language(translation.language)
|
||||
|
||||
cond do
|
||||
is_nil(source_post) ->
|
||||
translation_validation_issue(%{
|
||||
issue: "missing-source-post",
|
||||
translation_id: translation.id,
|
||||
translation_for: translation.translation_for,
|
||||
translation_language: normalized_language,
|
||||
title: translation.title,
|
||||
file_path: blank_to_nil(translation.file_path)
|
||||
})
|
||||
|
||||
canonical_translation_language?(source_post, normalized_language, metadata) ->
|
||||
translation_validation_issue(%{
|
||||
issue: "same-language-as-canonical",
|
||||
translation_id: translation.id,
|
||||
translation_for: translation.translation_for,
|
||||
canonical_language: canonical_translation_language(source_post, metadata),
|
||||
translation_language: normalized_language,
|
||||
title: translation.title,
|
||||
file_path: blank_to_nil(translation.file_path)
|
||||
})
|
||||
|
||||
source_post.do_not_translate ->
|
||||
translation_validation_issue(%{
|
||||
issue: "do-not-translate-has-translations",
|
||||
translation_id: translation.id,
|
||||
translation_for: translation.translation_for,
|
||||
translation_language: normalized_language,
|
||||
title: translation.title,
|
||||
file_path: blank_to_nil(translation.file_path)
|
||||
})
|
||||
|
||||
translation.status == :published and present?(translation.content) ->
|
||||
translation_validation_issue(%{
|
||||
issue: "content-in-database",
|
||||
translation_id: translation.id,
|
||||
translation_for: translation.translation_for,
|
||||
translation_language: normalized_language,
|
||||
title: translation.title,
|
||||
file_path: blank_to_nil(translation.file_path)
|
||||
})
|
||||
|
||||
true ->
|
||||
nil
|
||||
end
|
||||
end
|
||||
|
||||
defp invalid_filesystem_translation_issue(file_path, source_post_map, metadata) do
|
||||
with {:ok, contents} <- File.read(file_path),
|
||||
{:ok, %{fields: fields}} <- Frontmatter.parse_document(contents),
|
||||
true <- translation_rebuild_file?(%{fields: fields}) do
|
||||
translation_for = DocumentFields.get(fields, "translationFor")
|
||||
source_post = Map.get(source_post_map, translation_for)
|
||||
normalized_language = normalize_language(DocumentFields.get(fields, "language"))
|
||||
title = DocumentFields.get(fields, "title")
|
||||
|
||||
issue =
|
||||
cond do
|
||||
is_nil(source_post) ->
|
||||
translation_validation_issue(%{
|
||||
issue: "missing-source-post",
|
||||
translation_for: translation_for,
|
||||
translation_language: normalized_language,
|
||||
title: title,
|
||||
file_path: file_path
|
||||
})
|
||||
|
||||
canonical_translation_language?(source_post, normalized_language, metadata) ->
|
||||
translation_validation_issue(%{
|
||||
issue: "same-language-as-canonical",
|
||||
translation_for: translation_for,
|
||||
canonical_language: canonical_translation_language(source_post, metadata),
|
||||
translation_language: normalized_language,
|
||||
title: title,
|
||||
file_path: file_path
|
||||
})
|
||||
|
||||
source_post.do_not_translate ->
|
||||
translation_validation_issue(%{
|
||||
issue: "do-not-translate-has-translations",
|
||||
translation_for: translation_for,
|
||||
translation_language: normalized_language,
|
||||
title: title,
|
||||
file_path: file_path
|
||||
})
|
||||
|
||||
true ->
|
||||
nil
|
||||
end
|
||||
|
||||
{:ok, issue}
|
||||
else
|
||||
false -> :skip
|
||||
_other -> :skip
|
||||
end
|
||||
end
|
||||
|
||||
defp normalize_translation_validation_report(report) do
|
||||
%{
|
||||
checked_database_row_count: map_value(report, :checked_database_row_count, 0),
|
||||
checked_filesystem_file_count: map_value(report, :checked_filesystem_file_count, 0),
|
||||
invalid_database_rows:
|
||||
report
|
||||
|> map_value(:invalid_database_rows, [])
|
||||
|> Enum.map(&normalize_translation_validation_issue/1),
|
||||
invalid_filesystem_files:
|
||||
report
|
||||
|> map_value(:invalid_filesystem_files, [])
|
||||
|> Enum.map(&normalize_translation_validation_issue/1)
|
||||
}
|
||||
end
|
||||
|
||||
defp legacy_missing_translation_entries(source_posts, translation_rows, metadata) do
|
||||
configured_languages =
|
||||
([Map.get(metadata, :main_language)] ++ Map.get(metadata, :blog_languages, []))
|
||||
|> Enum.map(&normalize_language/1)
|
||||
|> Enum.reject(&(&1 in [nil, ""]))
|
||||
|> Enum.uniq()
|
||||
|
||||
existing_languages_by_post =
|
||||
Enum.reduce(translation_rows, %{}, fn translation, acc ->
|
||||
Map.update(
|
||||
acc,
|
||||
translation.translation_for,
|
||||
MapSet.new([normalize_language(translation.language)]),
|
||||
&MapSet.put(&1, normalize_language(translation.language))
|
||||
)
|
||||
end)
|
||||
|
||||
source_posts
|
||||
|> Enum.filter(&(&1.status == :published and not &1.do_not_translate))
|
||||
|> Enum.flat_map(fn post ->
|
||||
canonical_language = canonical_translation_language(post, metadata)
|
||||
existing_languages = Map.get(existing_languages_by_post, post.id, MapSet.new())
|
||||
|
||||
configured_languages
|
||||
|> Enum.reject(&(&1 == canonical_language or MapSet.member?(existing_languages, &1)))
|
||||
|> Enum.map(&%{post_id: post.id, language: &1})
|
||||
end)
|
||||
|> Enum.sort_by(&{&1.post_id, &1.language})
|
||||
end
|
||||
|
||||
defp legacy_orphan_translation_files(invalid_filesystem_files, project_data_dir) do
|
||||
invalid_filesystem_files
|
||||
|> Enum.filter(&(Map.get(&1, :issue) == "missing-source-post"))
|
||||
|> Enum.map(fn issue ->
|
||||
issue
|
||||
|> Map.get(:file_path)
|
||||
|> relative_project_data_path(project_data_dir)
|
||||
end)
|
||||
|> Enum.reject(&is_nil/1)
|
||||
|> Enum.sort()
|
||||
end
|
||||
|
||||
defp legacy_do_not_translate_posts(source_posts) do
|
||||
source_posts
|
||||
|> Enum.filter(&(&1.status == :published and &1.do_not_translate))
|
||||
|> Enum.map(& &1.id)
|
||||
|> Enum.sort()
|
||||
end
|
||||
|
||||
defp normalize_translation_validation_issue(issue) when is_map(issue) do
|
||||
%{
|
||||
issue: map_value(issue, :issue),
|
||||
translation_id: blank_to_nil(map_value(issue, :translation_id)),
|
||||
translation_for: map_value(issue, :translation_for),
|
||||
canonical_language: blank_to_nil(map_value(issue, :canonical_language)),
|
||||
translation_language: map_value(issue, :translation_language),
|
||||
title: blank_to_nil(map_value(issue, :title)),
|
||||
file_path: blank_to_nil(map_value(issue, :file_path))
|
||||
}
|
||||
end
|
||||
|
||||
defp fix_invalid_database_translation(%{issue: "content-in-database", translation_id: translation_id})
|
||||
when is_binary(translation_id) do
|
||||
case Repo.get(Translation, translation_id) do
|
||||
%Translation{} = translation ->
|
||||
case Repo.get(Post, translation.translation_for) do
|
||||
%Post{} = post ->
|
||||
:ok = publish_translation(post, translation)
|
||||
{:flushed, translation.translation_for}
|
||||
|
||||
nil ->
|
||||
:noop
|
||||
end
|
||||
|
||||
nil ->
|
||||
:noop
|
||||
end
|
||||
end
|
||||
|
||||
defp fix_invalid_database_translation(%{translation_id: translation_id, translation_for: translation_for})
|
||||
when is_binary(translation_id) do
|
||||
case Repo.get(Translation, translation_id) do
|
||||
%Translation{} = translation ->
|
||||
Repo.delete!(translation)
|
||||
{:deleted, translation_for}
|
||||
|
||||
nil ->
|
||||
:noop
|
||||
end
|
||||
end
|
||||
|
||||
defp fix_invalid_database_translation(_issue), do: :noop
|
||||
|
||||
defp delete_translation_validation_file(file_path) when file_path in [nil, ""], do: false
|
||||
|
||||
defp delete_translation_validation_file(file_path) do
|
||||
case File.rm(file_path) do
|
||||
:ok -> true
|
||||
{:error, :enoent} -> false
|
||||
{:error, _reason} -> false
|
||||
end
|
||||
end
|
||||
|
||||
defp translation_validation_issue(attrs) do
|
||||
%{
|
||||
issue: Map.get(attrs, :issue),
|
||||
translation_id: Map.get(attrs, :translation_id),
|
||||
translation_for: Map.get(attrs, :translation_for),
|
||||
canonical_language: Map.get(attrs, :canonical_language),
|
||||
translation_language: Map.get(attrs, :translation_language),
|
||||
title: Map.get(attrs, :title),
|
||||
file_path: Map.get(attrs, :file_path)
|
||||
}
|
||||
end
|
||||
|
||||
defp translation_validation_issue_sort_key(issue) do
|
||||
[Map.get(issue, :translation_for), Map.get(issue, :translation_id), Map.get(issue, :file_path)]
|
||||
|> Enum.map(&to_string(&1 || ""))
|
||||
|> Enum.join(":")
|
||||
end
|
||||
|
||||
defp canonical_translation_language(source_post, metadata) do
|
||||
language = normalize_language(source_post.language)
|
||||
|
||||
if language == "" do
|
||||
normalize_language(Map.get(metadata, :main_language))
|
||||
else
|
||||
language
|
||||
end
|
||||
end
|
||||
|
||||
defp canonical_translation_language?(source_post, language, metadata) do
|
||||
canonical_language = canonical_translation_language(source_post, metadata)
|
||||
canonical_language != "" and canonical_language == normalize_language(language)
|
||||
end
|
||||
|
||||
defp map_value(map, key, default \\ nil) when is_map(map) do
|
||||
Map.get(map, key, Map.get(map, Atom.to_string(key), default))
|
||||
end
|
||||
|
||||
defp blank_to_nil(value) when is_binary(value) do
|
||||
case String.trim(value) do
|
||||
"" -> nil
|
||||
trimmed -> trimmed
|
||||
end
|
||||
end
|
||||
|
||||
defp blank_to_nil(value), do: value
|
||||
|
||||
defp relative_project_data_path(nil, _project_data_dir), do: nil
|
||||
|
||||
defp relative_project_data_path(file_path, project_data_dir) do
|
||||
case Path.relative_to(file_path, project_data_dir) do
|
||||
relative_path when relative_path == file_path -> file_path
|
||||
relative_path -> relative_path
|
||||
end
|
||||
end
|
||||
|
||||
defp maybe_put_synced_post(set, post_id) when is_binary(post_id) and post_id != "", do: MapSet.put(set, post_id)
|
||||
defp maybe_put_synced_post(set, _post_id), do: set
|
||||
|
||||
defp normalize_language(nil), do: ""
|
||||
|
||||
|
||||
Generated
+43
@@ -6,9 +6,28 @@
|
||||
"": {
|
||||
"name": "bds-ui-automation",
|
||||
"devDependencies": {
|
||||
"monaco-editor": "^0.55.1",
|
||||
"playwright": "^1.54.1"
|
||||
}
|
||||
},
|
||||
"node_modules/@types/trusted-types": {
|
||||
"version": "2.0.7",
|
||||
"resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz",
|
||||
"integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true
|
||||
},
|
||||
"node_modules/dompurify": {
|
||||
"version": "3.2.7",
|
||||
"resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.2.7.tgz",
|
||||
"integrity": "sha512-WhL/YuveyGXJaerVlMYGWhvQswa7myDG17P7Vu65EWC05o8vfeNbvNf4d/BOvH99+ZW+LlQsc1GDKMa1vNK6dw==",
|
||||
"dev": true,
|
||||
"license": "(MPL-2.0 OR Apache-2.0)",
|
||||
"optionalDependencies": {
|
||||
"@types/trusted-types": "^2.0.7"
|
||||
}
|
||||
},
|
||||
"node_modules/fsevents": {
|
||||
"version": "2.3.2",
|
||||
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
|
||||
@@ -24,6 +43,30 @@
|
||||
"node": "^8.16.0 || ^10.6.0 || >=11.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/marked": {
|
||||
"version": "14.0.0",
|
||||
"resolved": "https://registry.npmjs.org/marked/-/marked-14.0.0.tgz",
|
||||
"integrity": "sha512-uIj4+faQ+MgHgwUW1l2PsPglZLOLOT1uErt06dAPtx2kjteLAkbsd/0FiYg/MGS+i7ZKLb7w2WClxHkzOOuryQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"bin": {
|
||||
"marked": "bin/marked.js"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 18"
|
||||
}
|
||||
},
|
||||
"node_modules/monaco-editor": {
|
||||
"version": "0.55.1",
|
||||
"resolved": "https://registry.npmjs.org/monaco-editor/-/monaco-editor-0.55.1.tgz",
|
||||
"integrity": "sha512-jz4x+TJNFHwHtwuV9vA9rMujcZRb0CEilTEwG2rRSpe/A7Jdkuj8xPKttCgOh+v/lkHy7HsZ64oj+q3xoAFl9A==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"dompurify": "3.2.7",
|
||||
"marked": "14.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/playwright": {
|
||||
"version": "1.59.1",
|
||||
"resolved": "https://registry.npmjs.org/playwright/-/playwright-1.59.1.tgz",
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
"name": "bds-ui-automation",
|
||||
"private": true,
|
||||
"devDependencies": {
|
||||
"monaco-editor": "^0.55.1",
|
||||
"playwright": "^1.54.1"
|
||||
},
|
||||
"scripts": {
|
||||
|
||||
@@ -45,6 +45,43 @@
|
||||
"render.video.vimeoTitle": "Vimeo-Video",
|
||||
"render.video.youtubeTitle": "YouTube-Video",
|
||||
"sidebar.chat.yesterday": "Gestern",
|
||||
"translationValidation.title": "Übersetzungen validieren",
|
||||
"translationValidation.summary": "Geprüfte DB-Zeilen: %{dbRows} · Geprüfte Dateien: %{files} · Ungültige DB-Zeilen: %{invalidDb} · Ungültige Dateien: %{invalidFiles}",
|
||||
"translationValidation.databaseTitle": "Ungültige Übersetzungszeilen in der Datenbank",
|
||||
"translationValidation.filesystemTitle": "Ungültige Übersetzungsdateien auf dem Datenträger",
|
||||
"translationValidation.noneDatabase": "Keine ungültigen Übersetzungszeilen gefunden.",
|
||||
"translationValidation.noneFilesystem": "Keine ungültigen Übersetzungsdateien gefunden.",
|
||||
"translationValidation.issue.sameLanguage": "Übersetzungssprache entspricht der kanonischen Beitragssprache",
|
||||
"translationValidation.issue.missingSource": "Übersetzung verweist auf einen fehlenden Quellbeitrag",
|
||||
"translationValidation.issue.doNotTranslate": "Beitrag ist als nicht-übersetzen markiert, hat aber Übersetzungen",
|
||||
"translationValidation.issue.contentInDatabase": "Veröffentlichte Übersetzung hat Inhalt in der DB statt im Dateisystem",
|
||||
"translationValidation.field.translationFor": "Quellbeitrag",
|
||||
"translationValidation.field.translationId": "Übersetzungszeile",
|
||||
"translationValidation.field.title": "Titel",
|
||||
"translationValidation.field.languages": "Sprachen",
|
||||
"translationValidation.field.filePath": "Datei",
|
||||
"translationValidation.languagesWithCanonical": "%{canonical} = %{translation}",
|
||||
"translationValidation.revalidate": "Erneut validieren",
|
||||
"translationValidation.fix": "Probleme beheben",
|
||||
"translationValidation.toast.fixSuccess": "%{dbRows} DB-Zeilen und %{files} Dateien gelöscht, %{flushed} Übersetzungen auf Datenträger geschrieben",
|
||||
"chat.newChat": "Neuer Chat",
|
||||
"chat.setupTitle": "KI-Chat-Einrichtung",
|
||||
"chat.apiKeyRequiredTitle": "API-Schlüssel erforderlich",
|
||||
"chat.apiKeyRequiredDescription": "Konfiguriere einen API-Schlüssel in den Einstellungen, um den KI-Chat zu aktivieren.",
|
||||
"chat.openSettings": "Einstellungen öffnen",
|
||||
"chat.welcomeTitle": "Willkommen beim KI-Assistenten",
|
||||
"chat.welcomeDescription": "Ich kann dir mit interaktiven Visualisierungen bei deinem Blog helfen. Frag mich zum Beispiel nach:",
|
||||
"chat.welcomeTipSearch": "Beiträgen zu einem bestimmten Thema",
|
||||
"chat.welcomeTipChart": "einem Diagramm der pro Monat veröffentlichten Beiträge",
|
||||
"chat.welcomeTipTable": "einem Tabellenvergleich meiner letzten Beiträge",
|
||||
"chat.welcomeTipMetadata": "Metadaten für Beiträge oder Medien",
|
||||
"chat.welcomeTipTabs": "Beitragsstatistiken pro Jahr in Tabs mit Diagrammen",
|
||||
"chat.role.you": "Du",
|
||||
"chat.role.assistant": "Assistent",
|
||||
"chat.inputPlaceholder": "Nachricht eingeben...",
|
||||
"chat.stop": "Stopp",
|
||||
"chat.cancelledSuffix": "(abgebrochen)",
|
||||
"gitDiff.changedFiles": "Geänderte Dateien",
|
||||
"sidebar.tags": "Schlagwörter",
|
||||
"sidebar.categories": "Kategorien",
|
||||
"sidebar.clearTags": "Tags löschen",
|
||||
|
||||
@@ -45,6 +45,43 @@
|
||||
"render.video.vimeoTitle": "Vimeo video",
|
||||
"render.video.youtubeTitle": "YouTube video",
|
||||
"sidebar.chat.yesterday": "Yesterday",
|
||||
"translationValidation.title": "Validate Translations",
|
||||
"translationValidation.summary": "Checked DB rows: %{dbRows} · Checked files: %{files} · Invalid DB rows: %{invalidDb} · Invalid files: %{invalidFiles}",
|
||||
"translationValidation.databaseTitle": "Invalid database translation rows",
|
||||
"translationValidation.filesystemTitle": "Invalid translation files on disk",
|
||||
"translationValidation.noneDatabase": "No invalid translation rows found.",
|
||||
"translationValidation.noneFilesystem": "No invalid translation files found.",
|
||||
"translationValidation.issue.sameLanguage": "Translation language matches canonical post language",
|
||||
"translationValidation.issue.missingSource": "Translation points to a missing source post",
|
||||
"translationValidation.issue.doNotTranslate": "Post is marked as do-not-translate but has translations",
|
||||
"translationValidation.issue.contentInDatabase": "Published translation has content stuck in DB instead of filesystem",
|
||||
"translationValidation.field.translationFor": "Source post",
|
||||
"translationValidation.field.translationId": "Translation row",
|
||||
"translationValidation.field.title": "Title",
|
||||
"translationValidation.field.languages": "Languages",
|
||||
"translationValidation.field.filePath": "File",
|
||||
"translationValidation.languagesWithCanonical": "%{canonical} = %{translation}",
|
||||
"translationValidation.revalidate": "Revalidate",
|
||||
"translationValidation.fix": "Fix Issues",
|
||||
"translationValidation.toast.fixSuccess": "Deleted %{dbRows} DB rows and %{files} files, flushed %{flushed} translations to disk",
|
||||
"chat.newChat": "New Chat",
|
||||
"chat.setupTitle": "AI Chat Setup",
|
||||
"chat.apiKeyRequiredTitle": "API Key Required",
|
||||
"chat.apiKeyRequiredDescription": "Configure an API key in Settings to enable AI chat.",
|
||||
"chat.openSettings": "Open Settings",
|
||||
"chat.welcomeTitle": "Welcome to the AI Assistant",
|
||||
"chat.welcomeDescription": "I can help you manage your blog with rich visualizations. Try asking me to:",
|
||||
"chat.welcomeTipSearch": "Search for posts about a specific topic",
|
||||
"chat.welcomeTipChart": "Show a chart of posts published per month",
|
||||
"chat.welcomeTipTable": "Compare my recent posts in a table",
|
||||
"chat.welcomeTipMetadata": "Update metadata for posts or media",
|
||||
"chat.welcomeTipTabs": "Show post statistics by year in tabs with charts",
|
||||
"chat.role.you": "You",
|
||||
"chat.role.assistant": "Assistant",
|
||||
"chat.inputPlaceholder": "Type a message...",
|
||||
"chat.stop": "Stop",
|
||||
"chat.cancelledSuffix": "(cancelled)",
|
||||
"gitDiff.changedFiles": "Changed files",
|
||||
"sidebar.tags": "Tags",
|
||||
"sidebar.categories": "Categories",
|
||||
"sidebar.clearTags": "Clear tags",
|
||||
|
||||
@@ -45,6 +45,43 @@
|
||||
"render.video.vimeoTitle": "Vídeo de Vimeo",
|
||||
"render.video.youtubeTitle": "Vídeo de YouTube",
|
||||
"sidebar.chat.yesterday": "Ayer",
|
||||
"translationValidation.title": "Validar traducciones",
|
||||
"translationValidation.summary": "Filas de BD revisadas: %{dbRows} · Archivos revisados: %{files} · Filas de BD inválidas: %{invalidDb} · Archivos inválidos: %{invalidFiles}",
|
||||
"translationValidation.databaseTitle": "Filas de traducción inválidas en la base de datos",
|
||||
"translationValidation.filesystemTitle": "Archivos de traducción inválidos en disco",
|
||||
"translationValidation.noneDatabase": "No se encontraron filas de traducción inválidas.",
|
||||
"translationValidation.noneFilesystem": "No se encontraron archivos de traducción inválidos.",
|
||||
"translationValidation.issue.sameLanguage": "El idioma de la traducción coincide con el idioma canónico de la entrada",
|
||||
"translationValidation.issue.missingSource": "La traducción apunta a una entrada de origen inexistente",
|
||||
"translationValidation.issue.doNotTranslate": "La entrada está marcada como no-traducir pero tiene traducciones",
|
||||
"translationValidation.issue.contentInDatabase": "Traducción publicada con contenido en la BD en lugar del sistema de archivos",
|
||||
"translationValidation.field.translationFor": "Entrada de origen",
|
||||
"translationValidation.field.translationId": "Fila de traducción",
|
||||
"translationValidation.field.title": "Título",
|
||||
"translationValidation.field.languages": "Idiomas",
|
||||
"translationValidation.field.filePath": "Archivo",
|
||||
"translationValidation.languagesWithCanonical": "%{canonical} = %{translation}",
|
||||
"translationValidation.revalidate": "Revalidar",
|
||||
"translationValidation.fix": "Corregir problemas",
|
||||
"translationValidation.toast.fixSuccess": "%{dbRows} filas de BD y %{files} archivos eliminados, %{flushed} traducciones escritas a disco",
|
||||
"chat.newChat": "Nuevo chat",
|
||||
"chat.setupTitle": "Configuración de chat IA",
|
||||
"chat.apiKeyRequiredTitle": "Clave API requerida",
|
||||
"chat.apiKeyRequiredDescription": "Configura una clave API en Ajustes para habilitar el chat de IA.",
|
||||
"chat.openSettings": "Abrir Ajustes",
|
||||
"chat.welcomeTitle": "Bienvenido al asistente de IA",
|
||||
"chat.welcomeDescription": "Puedo ayudarte a gestionar tu blog con visualizaciones interactivas. Prueba a pedirme que:",
|
||||
"chat.welcomeTipSearch": "Busque entradas sobre un tema específico",
|
||||
"chat.welcomeTipChart": "Muestre un gráfico de entradas publicadas por mes",
|
||||
"chat.welcomeTipTable": "Compare mis entradas recientes en una tabla",
|
||||
"chat.welcomeTipMetadata": "Actualice metadatos de entradas o medios",
|
||||
"chat.welcomeTipTabs": "Muestre estadísticas por año en pestañas con gráficos",
|
||||
"chat.role.you": "Tú",
|
||||
"chat.role.assistant": "Asistente",
|
||||
"chat.inputPlaceholder": "Escribe un mensaje...",
|
||||
"chat.stop": "Detener",
|
||||
"chat.cancelledSuffix": "(cancelado)",
|
||||
"gitDiff.changedFiles": "Archivos modificados",
|
||||
"sidebar.tags": "Etiquetas",
|
||||
"sidebar.categories": "Categorías",
|
||||
"sidebar.clearTags": "Limpiar etiquetas",
|
||||
|
||||
@@ -45,6 +45,43 @@
|
||||
"render.video.vimeoTitle": "Vidéo Vimeo",
|
||||
"render.video.youtubeTitle": "Vidéo YouTube",
|
||||
"sidebar.chat.yesterday": "Hier",
|
||||
"translationValidation.title": "Valider les traductions",
|
||||
"translationValidation.summary": "Lignes BD vérifiées : %{dbRows} · Fichiers vérifiés : %{files} · Lignes BD invalides : %{invalidDb} · Fichiers invalides : %{invalidFiles}",
|
||||
"translationValidation.databaseTitle": "Lignes de traduction invalides dans la base de données",
|
||||
"translationValidation.filesystemTitle": "Fichiers de traduction invalides sur le disque",
|
||||
"translationValidation.noneDatabase": "Aucune ligne de traduction invalide trouvée.",
|
||||
"translationValidation.noneFilesystem": "Aucun fichier de traduction invalide trouvé.",
|
||||
"translationValidation.issue.sameLanguage": "La langue de traduction correspond à la langue canonique de l’article",
|
||||
"translationValidation.issue.missingSource": "La traduction pointe vers un article source manquant",
|
||||
"translationValidation.issue.doNotTranslate": "L'article est marqué ne-pas-traduire mais a des traductions",
|
||||
"translationValidation.issue.contentInDatabase": "Traduction publiée avec contenu encore en base au lieu du système de fichiers",
|
||||
"translationValidation.field.translationFor": "Article source",
|
||||
"translationValidation.field.translationId": "Ligne de traduction",
|
||||
"translationValidation.field.title": "Titre",
|
||||
"translationValidation.field.languages": "Langues",
|
||||
"translationValidation.field.filePath": "Fichier",
|
||||
"translationValidation.languagesWithCanonical": "%{canonical} = %{translation}",
|
||||
"translationValidation.revalidate": "Revalider",
|
||||
"translationValidation.fix": "Corriger les problèmes",
|
||||
"translationValidation.toast.fixSuccess": "%{dbRows} lignes DB et %{files} fichiers supprimés, %{flushed} traductions écrites sur disque",
|
||||
"chat.newChat": "Nouveau chat",
|
||||
"chat.welcomeTitle": "Bienvenue dans l’assistant IA",
|
||||
"chat.welcomeDescription": "Je peux vous aider à gérer votre blog avec des visualisations riches. Essayez par exemple :",
|
||||
"chat.setupTitle": "Configuration du chat IA",
|
||||
"chat.apiKeyRequiredTitle": "Clé API requise",
|
||||
"chat.apiKeyRequiredDescription": "Configurez une clé API dans les Réglages pour activer le chat IA.",
|
||||
"chat.openSettings": "Ouvrir les Réglages",
|
||||
"chat.welcomeTipSearch": "Rechercher des articles sur un sujet précis",
|
||||
"chat.welcomeTipChart": "Afficher un graphique des articles publiés par mois",
|
||||
"chat.welcomeTipTable": "Comparer mes derniers articles dans un tableau",
|
||||
"chat.welcomeTipMetadata": "Mettre à jour les métadonnées des articles ou médias",
|
||||
"chat.welcomeTipTabs": "Afficher les statistiques par année dans des onglets avec graphiques",
|
||||
"chat.role.you": "Vous",
|
||||
"chat.role.assistant": "Assistant IA",
|
||||
"chat.inputPlaceholder": "Saisissez un message...",
|
||||
"chat.stop": "Arrêter",
|
||||
"chat.cancelledSuffix": "(annulé)",
|
||||
"gitDiff.changedFiles": "Fichiers modifiés",
|
||||
"sidebar.tags": "Étiquettes",
|
||||
"sidebar.categories": "Catégories",
|
||||
"sidebar.clearTags": "Effacer les étiquettes",
|
||||
|
||||
@@ -45,6 +45,43 @@
|
||||
"render.video.vimeoTitle": "Video Vimeo",
|
||||
"render.video.youtubeTitle": "Video YouTube",
|
||||
"sidebar.chat.yesterday": "Ieri",
|
||||
"translationValidation.title": "Valida traduzioni",
|
||||
"translationValidation.summary": "Righe DB controllate: %{dbRows} · File controllati: %{files} · Righe DB non valide: %{invalidDb} · File non validi: %{invalidFiles}",
|
||||
"translationValidation.databaseTitle": "Righe di traduzione non valide nel database",
|
||||
"translationValidation.filesystemTitle": "File di traduzione non validi sul disco",
|
||||
"translationValidation.noneDatabase": "Nessuna riga di traduzione non valida trovata.",
|
||||
"translationValidation.noneFilesystem": "Nessun file di traduzione non valido trovato.",
|
||||
"translationValidation.issue.sameLanguage": "La lingua della traduzione coincide con la lingua canonica del post",
|
||||
"translationValidation.issue.missingSource": "La traduzione punta a un post sorgente mancante",
|
||||
"translationValidation.issue.doNotTranslate": "Il post è contrassegnato come non-tradurre ma ha traduzioni",
|
||||
"translationValidation.issue.contentInDatabase": "Traduzione pubblicata con contenuto nel DB invece del filesystem",
|
||||
"translationValidation.field.translationFor": "Post sorgente",
|
||||
"translationValidation.field.translationId": "Riga traduzione",
|
||||
"translationValidation.field.title": "Titolo",
|
||||
"translationValidation.field.languages": "Lingue",
|
||||
"translationValidation.field.filePath": "File",
|
||||
"translationValidation.languagesWithCanonical": "%{canonical} = %{translation}",
|
||||
"translationValidation.revalidate": "Rivalidare",
|
||||
"translationValidation.fix": "Correggi problemi",
|
||||
"translationValidation.toast.fixSuccess": "%{dbRows} righe DB e %{files} file eliminati, %{flushed} traduzioni scritte su disco",
|
||||
"chat.newChat": "Nuova chat",
|
||||
"chat.setupTitle": "Configurazione chat IA",
|
||||
"chat.apiKeyRequiredTitle": "Chiave API richiesta",
|
||||
"chat.apiKeyRequiredDescription": "Configura una chiave API nelle Impostazioni per abilitare la chat IA.",
|
||||
"chat.openSettings": "Apri Impostazioni",
|
||||
"chat.welcomeTitle": "Benvenuto nell’assistente IA",
|
||||
"chat.welcomeDescription": "Posso aiutarti a gestire il tuo blog con visualizzazioni interattive. Prova a chiedermi di:",
|
||||
"chat.welcomeTipSearch": "Cercare post su un argomento specifico",
|
||||
"chat.welcomeTipChart": "Mostrare un grafico dei post pubblicati per mese",
|
||||
"chat.welcomeTipTable": "Confrontare i miei post recenti in una tabella",
|
||||
"chat.welcomeTipMetadata": "Aggiornare i metadati di post o media",
|
||||
"chat.welcomeTipTabs": "Mostrare statistiche per anno in schede con grafici",
|
||||
"chat.role.you": "Tu",
|
||||
"chat.role.assistant": "Assistente",
|
||||
"chat.inputPlaceholder": "Scrivi un messaggio...",
|
||||
"chat.stop": "Ferma",
|
||||
"chat.cancelledSuffix": "(annullato)",
|
||||
"gitDiff.changedFiles": "File modificati",
|
||||
"sidebar.tags": "Tag",
|
||||
"sidebar.categories": "Categorie",
|
||||
"sidebar.clearTags": "Cancella tag",
|
||||
|
||||
+1703
-106
File diff suppressed because it is too large.
Load diff
+651
-109
@@ -155,90 +155,314 @@ document.addEventListener("DOMContentLoaded", () => {
|
||||
};
|
||||
};
|
||||
|
||||
const escapeHtml = (value) =>
|
||||
String(value || "")
|
||||
.replace(/&/g, "&")
|
||||
.replace(/</g, "<")
|
||||
.replace(/>/g, ">")
|
||||
.replace(/"/g, """)
|
||||
.replace(/'/g, "'");
|
||||
let monacoLoaderPromise;
|
||||
let liquidLanguageRegistered = false;
|
||||
let markdownWithMacrosRegistered = false;
|
||||
let monacoThemeSignature = null;
|
||||
|
||||
const stashTokens = (source, pattern, className, tokens) =>
|
||||
source.replace(pattern, (match) => {
|
||||
const marker = `@@token_${tokens.length}@@`;
|
||||
tokens.push(`<span class="${className}">${match}</span>`);
|
||||
return marker;
|
||||
const cssVar = (name, fallback) => {
|
||||
const value = window.getComputedStyle(document.documentElement).getPropertyValue(name).trim();
|
||||
return value || fallback;
|
||||
};
|
||||
|
||||
const parseRgbColor = (value) => {
|
||||
if (!value) {
|
||||
return null;
|
||||
}
|
||||
|
||||
const hex = value.match(/^#([0-9a-f]{6})$/i);
|
||||
|
||||
if (hex) {
|
||||
return {
|
||||
r: Number.parseInt(hex[1].slice(0, 2), 16),
|
||||
g: Number.parseInt(hex[1].slice(2, 4), 16),
|
||||
b: Number.parseInt(hex[1].slice(4, 6), 16)
|
||||
};
|
||||
}
|
||||
|
||||
const rgb = value.match(/^rgba?\((\d+),\s*(\d+),\s*(\d+)/i);
|
||||
|
||||
if (!rgb) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return {
|
||||
r: Number.parseInt(rgb[1], 10),
|
||||
g: Number.parseInt(rgb[2], 10),
|
||||
b: Number.parseInt(rgb[3], 10)
|
||||
};
|
||||
};
|
||||
|
||||
const colorIsDark = (value) => {
|
||||
const rgb = parseRgbColor(value);
|
||||
|
||||
if (!rgb) {
|
||||
return true;
|
||||
}
|
||||
|
||||
const luminance = (0.299 * rgb.r + 0.587 * rgb.g + 0.114 * rgb.b) / 255;
|
||||
return luminance < 0.5;
|
||||
};
|
||||
|
||||
const loadScript = (src) =>
|
||||
new Promise((resolve, reject) => {
|
||||
const existing = document.querySelector(`script[src="${src}"]`);
|
||||
|
||||
if (existing) {
|
||||
if (existing.dataset.loaded === "true") {
|
||||
resolve();
|
||||
return;
|
||||
}
|
||||
|
||||
existing.addEventListener("load", () => resolve(), { once: true });
|
||||
existing.addEventListener("error", () => reject(new Error(`Failed to load ${src}`)), {
|
||||
once: true
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
const script = document.createElement("script");
|
||||
script.src = src;
|
||||
script.async = true;
|
||||
script.addEventListener(
|
||||
"load",
|
||||
() => {
|
||||
script.dataset.loaded = "true";
|
||||
resolve();
|
||||
},
|
||||
{ once: true }
|
||||
);
|
||||
script.addEventListener("error", () => reject(new Error(`Failed to load ${src}`)), {
|
||||
once: true
|
||||
});
|
||||
document.head.appendChild(script);
|
||||
});
|
||||
|
||||
const restoreTokens = (source, tokens) =>
|
||||
tokens.reduce((html, token, index) => html.replaceAll(`@@token_${index}@@`, token), source);
|
||||
|
||||
const highlightCodeLine = (line, language) => {
|
||||
const tokens = [];
|
||||
let html = escapeHtml(line);
|
||||
|
||||
html = stashTokens(html, /#.*/g, "token-comment", tokens);
|
||||
html = stashTokens(html, /"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*'/g, "token-string", tokens);
|
||||
html = html.replace(/\b\d+(?:\.\d+)?\b/g, '<span class="token-number">$&</span>');
|
||||
|
||||
if (language === "elixir") {
|
||||
html = html.replace(/:\w+[!?]?/g, '<span class="token-atom">$&</span>');
|
||||
html = html.replace(
|
||||
/\b(?:defp?|do|end|fn|case|cond|if|else|with|when|receive|after|rescue|catch|try|use|alias|import|require|quote|unquote|for|in)\b/g,
|
||||
'<span class="token-keyword">$&</span>'
|
||||
);
|
||||
html = html.replace(/\b[A-Z][A-Za-z0-9_.]*\b/g, '<span class="token-module">$&</span>');
|
||||
}
|
||||
|
||||
return `<span class="md-code-line">${restoreTokens(html, tokens)}</span>`;
|
||||
const diffModelPath = (filePath, side) => {
|
||||
const normalized = String(filePath || "working-tree").replace(/^\/+/, "");
|
||||
return `inmemory://model/git-diff/${side}/${normalized}`;
|
||||
};
|
||||
|
||||
const highlightMarkdownLine = (line) => {
|
||||
let html = escapeHtml(line);
|
||||
|
||||
if (/^\s{0,3}#{1,6}\s/.test(line)) {
|
||||
html = html.replace(/^((?:\s{0,3}#{1,6}))(\s+)(.*)$/, '<span class="md-heading-marker">$1</span>$2<span class="md-heading-text">$3</span>');
|
||||
} else if (/^\s*>\s?/.test(html)) {
|
||||
html = html.replace(/^(\s*>)(\s?)(.*)$/, '<span class="md-quote-marker">$1</span>$2<span class="md-quote-text">$3</span>');
|
||||
} else if (/^\s*(?:[-*+]|\d+\.)\s+/.test(line)) {
|
||||
html = html.replace(/^(\s*(?:[-*+]|\d+\.))(\s+)(.*)$/, '<span class="md-list-marker">$1</span>$2<span class="md-list-text">$3</span>');
|
||||
const registerLiquidLanguage = (monaco) => {
|
||||
if (liquidLanguageRegistered) {
|
||||
return;
|
||||
}
|
||||
|
||||
html = html.replace(/(`[^`]+`)/g, '<span class="md-inline-code">$1</span>');
|
||||
html = html.replace(/(\[[^\]]+\]\([^\)]+\))/g, '<span class="md-link">$1</span>');
|
||||
html = html.replace(/(\*\*[^*]+\*\*)/g, '<span class="md-strong">$1</span>');
|
||||
html = html.replace(/(^|[^*])(\*[^*\n]+\*)/g, '$1<span class="md-emphasis">$2</span>');
|
||||
monaco.languages.register({ id: "liquid" });
|
||||
monaco.languages.setLanguageConfiguration("liquid", {
|
||||
comments: {
|
||||
blockComment: ["{% comment %}", "{% endcomment %}"]
|
||||
},
|
||||
brackets: [
|
||||
["{", "}"],
|
||||
["[", "]"],
|
||||
["(", ")"]
|
||||
],
|
||||
autoClosingPairs: [
|
||||
{ open: "{", close: "}" },
|
||||
{ open: "[", close: "]" },
|
||||
{ open: "(", close: ")" },
|
||||
{ open: '"', close: '"' },
|
||||
{ open: "'", close: "'" }
|
||||
],
|
||||
surroundingPairs: [
|
||||
{ open: "{", close: "}" },
|
||||
{ open: "[", close: "]" },
|
||||
{ open: "(", close: ")" },
|
||||
{ open: '"', close: '"' },
|
||||
{ open: "'", close: "'" }
|
||||
]
|
||||
});
|
||||
|
||||
return html;
|
||||
monaco.languages.setMonarchTokensProvider("liquid", {
|
||||
defaultToken: "",
|
||||
tokenizer: {
|
||||
root: [
|
||||
[/\{\{-?/, { token: "delimiter.output", next: "@liquidOutput" }],
|
||||
[/\{%-?\s*comment\b[^%]*-?%\}/, { token: "comment.block", next: "@liquidComment" }],
|
||||
[/\{%-?/, { token: "delimiter.tag", next: "@liquidTag" }],
|
||||
[/<!DOCTYPE/i, "metatag"],
|
||||
[/<!--/, { token: "comment", next: "@htmlComment" }],
|
||||
[/(<)(script)/i, ["delimiter.html", "tag.html"], "@scriptTag"],
|
||||
[/(<)(style)/i, ["delimiter.html", "tag.html"], "@styleTag"],
|
||||
[/(<\/)([\w:-]+)/, ["delimiter.html", "tag.html"]],
|
||||
[/(<)([\w:-]+)/, ["delimiter.html", "tag.html"], "@htmlTag"],
|
||||
[/[^<{]+/, ""],
|
||||
[/./, ""]
|
||||
],
|
||||
liquidOutput: [
|
||||
[/-?\}\}/, { token: "delimiter.output", next: "@pop" }],
|
||||
[/\|\s*[a-zA-Z_][\w-]*/, "keyword"],
|
||||
[/\b(?:true|false|nil|blank|empty)\b/, "keyword"],
|
||||
[/\b\d+(?:\.\d+)?\b/, "number"],
|
||||
[/"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*'/, "string"],
|
||||
[/[a-zA-Z_][\w.-]*/, "identifier"],
|
||||
[/[,:()[\]]/, "delimiter"]
|
||||
],
|
||||
liquidTag: [
|
||||
[/-?%\}/, { token: "delimiter.tag", next: "@pop" }],
|
||||
[/\b(?:assign|capture|case|comment|cycle|decrement|echo|elsif|else|endcase|endcapture|endif|endfor|endunless|endcomment|for|if|include|increment|liquid|paginate|raw|render|tablerow|unless|when)\b/, "keyword"],
|
||||
[/\|\s*[a-zA-Z_][\w-]*/, "keyword"],
|
||||
[/\b(?:true|false|nil|blank|empty|contains)\b/, "keyword"],
|
||||
[/\b\d+(?:\.\d+)?\b/, "number"],
|
||||
[/"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*'/, "string"],
|
||||
[/[><=!]=?|\.|:/, "operator"],
|
||||
[/[a-zA-Z_][\w.-]*/, "identifier"],
|
||||
[/[,:()[\]]/, "delimiter"]
|
||||
],
|
||||
liquidComment: [
|
||||
[/\{%-?\s*endcomment\s*-?%\}/, { token: "comment.block", next: "@pop" }],
|
||||
[/./, "comment.block"]
|
||||
],
|
||||
htmlComment: [
|
||||
[/-->/, { token: "comment", next: "@pop" }],
|
||||
[/./, "comment"]
|
||||
],
|
||||
htmlTag: [
|
||||
[/\/>/, { token: "delimiter.html", next: "@pop" }],
|
||||
[/>/, { token: "delimiter.html", next: "@pop" }],
|
||||
[/"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*'/, "attribute.value"],
|
||||
[/[\w:-]+/, "attribute.name"],
|
||||
[/=/, "delimiter"]
|
||||
],
|
||||
scriptTag: [
|
||||
[/>/, { token: "delimiter.html", next: "@pop" }],
|
||||
[/"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*'/, "attribute.value"],
|
||||
[/[\w:-]+/, "attribute.name"],
|
||||
[/=/, "delimiter"]
|
||||
],
|
||||
styleTag: [
|
||||
[/>/, { token: "delimiter.html", next: "@pop" }],
|
||||
[/"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*'/, "attribute.value"],
|
||||
[/[\w:-]+/, "attribute.name"],
|
||||
[/=/, "delimiter"]
|
||||
]
|
||||
}
|
||||
});
|
||||
|
||||
liquidLanguageRegistered = true;
|
||||
};
|
||||
|
||||
const highlightMarkdownSource = (source) => {
|
||||
const lines = String(source || "").split("\n");
|
||||
let inFence = false;
|
||||
let fenceLanguage = "";
|
||||
|
||||
return lines
|
||||
.map((line) => {
|
||||
const trimmed = line.trimStart();
|
||||
|
||||
if (trimmed.startsWith("```")) {
|
||||
const nextLanguage = trimmed.slice(3).trim().toLowerCase();
|
||||
const highlightedFence = `<span class="md-fence">${escapeHtml(line)}</span>`;
|
||||
|
||||
if (!inFence) {
|
||||
inFence = true;
|
||||
fenceLanguage = nextLanguage;
|
||||
} else {
|
||||
inFence = false;
|
||||
fenceLanguage = "";
|
||||
const registerMarkdownWithMacrosLanguage = (monaco) => {
|
||||
if (markdownWithMacrosRegistered) {
|
||||
return;
|
||||
}
|
||||
|
||||
return highlightedFence;
|
||||
monaco.languages.register({ id: "markdown-with-macros" });
|
||||
monaco.languages.setMonarchTokensProvider("markdown-with-macros", {
|
||||
defaultToken: "",
|
||||
tokenPostfix: ".md",
|
||||
tokenizer: {
|
||||
root: [
|
||||
[/\[\[[a-zA-Z][\w-]*/, { token: "keyword.macro", next: "@macroParams" }],
|
||||
[/^#{1,6}\s.*$/, "keyword.header"],
|
||||
[/^\s*>+/, "string.quote"],
|
||||
[/^\s*[-+*]\s/, "keyword"],
|
||||
[/^\s*\d+\.\s/, "keyword"],
|
||||
[/^\s*```\w*/, { token: "string.code", next: "@codeblock" }],
|
||||
[/\*\*[^*]+\*\*/, "strong"],
|
||||
[/\*[^*]+\*/, "emphasis"],
|
||||
[/__[^_]+__/, "strong"],
|
||||
[/_[^_]+_/, "emphasis"],
|
||||
[/`[^`]+`/, "variable"],
|
||||
[/!?\[[^\]]*\]\([^)]*\)/, "string.link"],
|
||||
[/!?\[[^\]]*\]\[[^\]]*\]/, "string.link"]
|
||||
],
|
||||
macroParams: [
|
||||
[/\]\]/, { token: "keyword.macro", next: "@root" }],
|
||||
[/[a-zA-Z][\w-]*(?=\s*=)/, "attribute.name"],
|
||||
[/=/, "delimiter"],
|
||||
[/"[^"]*"/, "string"],
|
||||
[/\s+/, "white"],
|
||||
[/[^\]"=\s]+/, "attribute.value"]
|
||||
],
|
||||
codeblock: [
|
||||
[/^\s*```\s*$/, { token: "string.code", next: "@root" }],
|
||||
[/.*$/, "variable.source"]
|
||||
]
|
||||
}
|
||||
});
|
||||
|
||||
markdownWithMacrosRegistered = true;
|
||||
};
|
||||
|
||||
const ensureMonacoTheme = (monaco) => {
|
||||
const background = cssVar("--vscode-editor-background", cssVar("--vscode-input-background", "#1e1e1e"));
|
||||
const foreground = cssVar("--vscode-editor-foreground", "#d4d4d4");
|
||||
const lineNumber = cssVar("--vscode-editorLineNumber-foreground", "#858585");
|
||||
const activeLineNumber = cssVar("--vscode-editorLineNumber-activeForeground", foreground);
|
||||
const selection = cssVar("--vscode-editor-selectionBackground", "#264f78");
|
||||
const inactiveSelection = cssVar("--vscode-editor-inactiveSelectionBackground", "#3a3d41");
|
||||
const cursor = cssVar("--vscode-editorCursor-foreground", foreground);
|
||||
const border = cssVar("--vscode-panel-border", "#3c3c3c");
|
||||
const signature = [background, foreground, lineNumber, activeLineNumber, selection, inactiveSelection, cursor, border].join("|");
|
||||
|
||||
if (signature === monacoThemeSignature) {
|
||||
monaco.editor.setTheme("bds-theme");
|
||||
return;
|
||||
}
|
||||
|
||||
return inFence ? highlightCodeLine(line, fenceLanguage) : highlightMarkdownLine(line);
|
||||
monaco.editor.defineTheme("bds-theme", {
|
||||
base: colorIsDark(background) ? "vs-dark" : "vs",
|
||||
inherit: true,
|
||||
rules: [
|
||||
{ token: "keyword.macro", foreground: "C586C0", fontStyle: "bold" },
|
||||
{ token: "attribute.name", foreground: "9CDCFE" },
|
||||
{ token: "attribute.value", foreground: "CE9178" }
|
||||
],
|
||||
colors: {
|
||||
"editor.background": background,
|
||||
"editor.foreground": foreground,
|
||||
"editor.lineHighlightBackground": cssVar("--vscode-editor-lineHighlightBackground", background),
|
||||
"editorCursor.foreground": cursor,
|
||||
"editor.selectionBackground": selection,
|
||||
"editor.inactiveSelectionBackground": inactiveSelection,
|
||||
"editorLineNumber.foreground": lineNumber,
|
||||
"editorLineNumber.activeForeground": activeLineNumber,
|
||||
"editorIndentGuide.background1": border,
|
||||
"editorIndentGuide.activeBackground1": foreground,
|
||||
"editorWidget.border": border,
|
||||
"editorGutter.background": background,
|
||||
"focusBorder": border,
|
||||
"input.border": border
|
||||
}
|
||||
});
|
||||
|
||||
monacoThemeSignature = signature;
|
||||
monaco.editor.setTheme("bds-theme");
|
||||
};
|
||||
|
||||
const loadMonaco = () => {
|
||||
if (window.monaco?.editor) {
|
||||
ensureMonacoTheme(window.monaco);
|
||||
registerLiquidLanguage(window.monaco);
|
||||
registerMarkdownWithMacrosLanguage(window.monaco);
|
||||
return Promise.resolve(window.monaco);
|
||||
}
|
||||
|
||||
if (monacoLoaderPromise) {
|
||||
return monacoLoaderPromise;
|
||||
}
|
||||
|
||||
monacoLoaderPromise = loadScript("/assets/monaco/vs/loader.js")
|
||||
.then(
|
||||
() =>
|
||||
new Promise((resolve, reject) => {
|
||||
window.require.config({ paths: { vs: "/assets/monaco/vs" } });
|
||||
window.require(["vs/editor/editor.main"], () => {
|
||||
ensureMonacoTheme(window.monaco);
|
||||
registerLiquidLanguage(window.monaco);
|
||||
registerMarkdownWithMacrosLanguage(window.monaco);
|
||||
resolve(window.monaco);
|
||||
}, reject);
|
||||
})
|
||||
.join("\n");
|
||||
)
|
||||
.catch((error) => {
|
||||
monacoLoaderPromise = null;
|
||||
throw error;
|
||||
});
|
||||
|
||||
return monacoLoaderPromise;
|
||||
};
|
||||
|
||||
const Hooks = {
|
||||
@@ -459,70 +683,388 @@ document.addEventListener("DOMContentLoaded", () => {
|
||||
}
|
||||
},
|
||||
|
||||
PostEditorContent: {
|
||||
ChatSurface: {
|
||||
mounted() {
|
||||
this.textarea = this.el.querySelector("textarea");
|
||||
this.highlight = this.el.querySelector(".post-editor-markdown-highlight");
|
||||
this.stickToBottom = true;
|
||||
this.scrollContainer = null;
|
||||
|
||||
this.renderHighlight = () => {
|
||||
if (!this.textarea || !this.highlight) {
|
||||
this.autoResize = () => {
|
||||
const textarea = this.el.querySelector(".chat-input");
|
||||
|
||||
if (!textarea) {
|
||||
return;
|
||||
}
|
||||
|
||||
this.highlight.innerHTML = `${highlightMarkdownSource(this.textarea.value)}\n`;
|
||||
this.highlight.scrollTop = this.textarea.scrollTop;
|
||||
this.highlight.scrollLeft = this.textarea.scrollLeft;
|
||||
textarea.style.height = "auto";
|
||||
textarea.style.height = `${Math.min(textarea.scrollHeight, 200)}px`;
|
||||
};
|
||||
|
||||
this.syncScrollContainer = () => {
|
||||
const nextContainer = this.el.querySelector(".chat-messages");
|
||||
|
||||
if (nextContainer === this.scrollContainer) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (this.scrollContainer) {
|
||||
this.scrollContainer.removeEventListener("scroll", this.handleScroll);
|
||||
}
|
||||
|
||||
this.scrollContainer = nextContainer;
|
||||
|
||||
if (this.scrollContainer) {
|
||||
this.scrollContainer.addEventListener("scroll", this.handleScroll);
|
||||
}
|
||||
};
|
||||
|
||||
this.scrollToBottom = (force = false) => {
|
||||
if (!this.scrollContainer) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (force || this.stickToBottom) {
|
||||
this.scrollContainer.scrollTop = this.scrollContainer.scrollHeight;
|
||||
}
|
||||
};
|
||||
|
||||
this.handleInput = () => this.renderHighlight();
|
||||
this.handleScroll = () => {
|
||||
if (!this.textarea || !this.highlight) {
|
||||
if (!this.scrollContainer) {
|
||||
this.stickToBottom = true;
|
||||
return;
|
||||
}
|
||||
|
||||
this.highlight.scrollTop = this.textarea.scrollTop;
|
||||
this.highlight.scrollLeft = this.textarea.scrollLeft;
|
||||
const distanceFromBottom =
|
||||
this.scrollContainer.scrollHeight -
|
||||
this.scrollContainer.scrollTop -
|
||||
this.scrollContainer.clientHeight;
|
||||
|
||||
this.stickToBottom = distanceFromBottom < 48;
|
||||
};
|
||||
|
||||
this.handleInsert = ({ id, content }) => {
|
||||
if (!this.textarea || !content || String(id) !== String(this.el.dataset.postEditorId)) {
|
||||
this.handleInput = (event) => {
|
||||
if (!event.target.closest(".chat-input")) {
|
||||
return;
|
||||
}
|
||||
|
||||
const start = this.textarea.selectionStart ?? this.textarea.value.length;
|
||||
const end = this.textarea.selectionEnd ?? start;
|
||||
const before = this.textarea.value.slice(0, start);
|
||||
const after = this.textarea.value.slice(end);
|
||||
const separator = before !== "" && !before.endsWith("\n") ? "\n" : "";
|
||||
const suffix = after !== "" && !content.endsWith("\n") ? "\n" : "";
|
||||
const inserted = `${separator}${content}${suffix}`;
|
||||
const nextValue = `${before}${inserted}${after}`;
|
||||
|
||||
this.textarea.focus();
|
||||
this.textarea.value = nextValue;
|
||||
|
||||
const caret = before.length + inserted.length;
|
||||
this.textarea.setSelectionRange(caret, caret);
|
||||
this.textarea.dispatchEvent(new Event("input", { bubbles: true }));
|
||||
this.textarea.dispatchEvent(new Event("change", { bubbles: true }));
|
||||
this.stickToBottom = true;
|
||||
this.autoResize();
|
||||
};
|
||||
|
||||
this.el.classList.add("is-enhanced");
|
||||
this.textarea?.addEventListener("input", this.handleInput);
|
||||
this.textarea?.addEventListener("scroll", this.handleScroll);
|
||||
this.handleEvent("post-editor-insert-content", this.handleInsert);
|
||||
this.renderHighlight();
|
||||
this.handleKeyDown = (event) => {
|
||||
if (!event.target.closest(".chat-input")) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (event.key === "Enter" && !event.shiftKey && !event.isComposing) {
|
||||
event.preventDefault();
|
||||
|
||||
const sendButton = this.el.querySelector("[data-testid='chat-send-button']");
|
||||
|
||||
if (sendButton && !sendButton.disabled) {
|
||||
sendButton.click();
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
this.el.addEventListener("input", this.handleInput);
|
||||
this.el.addEventListener("keydown", this.handleKeyDown);
|
||||
|
||||
this.syncScrollContainer();
|
||||
this.autoResize();
|
||||
window.requestAnimationFrame(() => this.scrollToBottom(true));
|
||||
},
|
||||
|
||||
updated() {
|
||||
this.textarea = this.el.querySelector("textarea");
|
||||
this.highlight = this.el.querySelector(".post-editor-markdown-highlight");
|
||||
this.renderHighlight();
|
||||
this.syncScrollContainer();
|
||||
this.autoResize();
|
||||
window.requestAnimationFrame(() => this.scrollToBottom());
|
||||
},
|
||||
|
||||
destroyed() {
|
||||
this.textarea?.removeEventListener("input", this.handleInput);
|
||||
this.textarea?.removeEventListener("scroll", this.handleScroll);
|
||||
this.el.removeEventListener("input", this.handleInput);
|
||||
this.el.removeEventListener("keydown", this.handleKeyDown);
|
||||
|
||||
if (this.scrollContainer) {
|
||||
this.scrollContainer.removeEventListener("scroll", this.handleScroll);
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
MonacoEditor: {
|
||||
mounted() {
|
||||
this.textarea = document.getElementById(this.el.dataset.monacoInputId) || this.el.querySelector("textarea");
|
||||
this.host = this.el.querySelector(".monaco-editor-instance");
|
||||
this.language = this.el.dataset.monacoLanguage || "plaintext";
|
||||
this.wordWrap = this.el.dataset.monacoWordWrap || "off";
|
||||
this.editorId = this.el.dataset.monacoEditorId || "";
|
||||
this.insertEvent = this.el.dataset.monacoInsertEvent || "";
|
||||
this.syncTimer = null;
|
||||
this.isApplyingRemoteUpdate = false;
|
||||
this.lastKnownValue = this.textarea?.value || "";
|
||||
|
||||
this.queueSync = () => {
|
||||
if (!this.textarea || !this.editor) {
|
||||
return;
|
||||
}
|
||||
|
||||
window.clearTimeout(this.syncTimer);
|
||||
this.syncTimer = window.setTimeout(() => {
|
||||
if (!this.textarea || !this.editor) {
|
||||
return;
|
||||
}
|
||||
|
||||
const value = this.editor.getValue();
|
||||
|
||||
if (this.textarea.value === value) {
|
||||
return;
|
||||
}
|
||||
|
||||
this.lastKnownValue = value;
|
||||
this.textarea.value = value;
|
||||
this.textarea.dispatchEvent(new Event("input", { bubbles: true }));
|
||||
}, 120);
|
||||
};
|
||||
|
||||
this.handleInsert = ({ id, content }) => {
|
||||
if (!this.editor || !content || String(id) !== String(this.editorId)) {
|
||||
return;
|
||||
}
|
||||
|
||||
const model = this.editor.getModel();
|
||||
const selection = this.editor.getSelection();
|
||||
|
||||
if (!model || !selection) {
|
||||
return;
|
||||
}
|
||||
|
||||
const value = this.editor.getValue();
|
||||
const start = model.getOffsetAt(selection.getStartPosition());
|
||||
const end = model.getOffsetAt(selection.getEndPosition());
|
||||
const before = value.slice(0, start);
|
||||
const after = value.slice(end);
|
||||
const separator = before !== "" && !before.endsWith("\n") ? "\n" : "";
|
||||
const suffix = after !== "" && !content.endsWith("\n") ? "\n" : "";
|
||||
const inserted = `${separator}${content}${suffix}`;
|
||||
this.editor.executeEdits("bds-insert-content", [
|
||||
{
|
||||
range: selection,
|
||||
text: inserted,
|
||||
forceMoveMarkers: true
|
||||
}
|
||||
]);
|
||||
this.editor.focus();
|
||||
};
|
||||
|
||||
loadMonaco()
|
||||
.then((monaco) => {
|
||||
if (!this.host || !this.textarea) {
|
||||
return;
|
||||
}
|
||||
|
||||
ensureMonacoTheme(monaco);
|
||||
|
||||
this.editor = monaco.editor.create(this.host, {
|
||||
value: this.textarea.value || "",
|
||||
language: this.language,
|
||||
theme: "bds-theme",
|
||||
automaticLayout: true,
|
||||
minimap: { enabled: false },
|
||||
scrollBeyondLastLine: false,
|
||||
wordWrap: this.wordWrap,
|
||||
lineNumbers: "on",
|
||||
lineNumbersMinChars: 3,
|
||||
fontSize: 14,
|
||||
fontFamily: "'Cascadia Code', 'Consolas', 'Courier New', monospace",
|
||||
padding: { top: 12, bottom: 12 },
|
||||
roundedSelection: false,
|
||||
renderLineHighlight: "line",
|
||||
formatOnPaste: true,
|
||||
cursorStyle: "line",
|
||||
cursorBlinking: "smooth",
|
||||
quickSuggestions: this.language === "markdown-with-macros" ? false : true,
|
||||
tabSize: 2,
|
||||
insertSpaces: true
|
||||
});
|
||||
|
||||
this.changeSubscription = this.editor.onDidChangeModelContent(() => {
|
||||
if (this.isApplyingRemoteUpdate) {
|
||||
return;
|
||||
}
|
||||
|
||||
this.queueSync();
|
||||
});
|
||||
|
||||
if (this.insertEvent) {
|
||||
this.handleEvent(this.insertEvent, this.handleInsert);
|
||||
}
|
||||
})
|
||||
.catch((error) => {
|
||||
console.error("Failed to load Monaco editor", error);
|
||||
});
|
||||
},
|
||||
|
||||
updated() {
|
||||
this.textarea = document.getElementById(this.el.dataset.monacoInputId) || this.el.querySelector("textarea");
|
||||
this.host = this.el.querySelector(".monaco-editor-instance");
|
||||
this.language = this.el.dataset.monacoLanguage || this.language || "plaintext";
|
||||
this.wordWrap = this.el.dataset.monacoWordWrap || this.wordWrap || "off";
|
||||
|
||||
if (!this.editor || !this.textarea) {
|
||||
return;
|
||||
}
|
||||
|
||||
loadMonaco().then((monaco) => {
|
||||
ensureMonacoTheme(monaco);
|
||||
monaco.editor.setTheme("bds-theme");
|
||||
|
||||
if (this.editor.getModel()?.getLanguageId() !== this.language) {
|
||||
monaco.editor.setModelLanguage(this.editor.getModel(), this.language);
|
||||
}
|
||||
|
||||
this.editor.updateOptions({ wordWrap: this.wordWrap });
|
||||
});
|
||||
|
||||
if (this.editor.getValue() !== this.textarea.value && this.lastKnownValue !== this.textarea.value) {
|
||||
this.isApplyingRemoteUpdate = true;
|
||||
this.editor.setValue(this.textarea.value);
|
||||
this.isApplyingRemoteUpdate = false;
|
||||
}
|
||||
|
||||
this.lastKnownValue = this.textarea.value;
|
||||
},
|
||||
|
||||
destroyed() {
|
||||
window.clearTimeout(this.syncTimer);
|
||||
this.changeSubscription?.dispose();
|
||||
this.editor?.dispose();
|
||||
}
|
||||
},
|
||||
|
||||
MonacoDiffEditor: {
|
||||
mounted() {
|
||||
this.host = this.el.querySelector(".monaco-diff-editor-instance");
|
||||
this.originalInput = this.el.querySelector(".monaco-diff-original");
|
||||
this.modifiedInput = this.el.querySelector(".monaco-diff-modified");
|
||||
this.filePath = this.el.dataset.monacoDiffFilePath || "working-tree";
|
||||
this.language = this.el.dataset.monacoDiffLanguage || "plaintext";
|
||||
this.viewStyle = this.el.dataset.monacoDiffViewStyle || "inline";
|
||||
this.wordWrap = this.el.dataset.monacoDiffWordWrap || "off";
|
||||
this.hideUnchanged = this.el.dataset.monacoDiffHideUnchanged === "true";
|
||||
|
||||
this.readValues = () => ({
|
||||
original: this.originalInput?.value || "",
|
||||
modified: this.modifiedInput?.value || ""
|
||||
});
|
||||
|
||||
this.applyDataset = () => {
|
||||
this.filePath = this.el.dataset.monacoDiffFilePath || "working-tree";
|
||||
this.language = this.el.dataset.monacoDiffLanguage || "plaintext";
|
||||
this.viewStyle = this.el.dataset.monacoDiffViewStyle || "inline";
|
||||
this.wordWrap = this.el.dataset.monacoDiffWordWrap || "off";
|
||||
this.hideUnchanged = this.el.dataset.monacoDiffHideUnchanged === "true";
|
||||
};
|
||||
|
||||
this.setModels = (monaco) => {
|
||||
const values = this.readValues();
|
||||
|
||||
this.originalModel?.dispose();
|
||||
this.modifiedModel?.dispose();
|
||||
|
||||
this.originalModel = monaco.editor.createModel(
|
||||
values.original,
|
||||
this.language,
|
||||
monaco.Uri.parse(diffModelPath(this.filePath, "original"))
|
||||
);
|
||||
|
||||
this.modifiedModel = monaco.editor.createModel(
|
||||
values.modified,
|
||||
this.language,
|
||||
monaco.Uri.parse(diffModelPath(this.filePath, "modified"))
|
||||
);
|
||||
|
||||
this.editor.setModel({ original: this.originalModel, modified: this.modifiedModel });
|
||||
this.lastFilePath = this.filePath;
|
||||
};
|
||||
|
||||
loadMonaco()
|
||||
.then((monaco) => {
|
||||
if (!this.host) {
|
||||
return;
|
||||
}
|
||||
|
||||
ensureMonacoTheme(monaco);
|
||||
|
||||
this.editor = monaco.editor.createDiffEditor(this.host, {
|
||||
theme: "bds-theme",
|
||||
automaticLayout: true,
|
||||
readOnly: true,
|
||||
renderSideBySide: this.viewStyle === "side-by-side",
|
||||
minimap: { enabled: false },
|
||||
scrollBeyondLastLine: false,
|
||||
lineNumbers: "on",
|
||||
diffCodeLens: false,
|
||||
originalEditable: false,
|
||||
wordWrap: this.wordWrap,
|
||||
hideUnchangedRegions: { enabled: this.hideUnchanged },
|
||||
ignoreTrimWhitespace: false
|
||||
});
|
||||
|
||||
this.setModels(monaco);
|
||||
})
|
||||
.catch((error) => {
|
||||
console.error("Failed to load Monaco diff editor", error);
|
||||
});
|
||||
},
|
||||
|
||||
updated() {
|
||||
this.host = this.el.querySelector(".monaco-diff-editor-instance");
|
||||
this.originalInput = this.el.querySelector(".monaco-diff-original");
|
||||
this.modifiedInput = this.el.querySelector(".monaco-diff-modified");
|
||||
this.applyDataset();
|
||||
|
||||
if (!this.editor) {
|
||||
return;
|
||||
}
|
||||
|
||||
loadMonaco().then((monaco) => {
|
||||
ensureMonacoTheme(monaco);
|
||||
monaco.editor.setTheme("bds-theme");
|
||||
|
||||
this.editor.updateOptions({
|
||||
renderSideBySide: this.viewStyle === "side-by-side",
|
||||
wordWrap: this.wordWrap,
|
||||
hideUnchangedRegions: { enabled: this.hideUnchanged }
|
||||
});
|
||||
|
||||
if (this.lastFilePath !== this.filePath) {
|
||||
this.setModels(monaco);
|
||||
return;
|
||||
}
|
||||
|
||||
const values = this.readValues();
|
||||
|
||||
if (this.originalModel && this.originalModel.getLanguageId() !== this.language) {
|
||||
monaco.editor.setModelLanguage(this.originalModel, this.language);
|
||||
}
|
||||
|
||||
if (this.modifiedModel && this.modifiedModel.getLanguageId() !== this.language) {
|
||||
monaco.editor.setModelLanguage(this.modifiedModel, this.language);
|
||||
}
|
||||
|
||||
if (this.originalModel && this.originalModel.getValue() !== values.original) {
|
||||
this.originalModel.setValue(values.original);
|
||||
}
|
||||
|
||||
if (this.modifiedModel && this.modifiedModel.getValue() !== values.modified) {
|
||||
this.modifiedModel.setValue(values.modified);
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
destroyed() {
|
||||
this.originalModel?.dispose();
|
||||
this.modifiedModel?.dispose();
|
||||
this.editor?.dispose();
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
define("vs/_commonjsHelpers-CT9FvmAN",["exports"],(function(t){"use strict";function o(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}t.getDefaultExportFromCjs=o}));
|
||||
@@ -0,0 +1 @@
|
||||
define("vs/abap-D-t0cyap",["exports"],(function(e){"use strict";const t={comments:{lineComment:"*"},brackets:[["[","]"],["(",")"]]},n={defaultToken:"invalid",ignoreCase:!0,tokenPostfix:".abap",keywords:["abap-source","abbreviated","abstract","accept","accepting","according","activation","actual","add","add-corresponding","adjacent","after","alias","aliases","align","all","allocate","alpha","analysis","analyzer","and","append","appendage","appending","application","archive","area","arithmetic","as","ascending","aspect","assert","assign","assigned","assigning","association","asynchronous","at","attributes","authority","authority-check","avg","back","background","backup","backward","badi","base","before","begin","between","big","binary","bintohex","bit","black","blank","blanks","blob","block","blocks","blue","bound","boundaries","bounds","boxed","break-point","buffer","by","bypassing","byte","byte-order","call","calling","case","cast","casting","catch","center","centered","chain","chain-input","chain-request","change","changing","channels","character","char-to-hex","check","checkbox","ci_","circular","class","class-coding","class-data","class-events","class-methods","class-pool","cleanup","clear","client","clob","clock","close","coalesce","code","coding","col_background","col_group","col_heading","col_key","col_negative","col_normal","col_positive","col_total","collect","color","column","columns","comment","comments","commit","common","communication","comparing","component","components","compression","compute","concat","concat_with_space","concatenate","cond","condense","condition","connect","connection","constants","context","contexts","continue","control","controls","conv","conversion","convert","copies","copy","corresponding","country","cover","cpi","create","creating","critical","currency","currency_conversion","current","cursor","cursor-selection","customer","customer-function","dangerous","data","database","datainfo","dataset","date","dats_add_days","dats_add_months","dats_days_between","dats_is_valid","daylight","dd/mm/yy","dd/mm/yyyy","ddmmyy","deallocate","decimal_shift","decimals","declarations","deep","default","deferred","define","defining","definition","delete","deleting","demand","department","descending","describe","destination","detail","dialog","directory","disconnect","display","display-mode","distinct","divide","divide-corresponding","division","do","dummy","duplicate","duplicates","duration","during","dynamic","dynpro","edit","editor-call","else","elseif","empty","enabled","enabling","encoding","end","endat","endcase","endcatch","endchain","endclass","enddo","endenhancement","end-enhancement-section","endexec","endform","endfunction","endian","endif","ending","endinterface","end-lines","endloop","endmethod","endmodule","end-of-definition","end-of-editing","end-of-file","end-of-page","end-of-selection","endon","endprovide","endselect","end-test-injection","end-test-seam","endtry","endwhile","endwith","engineering","enhancement","enhancement-point","enhancements","enhancement-section","entries","entry","enum","environment","equiv","errormessage","errors","escaping","event","events","exact","except","exception","exceptions","exception-table","exclude","excluding","exec","execute","exists","exit","exit-command","expand","expanding","expiration","explicit","exponent","export","exporting","extend","extended","extension","extract","fail","fetch","field","field-groups","fields","field-symbol","field-symbols","file","filter","filters","filter-table","final","find","first","first-line","fixed-point","fkeq","fkge","flush","font","for","form","format","forward","found","frame","frames","free","friends","from","function","functionality","function-pool","further","gaps","generate","get","giving","gkeq","gkge","global","grant","green","group","groups","handle","handler","harmless","hashed","having","hdb","header","headers","heading","head-lines","help-id","help-request","hextobin","hide","high","hint","hold","hotspot","icon","id","identification","identifier","ids","if","ignore","ignoring","immediately","implementation","implementations","implemented","implicit","import","importing","in","inactive","incl","include","includes","including","increment","index","index-line","infotypes","inheriting","init","initial","initialization","inner","inout","input","insert","instance","instances","instr","intensified","interface","interface-pool","interfaces","internal","intervals","into","inverse","inverted-date","is","iso","job","join","keep","keeping","kernel","key","keys","keywords","kind","language","last","late","layout","leading","leave","left","left-justified","leftplus","leftspace","legacy","length","let","level","levels","like","line","lines","line-count","linefeed","line-selection","line-size","list","listbox","list-processing","little","llang","load","load-of-program","lob","local","locale","locator","logfile","logical","log-point","long","loop","low","lower","lpad","lpi","ltrim","mail","main","major-id","Line truncated
|
||||
@@ -0,0 +1 @@
|
||||
define("vs/apex-CcIm7xu6",["exports"],(function(s){"use strict";const o={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"<",close:">"}],folding:{markers:{start:new RegExp("^\\s*//\\s*(?:(?:#?region\\b)|(?:<editor-fold\\b))"),end:new RegExp("^\\s*//\\s*(?:(?:#?endregion\\b)|(?:</editor-fold>))")}}},n=["abstract","activate","and","any","array","as","asc","assert","autonomous","begin","bigdecimal","blob","boolean","break","bulk","by","case","cast","catch","char","class","collect","commit","const","continue","convertcurrency","decimal","default","delete","desc","do","double","else","end","enum","exception","exit","export","extends","false","final","finally","float","for","from","future","get","global","goto","group","having","hint","if","implements","import","in","inner","insert","instanceof","int","interface","into","join","last_90_days","last_month","last_n_days","last_week","like","limit","list","long","loop","map","merge","native","new","next_90_days","next_month","next_n_days","next_week","not","null","nulls","number","object","of","on","or","outer","override","package","parallel","pragma","private","protected","public","retrieve","return","returning","rollback","savepoint","search","select","set","short","sort","stat","static","strictfp","super","switch","synchronized","system","testmethod","then","this","this_month","this_week","throw","throws","today","tolabel","tomorrow","transaction","transient","trigger","true","try","type","undelete","update","upsert","using","virtual","void","volatile","webservice","when","where","while","yesterday"],i=e=>e.charAt(0).toUpperCase()+e.substr(1);let t=[];n.forEach(e=>{t.push(e),t.push(e.toUpperCase()),t.push(i(e))});const a={defaultToken:"",tokenPostfix:".apex",keywords:t,operators:["=",">","<","!","~","?",":","==","<=",">=","!=","&&","||","++","--","+","-","*","/","&","|","^","%","<<",">>",">>>","+=","-=","*=","/=","&=","|=","^=","%=","<<=",">>=",">>>="],symbols:/[=><!~?:&|+\-*\/\^%]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,digits:/\d+(_+\d+)*/,octaldigits:/[0-7]+(_+[0-7]+)*/,binarydigits:/[0-1]+(_+[0-1]+)*/,hexdigits:/[[0-9a-fA-F]+(_+[0-9a-fA-F]+)*/,tokenizer:{root:[[/[a-z_$][\w$]*/,{cases:{"@keywords":{token:"keyword.$0"},"@default":"identifier"}}],[/[A-Z][\w\$]*/,{cases:{"@keywords":{token:"keyword.$0"},"@default":"type.identifier"}}],{include:"@whitespace"},[/[{}()\[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/@\s*[a-zA-Z_\$][\w\$]*/,"annotation"],[/(@digits)[eE]([\-+]?(@digits))?[fFdD]?/,"number.float"],[/(@digits)\.(@digits)([eE][\-+]?(@digits))?[fFdD]?/,"number.float"],[/(@digits)[fFdD]/,"number.float"],[/(@digits)[lL]?/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/'([^'\\]|\\.)*$/,"string.invalid"],[/"/,"string",'@string."'],[/'/,"string","@string.'"],[/'[^\\']'/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@apexdoc"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],apexdoc:[[/[^\/*]+/,"comment.doc"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],string:[[/[^\\"']+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/["']/,{cases:{"$#==$S2":{token:"string",next:"@pop"},"@default":"string"}}]]}};s.conf=o,s.language=a,Object.defineProperty(s,Symbol.toStringTag,{value:"Module"})}));
|
||||
@@ -0,0 +1,93 @@
|
||||
(function(){"use strict";var lt,Ce,ne;class rh{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout(()=>{throw e.stack?It.isErrorNoTelemetry(e)?new It(e.message+`
|
||||
|
||||
`+e.stack):new Error(e.message+`
|
||||
|
||||
`+e.stack):e},0)}}emit(e){this.listeners.forEach(n=>{n(e)})}onUnexpectedError(e){this.unexpectedErrorHandler(e),this.emit(e)}onUnexpectedExternalError(e){this.unexpectedErrorHandler(e)}}const ih=new rh;function $n(t){sh(t)||ih.onUnexpectedError(t)}function Tr(t){if(t instanceof Error){const{name:e,message:n,cause:r}=t,i=t.stacktrace||t.stack;return{$isError:!0,name:e,message:n,stack:i,noTelemetry:It.isErrorNoTelemetry(t),cause:r?Tr(r):void 0,code:t.code}}return t}const Or="Canceled";function sh(t){return t instanceof zs?!0:t instanceof Error&&t.name===Or&&t.message===Or}class zs extends Error{constructor(){super(Or),this.name=this.message}}class It extends Error{constructor(e){super(e),this.name="CodeExpectedError"}static fromError(e){if(e instanceof It)return e;const n=new It;return n.message=e.message,n.stack=e.stack,n}static isErrorNoTelemetry(e){return e.name==="CodeExpectedError"}}class be extends Error{constructor(e){super(e||"An unexpected bug occurred."),Object.setPrototypeOf(this,be.prototype)}}function ah(t,e="Unreachable"){throw new Error(e)}function oh(t,e="unexpected state"){if(!t)throw typeof e=="string"?new be(`Assertion Failed: ${e}`):e}function Un(t){if(!t()){debugger;t(),$n(new be("Assertion Failed"))}}function Ps(t,e){let n=0;for(;n<t.length-1;){const r=t[n],i=t[n+1];if(!e(r,i))return!1;n++}return!0}function lh(t){return typeof t=="string"}function ch(t){return!!t&&typeof t[Symbol.iterator]=="function"}var Bn;(function(t){function e(I){return!!I&&typeof I=="object"&&typeof I[Symbol.iterator]=="function"}t.is=e;const n=Object.freeze([]);function r(){return n}t.empty=r;function*i(I){yield I}t.single=i;function s(I){return e(I)?I:i(I)}t.wrap=s;function a(I){return I||n}t.from=a;function*o(I){for(let R=I.length-1;R>=0;R--)yield I[R]}t.reverse=o;function l(I){return!I||I[Symbol.iterator]().next().done===!0}t.isEmpty=l;function c(I){return I[Symbol.iterator]().next().value}t.first=c;function d(I,R){let z=0;for(const $ of I)if(R($,z++))return!0;return!1}t.some=d;function u(I,R){let z=0;for(const $ of I)if(!R($,z++))return!1;return!0}t.every=u;function m(I,R){for(const z of I)if(R(z))return z}t.find=m;function*f(I,R){for(const z of I)R(z)&&(yield z)}t.filter=f;function*g(I,R){let z=0;for(const $ of I)yield R($,z++)}t.map=g;function*b(I,R){let z=0;for(const $ of I)yield*R($,z++)}t.flatMap=b;function*k(...I){for(const R of I)ch(R)?yield*R:yield R}t.concat=k;function F(I,R,z){let $=z;for(const L of I)$=R($,L);return $}t.reduce=F;function N(I){let R=0;for(const z of I)R++;return R}t.length=N;function*_(I,R,z=I.length){for(R<-I.length&&(R=0),R<0&&(R+=I.length),z<0?z+=I.length:z>I.length&&(z=I.length);R<z;R++)yield I[R]}t.slice=_;function T(I,R=Number.POSITIVE_INFINITY){const z=[];if(R===0)return[z,I];const $=I[Symbol.iterator]();for(let L=0;L<R;L++){const y=$.next();if(y.done)return[z,t.empty()];z.push(y.value)}return[z,{[Symbol.iterator](){return $}}]}t.consume=T;async function O(I){const R=[];for await(const z of I)R.push(z);return R}t.asyncToArray=O;async function V(I){let R=[];for await(const z of I)R=R.concat(z);return R}t.asyncToArrayFlat=V})(Bn||(Bn={}));function Rf(t,e){}function Ts(t){if(Bn.is(t)){const e=[];for(const n of t)if(n)try{n.dispose()}catch(r){e.push(r)}if(e.length===1)throw e[0];if(e.length>1)throw new AggregateError(e,"Encountered errors while disposing of store");return Array.isArray(t)?[]:t}else if(t)return t.dispose(),t}function hh(...t){return qn(()=>Ts(t))}class dh{constructor(e){this._isDisposed=!1,this._fn=e}dispose(){if(!this._isDisposed){if(!this._fn)throw new Error("Unbound disposable context: Need to use an arrow function to preserve the value of this");this._isDisposed=!0,this._fn()}}}function qn(t){return new dh(t)}const Dr=class Dr{constructor(){this._toDispose=new Set,this._isDisposed=!1}dispose(){this._isDisposed||(this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(this._toDispose.size!==0)try{Ts(this._toDispose)}finally{this._toDispose.clear()}}add(e){if(!e||e===wt.None)return e;if(e===this)throw new Error("Cannot register a disposable on itself!");return this._isDisposed?Dr.DISABLE_DISPOSED_WARNING||console.warn(new Error("Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!").stack):this._toDispose.add(e),e}delete(e){if(e){if(e===this)throw new Error("Cannot dispose a disposable on itself!");this._toDispose.delete(e),e.dispose()}}};Dr.DISABLE_DISPOSED_WARNING=!1;let cn=Dr;const Ds=class Ds{constructor(){this._store=new cn,this._store}dispose(){this._store.dispose()}_register(e){if(e===this)throw new Error("Cannot register a disposable on itself!");return this._store.add(e)}};Ds.None=Object.freeze({dispose(){}});let wt=Ds,le=(lt=class{constructor(e){this.element=e,this.next=lt.Undefined,this.prev=lt.Undefined}},lt.Undefined=new lt(void 0),lt);class uh{constructor(){this._first=le.Undefined,this._last=le.Undefined,this._size=0}get size(){return this._size}isEmpty(){
Line truncated
|
||||
`).slice(2).join(`
|
||||
`))}}class fh extends Error{constructor(e,n){super(e),this.name="ListenerLeakError",this.stack=n}}class gh extends Error{constructor(e,n){super(e),this.name="ListenerRefusalError",this.stack=n}}class Br{constructor(e){this.value=e}}const bh=2;class Ue{constructor(e){this._size=0,this._options=e,this._leakageMon=this._options?.leakWarningThreshold?new $r(e?.onListenerError??$n,this._options?.leakWarningThreshold??mh):void 0,this._perfMon=this._options?._profName?new Vr(this._options._profName):void 0,this._deliveryQueue=this._options?.deliveryQueue}dispose(){this._disposed||(this._disposed=!0,this._deliveryQueue?.current===this&&this._deliveryQueue.reset(),this._listeners&&(this._listeners=void 0,this._size=0),this._options?.onDidRemoveLastListener?.(),this._leakageMon?.dispose())}get event(){return this._event??=(e,n,r)=>{if(this._leakageMon&&this._size>this._leakageMon.threshold**2){const o=`[${this._leakageMon.name}] REFUSES to accept new listeners because it exceeded its threshold by far (${this._size} vs ${this._leakageMon.threshold})`;console.warn(o);const l=this._leakageMon.getMostFrequentStack()??["UNKNOWN stack",-1],c=new gh(`${o}. HINT: Stack shows most frequent listener (${l[1]}-times)`,l[0]);return(this._options?.onListenerError||$n)(c),wt.None}if(this._disposed)return wt.None;n&&(e=e.bind(n));const i=new Br(e);let s;this._leakageMon&&this._size>=Math.ceil(this._leakageMon.threshold*.2)&&(i.stack=Ur.create(),s=this._leakageMon.check(i.stack,this._size+1)),this._listeners?this._listeners instanceof Br?(this._deliveryQueue??=new wh,this._listeners=[this._listeners,i]):this._listeners.push(i):(this._options?.onWillAddFirstListener?.(this),this._listeners=i,this._options?.onDidAddFirstListener?.(this)),this._options?.onDidAddListener?.(this),this._size++;const a=qn(()=>{s?.(),this._removeListener(i)});return r instanceof cn?r.add(a):Array.isArray(r)&&r.push(a),a},this._event}_removeListener(e){if(this._options?.onWillRemoveListener?.(this),!this._listeners)return;if(this._size===1){this._listeners=void 0,this._options?.onDidRemoveLastListener?.(this),this._size=0;return}const n=this._listeners,r=n.indexOf(e);if(r===-1)throw console.log("disposed?",this._disposed),console.log("size?",this._size),console.log("arr?",JSON.stringify(this._listeners)),new Error("Attempted to dispose unknown listener");this._size--,n[r]=void 0;const i=this._deliveryQueue.current===this;if(this._size*bh<=n.length){let s=0;for(let a=0;a<n.length;a++)n[a]?n[s++]=n[a]:i&&s<this._deliveryQueue.end&&(this._deliveryQueue.end--,s<this._deliveryQueue.i&&this._deliveryQueue.i--);n.length=s}}_deliver(e,n){if(!e)return;const r=this._options?.onListenerError||$n;if(!r){e.value(n);return}try{e.value(n)}catch(i){r(i)}}_deliverQueue(e){const n=e.current._listeners;for(;e.i<e.end;)this._deliver(n[e.i++],e.value);e.reset()}fire(e){if(this._deliveryQueue?.current&&(this._deliverQueue(this._deliveryQueue),this._perfMon?.stop()),this._perfMon?.start(this._size),this._listeners)if(this._listeners instanceof Br)this._deliver(this._listeners,e);else{const n=this._deliveryQueue;n.enqueue(this,e,this._listeners.length),this._deliverQueue(n)}this._perfMon?.stop()}hasListeners(){return this._size>0}}class wh{constructor(){this.i=-1,this.end=0}enqueue(e,n,r){this.i=0,this.end=r,this.current=e,this.value=n}reset(){this.i=this.end,this.current=void 0,this.value=void 0}}function vh(){return globalThis._VSCODE_NLS_MESSAGES}function Os(){return globalThis._VSCODE_NLS_LANGUAGE}const yh=Os()==="pseudo"||typeof document<"u"&&document.location&&typeof document.location.hash=="string"&&document.location.hash.indexOf("pseudo=true")>=0;function Ws(t,e){let n;return e.length===0?n=t:n=t.replace(/\{(\d+)\}/g,(r,i)=>{const s=i[0],a=e[s];let o=r;return typeof a=="string"?o=a:(typeof a=="number"||typeof a=="boolean"||a===void 0||a===null)&&(o=String(a)),o}),yh&&(n="["+n.replace(/[aouei]/g,"$&$&")+"]"),n}function B(t,e,...n){return Ws(typeof t=="number"?xh(t,e):e,n)}function xh(t,e){const n=vh()?.[t];if(typeof n!="string"){if(typeof e=="string")return e;throw new Error(`!!! NLS MISSING: ${t} !!!`)}return n}const Dt="en";let qr=!1,jr=!1,Hr=!1,Hn,Gr=Dt,Vs=Dt,Sh,Xe;const vt=globalThis;let ke;typeof vt.vscode<"u"&&typeof vt.vscode.process<"u"?ke=vt.vscode.process:typeof process<"u"&&typeof process?.versions?.node=="string"&&(ke=process);const Ch=typeof ke?.versions?.electron=="string"&&ke?.type==="renderer";if(typeof ke=="object"){qr=ke.platform==="win32",jr=ke.platform==="darwin",Hr=ke.platform==="linux",Hr&&ke.env.SNAP&&ke.env.SNAP_REVISION,ke.env.CI||ke.env.BUILD_ARTIFACTSTAGINGDIRECTORY||ke.env.GITHUB_WORKSPACE,Hn=Dt,Gr=Dt;const t=ke.env.VSCODE_NLS_CONFIG;if(t)try{const e=JSON.parse(t);Hn=e.userLocale,Vs=e.osLocale,Gr=e.resolvedLanguage||Dt,Sh=e.languagePack?.translationsConfigFile}catch{}}else typeof navigator=="object"&&!Ch?(Xe=navigator.userAgent,qr=Xe.indexOf("Windows")>=0,jr=Xe.indexOf("Macintosh")>=0,(Xe.indexOf("Macintosh")>=0||Xe.indexOf("iPad")>=0||Xe.inde
Line truncated
|
||||
`||t===" "}class er{constructor(e,n,r){this.changes=e,this.moves=n,this.hitTimeout=r}}class jd{constructor(e,n){this.lineRangeMapping=e,this.changes=n}}function Hd(t,e,n=(r,i)=>r===i){if(t===e)return!0;if(!t||!e||t.length!==e.length)return!1;for(let r=0,i=t.length;r<i;r++)if(!n(t[r],e[r]))return!1;return!0}function*Gd(t,e){let n,r;for(const i of t)r!==void 0&&e(r,i)?n.push(i):(n&&(yield n),n=[i]),r=i;n&&(yield n)}function Jd(t,e){for(let n=0;n<=t.length;n++)e(n===0?void 0:t[n-1],n===t.length?void 0:t[n])}function Xd(t,e){for(let n=0;n<t.length;n++)e(n===0?void 0:t[n-1],t[n],n+1===t.length?void 0:t[n+1])}function Yd(t,e){for(const n of e)t.push(n)}var mi;(function(t){function e(s){return s<0}t.isLessThan=e;function n(s){return s<=0}t.isLessThanOrEqual=n;function r(s){return s>0}t.isGreaterThan=r;function i(s){return s===0}t.isNeitherLessOrGreaterThan=i,t.greaterThan=1,t.lessThan=-1,t.neitherLessOrGreaterThan=0})(mi||(mi={}));function mn(t,e){return(n,r)=>e(t(n),t(r))}const fn=(t,e)=>t-e;function Qd(t){return(e,n)=>-t(e,n)}const an=class an{constructor(e){this.iterate=e}toArray(){const e=[];return this.iterate(n=>(e.push(n),!0)),e}filter(e){return new an(n=>this.iterate(r=>e(r)?n(r):!0))}map(e){return new an(n=>this.iterate(r=>n(e(r))))}findLast(e){let n;return this.iterate(r=>(e(r)&&(n=r),!0)),n}findLastMaxBy(e){let n,r=!0;return this.iterate(i=>((r||mi.isGreaterThan(e(i,n)))&&(r=!1,n=i),!0)),n}};an.empty=new an(e=>{});let yo=an;class Y{static fromTo(e,n){return new Y(e,n)}static addRange(e,n){let r=0;for(;r<n.length&&n[r].endExclusive<e.start;)r++;let i=r;for(;i<n.length&&n[i].start<=e.endExclusive;)i++;if(r===i)n.splice(r,0,e);else{const s=Math.min(e.start,n[r].start),a=Math.max(e.endExclusive,n[i-1].endExclusive);n.splice(r,i-r,new Y(s,a))}}static tryCreate(e,n){if(!(e>n))return new Y(e,n)}static ofLength(e){return new Y(0,e)}static ofStartAndLength(e,n){return new Y(e,e+n)}static emptyAt(e){return new Y(e,e)}constructor(e,n){if(this.start=e,this.endExclusive=n,e>n)throw new be(`Invalid range: ${this.toString()}`)}get isEmpty(){return this.start===this.endExclusive}delta(e){return new Y(this.start+e,this.endExclusive+e)}deltaStart(e){return new Y(this.start+e,this.endExclusive)}deltaEnd(e){return new Y(this.start,this.endExclusive+e)}get length(){return this.endExclusive-this.start}toString(){return`[${this.start}, ${this.endExclusive})`}equals(e){return this.start===e.start&&this.endExclusive===e.endExclusive}contains(e){return this.start<=e&&e<this.endExclusive}join(e){return new Y(Math.min(this.start,e.start),Math.max(this.endExclusive,e.endExclusive))}intersect(e){const n=Math.max(this.start,e.start),r=Math.min(this.endExclusive,e.endExclusive);if(n<=r)return new Y(n,r)}intersectionLength(e){const n=Math.max(this.start,e.start),r=Math.min(this.endExclusive,e.endExclusive);return Math.max(0,r-n)}intersects(e){const n=Math.max(this.start,e.start),r=Math.min(this.endExclusive,e.endExclusive);return n<r}intersectsOrTouches(e){const n=Math.max(this.start,e.start),r=Math.min(this.endExclusive,e.endExclusive);return n<=r}isBefore(e){return this.endExclusive<=e.start}isAfter(e){return this.start>=e.endExclusive}slice(e){return e.slice(this.start,this.endExclusive)}substring(e){return e.substring(this.start,this.endExclusive)}clip(e){if(this.isEmpty)throw new be(`Invalid clipping range: ${this.toString()}`);return Math.max(this.start,Math.min(this.endExclusive-1,e))}clipCyclic(e){if(this.isEmpty)throw new be(`Invalid clipping range: ${this.toString()}`);return e<this.start?this.endExclusive-(this.start-e)%this.length:e>=this.endExclusive?this.start+(e-this.start)%this.length:e}forEach(e){for(let n=this.start;n<this.endExclusive;n++)e(n)}joinRightTouching(e){if(this.endExclusive!==e.start)throw new be(`Invalid join: ${this.toString()} and ${e.toString()}`);return new Y(this.start,e.endExclusive)}}function Tt(t,e){const n=Ot(t,e);return n===-1?void 0:t[n]}function Ot(t,e,n=0,r=t.length){let i=n,s=r;for(;i<s;){const a=Math.floor((i+s)/2);e(t[a])?i=a+1:s=a}return i-1}function Kd(t,e){const n=fi(t,e);return n===t.length?void 0:t[n]}function fi(t,e,n=0,r=t.length){let i=n,s=r;for(;i<s;){const a=Math.floor((i+s)/2);e(t[a])?s=a:i=a+1}return i}const Mr=class Mr{constructor(e){this._array=e,this._findLastMonotonousLastIdx=0}findLastMonotonous(e){if(Mr.assertInvariants){if(this._prevFindLastPredicate){for(const r of this._array)if(this._prevFindLastPredicate(r)&&!e(r))throw new Error("MonotonousArray: current predicate must be weaker than (or equal to) the previous predicate.")}this._prevFindLastPredicate=e}const n=Ot(this._array,e,this._findLastMonotonousLastIdx);return this._findLastMonotonousLastIdx=n+1,n===-1?void 0:this._array[n]}};Mr.assertInvariants=!1;let tr=Mr;const De=class De{static ofLength(e,n){return new De(e,e+n)}static fromRange(e){return new De(e.startLineNumber,e.endLineNumber)}static fromRangeInclusive(e){return new De(e.startLineNumber,e.endLineNumber+1)}static joinMany(e){if(e.length===0)return[];le
Line truncated
|
||||
`?(n++,r=0):r++;return new $e(n,r)}constructor(e,n){this.lineCount=e,this.columnCount=n}isGreaterThanOrEqualTo(e){return this.lineCount!==e.lineCount?this.lineCount>e.lineCount:this.columnCount>=e.columnCount}add(e){return e.lineCount===0?new $e(this.lineCount,this.columnCount+e.columnCount):new $e(this.lineCount+e.lineCount,e.columnCount)}createRange(e){return this.lineCount===0?new J(e.lineNumber,e.column,e.lineNumber,e.column+this.columnCount):new J(e.lineNumber,e.column,e.lineNumber+this.lineCount,this.columnCount+1)}toRange(){return new J(1,1,this.lineCount+1,this.columnCount+1)}toLineRange(){return Z.ofLength(1,this.lineCount+1)}addToPosition(e){return this.lineCount===0?new re(e.lineNumber,e.column+this.columnCount):new re(e.lineNumber+this.lineCount,this.columnCount+1)}toString(){return`${this.lineCount},${this.columnCount}`}};$e.zero=new $e(0,0);let gn=$e;class Zd{getOffsetRange(e){return new Y(this.getOffset(e.getStartPosition()),this.getOffset(e.getEndPosition()))}getRange(e){return J.fromPositions(this.getPosition(e.start),this.getPosition(e.endExclusive))}getStringReplacement(e){return new Wt.deps.StringReplacement(this.getOffsetRange(e.range),e.text)}getTextReplacement(e){return new Wt.deps.TextReplacement(this.getRange(e.replaceRange),e.newText)}getTextEdit(e){const n=e.replacements.map(r=>this.getTextReplacement(r));return new Wt.deps.TextEdit(n)}}const Ls=class Ls{static get deps(){if(!this._deps)throw new Error("Dependencies not set. Call _setDependencies first.");return this._deps}};Ls._deps=void 0;let Wt=Ls;class eu extends Zd{constructor(e){super(),this.text=e,this.lineStartOffsetByLineIdx=[],this.lineEndOffsetByLineIdx=[],this.lineStartOffsetByLineIdx.push(0);for(let n=0;n<e.length;n++)e.charAt(n)===`
|
||||
`&&(this.lineStartOffsetByLineIdx.push(n+1),n>0&&e.charAt(n-1)==="\r"?this.lineEndOffsetByLineIdx.push(n-1):this.lineEndOffsetByLineIdx.push(n));this.lineEndOffsetByLineIdx.push(e.length)}getOffset(e){const n=this._validatePosition(e);return this.lineStartOffsetByLineIdx[n.lineNumber-1]+n.column-1}_validatePosition(e){if(e.lineNumber<1)return new re(1,1);const n=this.textLength.lineCount+1;if(e.lineNumber>n){const i=this.getLineLength(n);return new re(n,i+1)}if(e.column<1)return new re(e.lineNumber,1);const r=this.getLineLength(e.lineNumber);return e.column-1>r?new re(e.lineNumber,r+1):e}getPosition(e){const n=Ot(this.lineStartOffsetByLineIdx,s=>s<=e),r=n+1,i=e-this.lineStartOffsetByLineIdx[n]+1;return new re(r,i)}get textLength(){const e=this.lineStartOffsetByLineIdx.length-1;return new Wt.deps.TextLength(e,this.text.length-this.lineStartOffsetByLineIdx[e])}getLineLength(e){return this.lineEndOffsetByLineIdx[e-1]-this.lineStartOffsetByLineIdx[e-1]}}class tu{constructor(){this._transformer=void 0}get endPositionExclusive(){return this.length.addToPosition(new re(1,1))}get lineRange(){return this.length.toLineRange()}getValue(){return this.getValueOfRange(this.length.toRange())}getValueOfOffsetRange(e){return this.getValueOfRange(this.getTransformer().getRange(e))}getLineLength(e){return this.getValueOfRange(new J(e,1,e,Number.MAX_SAFE_INTEGER)).length}getTransformer(){return this._transformer||(this._transformer=new eu(this.getValue())),this._transformer}getLineAt(e){return this.getValueOfRange(new J(e,1,e,Number.MAX_SAFE_INTEGER))}}class nu extends tu{constructor(e,n){oh(n>=1),super(),this._getLineContent=e,this._lineCount=n}getValueOfRange(e){if(e.startLineNumber===e.endLineNumber)return this._getLineContent(e.startLineNumber).substring(e.startColumn-1,e.endColumn-1);let n=this._getLineContent(e.startLineNumber).substring(e.startColumn-1);for(let r=e.startLineNumber+1;r<e.endLineNumber;r++)n+=`
|
||||
`+this._getLineContent(r);return n+=`
|
||||
`+this._getLineContent(e.endLineNumber).substring(0,e.endColumn-1),n}getLineLength(e){return this._getLineContent(e).length}get length(){const e=this._getLineContent(this._lineCount);return new gn(this._lineCount-1,e.length)}}class nr extends nu{constructor(e){super(n=>e[n-1],e.length)}}class ut{static joinReplacements(e,n){if(e.length===0)throw new be;if(e.length===1)return e[0];const r=e[0].range.getStartPosition(),i=e[e.length-1].range.getEndPosition();let s="";for(let a=0;a<e.length;a++){const o=e[a];if(s+=o.text,a<e.length-1){const l=e[a+1],c=J.fromPositions(o.range.getEndPosition(),l.range.getStartPosition()),d=n.getValueOfRange(c);s+=d}}return new ut(J.fromPositions(r,i),s)}static fromStringReplacement(e,n){return new ut(n.getTransformer().getRange(e.replaceRange),e.newText)}static delete(e){return new ut(e,"")}constructor(e,n){this.range=e,this.text=n}get isEmpty(){return this.range.isEmpty()&&this.text.length===0}static equals(e,n){return e.range.equalsRange(n.range)&&e.text===n.text}equals(e){return ut.equals(this,e)}removeCommonPrefixAndSuffix(e){return this.removeCommonPrefix(e).removeCommonSuffix(e)}removeCommonPrefix(e){const n=e.getValueOfRange(this.range).replaceAll(`\r
|
||||
`,`
|
||||
`),r=this.text.replaceAll(`\r
|
||||
`,`
|
||||
`),i=Mh(n,r),s=gn.ofText(n.substring(0,i)).addToPosition(this.range.getStartPosition()),a=r.substring(i),o=J.fromPositions(s,this.range.getEndPosition());return new ut(o,a)}removeCommonSuffix(e){const n=e.getValueOfRange(this.range).replaceAll(`\r
|
||||
`,`
|
||||
`),r=this.text.replaceAll(`\r
|
||||
`,`
|
||||
`),i=zh(n,r),s=gn.ofText(n.substring(0,n.length-i)).addToPosition(this.range.getStartPosition()),a=r.substring(0,r.length-i),o=J.fromPositions(this.range.getStartPosition(),s);return new ut(o,a)}toString(){const e=this.range.getStartPosition(),n=this.range.getEndPosition();return`(${e.lineNumber},${e.column} -> ${n.lineNumber},${n.column}): "${this.text}"`}}class Le{static inverse(e,n,r){const i=[];let s=1,a=1;for(const l of e){const c=new Le(new Z(s,l.original.startLineNumber),new Z(a,l.modified.startLineNumber));c.modified.isEmpty||i.push(c),s=l.original.endLineNumberExclusive,a=l.modified.endLineNumberExclusive}const o=new Le(new Z(s,n+1),new Z(a,r+1));return o.modified.isEmpty||i.push(o),i}static clip(e,n,r){const i=[];for(const s of e){const a=s.original.intersect(n),o=s.modified.intersect(r);a&&!a.isEmpty&&o&&!o.isEmpty&&i.push(new Le(a,o))}return i}constructor(e,n){this.original=e,this.modified=n}toString(){return`{${this.original.toString()}->${this.modified.toString()}}`}flip(){return new Le(this.modified,this.original)}join(e){return new Le(this.original.join(e.original),this.modified.join(e.modified))}toRangeMapping(){const e=this.original.toInclusiveRange(),n=this.modified.toInclusiveRange();if(e&&n)return new Ae(e,n);if(this.original.startLineNumber===1||this.modified.startLineNumber===1){if(!(this.modified.startLineNumber===1&&this.original.startLineNumber===1))throw new be("not a valid diff");return new Ae(new J(this.original.startLineNumber,1,this.original.endLineNumberExclusive,1),new J(this.modified.startLineNumber,1,this.modified.endLineNumberExclusive,1))}else return new Ae(new J(this.original.startLineNumber-1,Number.MAX_SAFE_INTEGER,this.original.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),new J(this.modified.startLineNumber-1,Number.MAX_SAFE_INTEGER,this.modified.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER))}toRangeMapping2(e,n){if(xo(this.original.endLineNumberExclusive,e)&&xo(this.modified.endLineNumberExclusive,n))return new Ae(new J(this.original.startLineNumber,1,this.original.endLineNumberExclusive,1),new J(this.modified.startLineNumber,1,this.modified.endLineNumberExclusive,1));if(!this.original.isEmpty&&!this.modified.isEmpty)return new Ae(J.fromPositions(new re(this.original.startLineNumber,1),Vt(new re(this.original.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),e)),J.fromPositions(new re(this.modified.startLineNumber,1),Vt(new re(this.modified.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),n)));if(this.original.startLineNumber>1&&this.modified.startLineNumber>1)return new Ae(J.fromPositions(Vt(new re(this.original.startLineNumber-1,Number.MAX_SAFE_INTEGER),e),Vt(new re(this.original.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),e)),J.fromPositions(Vt(new re(this.modified.startLineNumber-1,Number.MAX_SAFE_INTEGER),n),Vt(new re(this.modified.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),n)));throw new be}}function Vt(t,e){if(t.lineNumber<1)return new re(1,1);if(t.lineNumber>e.length)return new re(e.length,e[e.length-1].length+1);const n=e[t.lineNumber-1];return t.column>n.length+1?new re(t.lineNumber,n.length+1):t}function xo(t,e){return t>=1&&t<=e.length}class Ke extends Le{static fromRangeMappings(e){const n=Z.join(e.map(i=>Z.fromRangeInclusive(i.originalRange))),r=Z.join(e.map(i=>Z.fromRangeInclusive(i.modifiedRange)));return new Ke(n,r,e)}constructor(e,n,r){super(e,n),this.innerChanges=r}flip(){return new Ke(this.modified,this.original,this.innerChanges?.map(e=>e.flip()))}withInnerChangesFromLineRanges(){return new Ke(this.original,this.modified,[this.toRangeMapping()])}}class Ae{static fromEdit(e){const n=e.getNewRanges();return e.replacements.map((i,s)=>new Ae(i.range,n[s]))}static assertSorted(e){for(let n=1;n<e.length;n++){const r=e[n-1],i=e[n];if(!(r.originalRange.getEndPosition().isBeforeOrEqual(i.originalRange.getStartPosition())&&r.modifiedRange.getEndPosition().isBeforeOrEqual(i.modifiedRange.getStartPosition())))throw new be("Range mappings must be sorted")}}constructor(e,n){this.originalRange=e,this.modifiedRange=n}toString(){return`{${this.originalRange.toString()}->${this.modifiedRange.toString()}}`}flip(){return new Ae(this.modifiedRange,this.originalRange)}toTextEdit(e){const n=e.getValueOfRange(this.modifiedRange);return new ut(this.originalRange,n)}}function So(t,e,n,r=!1){const i=[];for(const s of Gd(t.map(a=>ru(a,e,n)),(a,o)=>a.original.intersectsOrTouches(o.original)||a.modified.intersectsOrTouches(o.modified))){const a=s[0],o=s[s.length-1];i.push(new Ke(a.original.join(o.original),a.modified.join(o.modified),s.map(l=>l.innerChanges[0])))}return Un(()=>!r&&i.length>0&&(i[0].modified.startLineNumber!==i[0].original.startLineNumber||n.length.lineCount-i[i.length-1].modified.endLineNumberExclusive!==e.length.lineCount-i[i.length-1].original.endLineNumberExclusive)?!1:Ps(i,(s,a)=>a.original.startLineNumber-s.original.endLineNumberExclusive===a.modified.startLineNumber-s.modified.endLineNumberExclusive&&s.original.endLineNumberExcl
Line truncated
|
||||
`);this.histogram[o]=(this.histogram[o]||0)+1}this.totalCount=i}computeSimilarity(e){let n=0;const r=Math.max(this.histogram.length,e.histogram.length);for(let i=0;i<r;i++)n+=Math.abs((this.histogram[i]??0)-(e.histogram[i]??0));return 1-n/(this.totalCount+e.totalCount)}};Wn.chrKeys=new Map;let rr=Wn;class hu{compute(e,n,r=wn.instance,i){if(e.length===0||n.length===0)return Ze.trivial(e,n);const s=new wi(e.length,n.length),a=new wi(e.length,n.length),o=new wi(e.length,n.length);for(let g=0;g<e.length;g++)for(let b=0;b<n.length;b++){if(!r.isValid())return Ze.trivialTimedOut(e,n);const k=g===0?0:s.get(g-1,b),F=b===0?0:s.get(g,b-1);let N;e.getElement(g)===n.getElement(b)?(g===0||b===0?N=0:N=s.get(g-1,b-1),g>0&&b>0&&a.get(g-1,b-1)===3&&(N+=o.get(g-1,b-1)),N+=i?i(g,b):1):N=-1;const _=Math.max(k,F,N);if(_===N){const T=g>0&&b>0?o.get(g-1,b-1):0;o.set(g,b,T+1),a.set(g,b,3)}else _===k?(o.set(g,b,0),a.set(g,b,1)):_===F&&(o.set(g,b,0),a.set(g,b,2));s.set(g,b,_)}const l=[];let c=e.length,d=n.length;function u(g,b){(g+1!==c||b+1!==d)&&l.push(new ce(new Y(g+1,c),new Y(b+1,d))),c=g,d=b}let m=e.length-1,f=n.length-1;for(;m>=0&&f>=0;)a.get(m,f)===3?(u(m,f),m--,f--):a.get(m,f)===1?m--:f--;return u(-1,-1),l.reverse(),new Ze(l,!1)}}class Eo{compute(e,n,r=wn.instance){if(e.length===0||n.length===0)return Ze.trivial(e,n);const i=e,s=n;function a(b,k){for(;b<i.length&&k<s.length&&i.getElement(b)===s.getElement(k);)b++,k++;return b}let o=0;const l=new du;l.set(0,a(0,0));const c=new uu;c.set(0,l.get(0)===0?null:new Fo(null,0,0,l.get(0)));let d=0;e:for(;;){if(o++,!r.isValid())return Ze.trivialTimedOut(i,s);const b=-Math.min(o,s.length+o%2),k=Math.min(o,i.length+o%2);for(d=b;d<=k;d+=2){const F=d===k?-1:l.get(d+1),N=d===b?-1:l.get(d-1)+1,_=Math.min(Math.max(F,N),i.length),T=_-d;if(_>i.length||T>s.length)continue;const O=a(_,T);l.set(d,O);const V=_===F?c.get(d+1):c.get(d-1);if(c.set(d,O!==_?new Fo(V,_,T,O-_):V),l.get(d)===i.length&&l.get(d)-d===s.length)break e}}let u=c.get(d);const m=[];let f=i.length,g=s.length;for(;;){const b=u?u.x+u.length:0,k=u?u.y+u.length:0;if((b!==f||k!==g)&&m.push(new ce(new Y(b,f),new Y(k,g))),!u)break;f=u.x,g=u.y,u=u.prev}return m.reverse(),new Ze(m,!1)}}class Fo{constructor(e,n,r,i){this.prev=e,this.x=n,this.y=r,this.length=i}}class du{constructor(){this.positiveArr=new Int32Array(10),this.negativeArr=new Int32Array(10)}get(e){return e<0?(e=-e-1,this.negativeArr[e]):this.positiveArr[e]}set(e,n){if(e<0){if(e=-e-1,e>=this.negativeArr.length){const r=this.negativeArr;this.negativeArr=new Int32Array(r.length*2),this.negativeArr.set(r)}this.negativeArr[e]=n}else{if(e>=this.positiveArr.length){const r=this.positiveArr;this.positiveArr=new Int32Array(r.length*2),this.positiveArr.set(r)}this.positiveArr[e]=n}}}class uu{constructor(){this.positiveArr=[],this.negativeArr=[]}get(e){return e<0?(e=-e-1,this.negativeArr[e]):this.positiveArr[e]}set(e,n){e<0?(e=-e-1,this.negativeArr[e]=n):this.positiveArr[e]=n}}class ir{constructor(e,n,r){this.lines=e,this.range=n,this.considerWhitespaceChanges=r,this.elements=[],this.firstElementOffsetByLineIdx=[],this.lineStartOffsets=[],this.trimmedWsLengthsByLineIdx=[],this.firstElementOffsetByLineIdx.push(0);for(let i=this.range.startLineNumber;i<=this.range.endLineNumber;i++){let s=e[i-1],a=0;i===this.range.startLineNumber&&this.range.startColumn>1&&(a=this.range.startColumn-1,s=s.substring(a)),this.lineStartOffsets.push(a);let o=0;if(!r){const c=s.trimStart();o=s.length-c.length,s=c.trimEnd()}this.trimmedWsLengthsByLineIdx.push(o);const l=i===this.range.endLineNumber?Math.min(this.range.endColumn-1-a-o,s.length):s.length;for(let c=0;c<l;c++)this.elements.push(s.charCodeAt(c));i<this.range.endLineNumber&&(this.elements.push(10),this.firstElementOffsetByLineIdx.push(this.elements.length))}}toString(){return`Slice: "${this.text}"`}get text(){return this.getText(new Y(0,this.length))}getText(e){return this.elements.slice(e.start,e.endExclusive).map(n=>String.fromCharCode(n)).join("")}getElement(e){return this.elements[e]}get length(){return this.elements.length}getBoundaryScore(e){const n=Io(e>0?this.elements[e-1]:-1),r=Io(e<this.elements.length?this.elements[e]:-1);if(n===7&&r===8)return 0;if(n===8)return 150;let i=0;return n!==r&&(i+=10,n===0&&r===1&&(i+=1)),i+=No(n),i+=No(r),i}translateOffset(e,n="right"){const r=Ot(this.firstElementOffsetByLineIdx,s=>s<=e),i=e-this.firstElementOffsetByLineIdx[r];return new re(this.range.startLineNumber+r,1+this.lineStartOffsets[r]+i+(i===0&&n==="left"?0:this.trimmedWsLengthsByLineIdx[r]))}translateRange(e){const n=this.translateOffset(e.start,"right"),r=this.translateOffset(e.endExclusive,"left");return r.isBefore(n)?J.fromPositions(r,r):J.fromPositions(n,r)}findWordContaining(e){if(e<0||e>=this.elements.length||!Ut(this.elements[e]))return;let n=e;for(;n>0&&Ut(this.elements[n-1]);)n--;let r=e;for(;r<this.elements.length&&Ut(this.elements[r]);)r++;return new Y(n,r)}findSubWordContaining(e){if(e<0||e>=this.elements.length||!Ut(this.elements[e]))retur
Line truncated
|
||||
`).length>=15&&fu(u,f=>f.length>=2)>=2}),a=vu(t,a),a}function fu(t,e){let n=0;for(const r of t)e(r)&&n++;return n}function gu(t,e,n,r){const i=[],s=t.filter(l=>l.modified.isEmpty&&l.original.length>=3).map(l=>new rr(l.original,e,l)),a=new Set(t.filter(l=>l.original.isEmpty&&l.modified.length>=3).map(l=>new rr(l.modified,n,l))),o=new Set;for(const l of s){let c=-1,d;for(const u of a){const m=l.computeSimilarity(u);m>c&&(c=m,d=u)}if(c>.9&&d&&(a.delete(d),i.push(new Le(l.range,d.range)),o.add(l.source),o.add(d.source)),!r.isValid())return{moves:i,excludedChanges:o}}return{moves:i,excludedChanges:o}}function bu(t,e,n,r,i,s){const a=[],o=new Md;for(const m of t)for(let f=m.original.startLineNumber;f<m.original.endLineNumberExclusive-2;f++){const g=`${e[f-1]}:${e[f+1-1]}:${e[f+2-1]}`;o.add(g,{range:new Z(f,f+3)})}const l=[];t.sort(mn(m=>m.modified.startLineNumber,fn));for(const m of t){let f=[];for(let g=m.modified.startLineNumber;g<m.modified.endLineNumberExclusive-2;g++){const b=`${n[g-1]}:${n[g+1-1]}:${n[g+2-1]}`,k=new Z(g,g+3),F=[];o.forEach(b,({range:N})=>{for(const T of f)if(T.originalLineRange.endLineNumberExclusive+1===N.endLineNumberExclusive&&T.modifiedLineRange.endLineNumberExclusive+1===k.endLineNumberExclusive){T.originalLineRange=new Z(T.originalLineRange.startLineNumber,N.endLineNumberExclusive),T.modifiedLineRange=new Z(T.modifiedLineRange.startLineNumber,k.endLineNumberExclusive),F.push(T);return}const _={modifiedLineRange:k,originalLineRange:N};l.push(_),F.push(_)}),f=F}if(!s.isValid())return[]}l.sort(Qd(mn(m=>m.modifiedLineRange.length,fn)));const c=new qe,d=new qe;for(const m of l){const f=m.modifiedLineRange.startLineNumber-m.originalLineRange.startLineNumber,g=c.subtractFrom(m.modifiedLineRange),b=d.subtractFrom(m.originalLineRange).getWithDelta(f),k=g.getIntersection(b);for(const F of k.ranges){if(F.length<3)continue;const N=F,_=F.delta(-f);a.push(new Le(_,N)),c.addRange(N),d.addRange(_)}}a.sort(mn(m=>m.original.startLineNumber,fn));const u=new tr(t);for(let m=0;m<a.length;m++){const f=a[m],g=u.findLastMonotonous(V=>V.original.startLineNumber<=f.original.startLineNumber),b=Tt(t,V=>V.modified.startLineNumber<=f.modified.startLineNumber),k=Math.max(f.original.startLineNumber-g.original.startLineNumber,f.modified.startLineNumber-b.modified.startLineNumber),F=u.findLastMonotonous(V=>V.original.startLineNumber<f.original.endLineNumberExclusive),N=Tt(t,V=>V.modified.startLineNumber<f.modified.endLineNumberExclusive),_=Math.max(F.original.endLineNumberExclusive-f.original.endLineNumberExclusive,N.modified.endLineNumberExclusive-f.modified.endLineNumberExclusive);let T;for(T=0;T<k;T++){const V=f.original.startLineNumber-T-1,I=f.modified.startLineNumber-T-1;if(V>r.length||I>i.length||c.contains(I)||d.contains(V)||!Do(r[V-1],i[I-1],s))break}T>0&&(d.addRange(new Z(f.original.startLineNumber-T,f.original.startLineNumber)),c.addRange(new Z(f.modified.startLineNumber-T,f.modified.startLineNumber)));let O;for(O=0;O<_;O++){const V=f.original.endLineNumberExclusive+O,I=f.modified.endLineNumberExclusive+O;if(V>r.length||I>i.length||c.contains(I)||d.contains(V)||!Do(r[V-1],i[I-1],s))break}O>0&&(d.addRange(new Z(f.original.endLineNumberExclusive,f.original.endLineNumberExclusive+O)),c.addRange(new Z(f.modified.endLineNumberExclusive,f.modified.endLineNumberExclusive+O))),(T>0||O>0)&&(a[m]=new Le(new Z(f.original.startLineNumber-T,f.original.endLineNumberExclusive+O),new Z(f.modified.startLineNumber-T,f.modified.endLineNumberExclusive+O)))}return a}function Do(t,e,n){if(t.trim()===e.trim())return!0;if(t.length>300&&e.length>300)return!1;const i=new Eo().compute(new ir([t],new J(1,1,1,t.length),!1),new ir([e],new J(1,1,1,e.length),!1),n);let s=0;const a=ce.invert(i.diffs,t.length);for(const d of a)d.seq1Range.forEach(u=>{vi(t.charCodeAt(u))||s++});function o(d){let u=0;for(let m=0;m<t.length;m++)vi(d.charCodeAt(m))||u++;return u}const l=o(t.length>e.length?t:e);return s/l>.6&&l>10}function wu(t){if(t.length===0)return t;t.sort(mn(n=>n.original.startLineNumber,fn));const e=[t[0]];for(let n=1;n<t.length;n++){const r=e[e.length-1],i=t[n],s=i.original.startLineNumber-r.original.endLineNumberExclusive,a=i.modified.startLineNumber-r.modified.endLineNumberExclusive;if(s>=0&&a>=0&&s+a<=2){e[e.length-1]=r.join(i);continue}e.push(i)}return e}function vu(t,e){const n=new tr(t);return e=e.filter(r=>{const i=n.findLastMonotonous(o=>o.original.startLineNumber<r.original.endLineNumberExclusive)||new Le(new Z(1,1),new Z(1,1)),s=Tt(t,o=>o.modified.startLineNumber<r.modified.endLineNumberExclusive);return i!==s}),e}function Lo(t,e,n){let r=n;return r=Ao(t,e,r),r=Ao(t,e,r),r=yu(t,e,r),r}function Ao(t,e,n){if(n.length===0)return n;const r=[];r.push(n[0]);for(let s=1;s<n.length;s++){const a=r[r.length-1];let o=n[s];if(o.seq1Range.isEmpty||o.seq2Range.isEmpty){const l=o.seq1Range.start-a.seq1Range.endExclusive;let c;for(c=1;c<=l&&!(t.getElement(o.seq1Range.start-c)!==t.getElement(o.seq1Range.endExclusive-c)||e.getElement(o.seq2Range
Line truncated
|
||||
`)}isStronglyEqual(e,n){return this.lines[e]===this.lines[n]}}function To(t){let e=0;for(;e<t.length&&(t.charCodeAt(e)===32||t.charCodeAt(e)===9);)e++;return e}class _u{constructor(){this.dynamicProgrammingDiffing=new hu,this.myersDiffingAlgorithm=new Eo}computeDiff(e,n,r){if(e.length<=1&&Hd(e,n,(I,R)=>I===R))return new er([],[],!1);if(e.length===1&&e[0].length===0||n.length===1&&n[0].length===0)return new er([new Ke(new Z(1,e.length+1),new Z(1,n.length+1),[new Ae(new J(1,1,e.length,e[e.length-1].length+1),new J(1,1,n.length,n[n.length-1].length+1))])],[],!1);const i=r.maxComputationTimeMs===0?wn.instance:new cu(r.maxComputationTimeMs),s=!r.ignoreTrimWhitespace,a=new Map;function o(I){let R=a.get(I);return R===void 0&&(R=a.size,a.set(I,R)),R}const l=e.map(I=>o(I.trim())),c=n.map(I=>o(I.trim())),d=new Po(l,e),u=new Po(c,n),m=d.length+u.length<1700?this.dynamicProgrammingDiffing.compute(d,u,i,(I,R)=>e[I]===n[R]?n[R].length===0?.1:1+Math.log(1+n[R].length):.99):this.myersDiffingAlgorithm.compute(d,u,i);let f=m.diffs,g=m.hitTimeout;f=Lo(d,u,f),f=Cu(d,u,f);const b=[],k=I=>{if(s)for(let R=0;R<I;R++){const z=F+R,$=N+R;if(e[z]!==n[$]){const L=this.refineDiff(e,n,new ce(new Y(z,z+1),new Y($,$+1)),i,s,r);for(const y of L.mappings)b.push(y);L.hitTimeout&&(g=!0)}}};let F=0,N=0;for(const I of f){Un(()=>I.seq1Range.start-F===I.seq2Range.start-N);const R=I.seq1Range.start-F;k(R),F=I.seq1Range.endExclusive,N=I.seq2Range.endExclusive;const z=this.refineDiff(e,n,I,i,s,r);z.hitTimeout&&(g=!0);for(const $ of z.mappings)b.push($)}k(e.length-F);const _=new nr(e),T=new nr(n),O=So(b,_,T);let V=[];return r.computeMoves&&(V=this.computeMoves(O,e,n,l,c,i,s,r)),Un(()=>{function I(z,$){if(z.lineNumber<1||z.lineNumber>$.length)return!1;const L=$[z.lineNumber-1];return!(z.column<1||z.column>L.length+1)}function R(z,$){return!(z.startLineNumber<1||z.startLineNumber>$.length+1||z.endLineNumberExclusive<1||z.endLineNumberExclusive>$.length+1)}for(const z of O){if(!z.innerChanges)return!1;for(const $ of z.innerChanges)if(!(I($.modifiedRange.getStartPosition(),n)&&I($.modifiedRange.getEndPosition(),n)&&I($.originalRange.getStartPosition(),e)&&I($.originalRange.getEndPosition(),e)))return!1;if(!R(z.modified,n)||!R(z.original,e))return!1}return!0}),new er(O,V,g)}computeMoves(e,n,r,i,s,a,o,l){return mu(e,n,r,i,s,a).map(u=>{const m=this.refineDiff(n,r,new ce(u.original.toOffsetRange(),u.modified.toOffsetRange()),a,o,l),f=So(m.mappings,new nr(n),new nr(r),!0);return new jd(u,f)})}refineDiff(e,n,r,i,s,a){const l=Eu(r).toRangeMapping2(e,n),c=new ir(e,l.originalRange,s),d=new ir(n,l.modifiedRange,s),u=c.length+d.length<500?this.dynamicProgrammingDiffing.compute(c,d,i):this.myersDiffingAlgorithm.compute(c,d,i);let m=u.diffs;return m=Lo(c,d,m),m=zo(c,d,m,(g,b)=>g.findWordContaining(b)),a.extendToSubwords&&(m=zo(c,d,m,(g,b)=>g.findSubWordContaining(b),!0)),m=xu(c,d,m),m=ku(c,d,m),{mappings:m.map(g=>new Ae(c.translateRange(g.seq1Range),d.translateRange(g.seq2Range))),hitTimeout:u.hitTimeout}}}function Eu(t){return new Le(new Z(t.seq1Range.start+1,t.seq1Range.endExclusive+1),new Z(t.seq2Range.start+1,t.seq2Range.endExclusive+1))}const Oo={getLegacy:()=>new su,getDefault:()=>new _u};function pt(t,e){const n=Math.pow(10,e);return Math.round(t*n)/n}class x{constructor(e,n,r,i=1){this._rgbaBrand=void 0,this.r=Math.min(255,Math.max(0,e))|0,this.g=Math.min(255,Math.max(0,n))|0,this.b=Math.min(255,Math.max(0,r))|0,this.a=pt(Math.max(Math.min(1,i),0),3)}static equals(e,n){return e.r===n.r&&e.g===n.g&&e.b===n.b&&e.a===n.a}}class Me{constructor(e,n,r,i){this._hslaBrand=void 0,this.h=Math.max(Math.min(360,e),0)|0,this.s=pt(Math.max(Math.min(1,n),0),3),this.l=pt(Math.max(Math.min(1,r),0),3),this.a=pt(Math.max(Math.min(1,i),0),3)}static equals(e,n){return e.h===n.h&&e.s===n.s&&e.l===n.l&&e.a===n.a}static fromRGBA(e){const n=e.r/255,r=e.g/255,i=e.b/255,s=e.a,a=Math.max(n,r,i),o=Math.min(n,r,i);let l=0,c=0;const d=(o+a)/2,u=a-o;if(u>0){switch(c=Math.min(d<=.5?u/(2*d):u/(2-2*d),1),a){case n:l=(r-i)/u+(r<i?6:0);break;case r:l=(i-n)/u+2;break;case i:l=(n-r)/u+4;break}l*=60,l=Math.round(l)}return new Me(l,c,d,s)}static _hue2rgb(e,n,r){return r<0&&(r+=1),r>1&&(r-=1),r<1/6?e+(n-e)*6*r:r<1/2?n:r<2/3?e+(n-e)*(2/3-r)*6:e}static toRGBA(e){const n=e.h/360,{s:r,l:i,a:s}=e;let a,o,l;if(r===0)a=o=l=i;else{const c=i<.5?i*(1+r):i+r-i*r,d=2*i-c;a=Me._hue2rgb(d,c,n+1/3),o=Me._hue2rgb(d,c,n),l=Me._hue2rgb(d,c,n-1/3)}return new x(Math.round(a*255),Math.round(o*255),Math.round(l*255),s)}}class Bt{constructor(e,n,r,i){this._hsvaBrand=void 0,this.h=Math.max(Math.min(360,e),0)|0,this.s=pt(Math.max(Math.min(1,n),0),3),this.v=pt(Math.max(Math.min(1,r),0),3),this.a=pt(Math.max(Math.min(1,i),0),3)}static equals(e,n){return e.h===n.h&&e.s===n.s&&e.v===n.v&&e.a===n.a}static fromRGBA(e){const n=e.r/255,r=e.g/255,i=e.b/255,s=Math.max(n,r,i),a=Math.min(n,r,i),o=s-a,l=s===0?0:o/s;let c;return o===0?c=0:s===n?c=((r-i)/o%6+6)%6:s===r?c=(i-n)/o+2:c=(n-r)/o+4,new Bt(Math.round(c*60),l,s,e.a)}static toRGBA(
Line truncated
|
||||
`);s.lastIndex=0;let d;for(;(d=s.exec(c))!==null;){const u=c.substring(0,d.index),m=(u.match(/\n/g)||[]).length,f=a+m,g=d[0].split(`
|
||||
`),b=g.length,k=f+b-1,F=u.lastIndexOf(`
|
||||
`)+1,N=d.index-F+1,_=g[g.length-1],T=b===1?N+d[0].length:_.length+1,O={startLineNumber:f,startColumn:N,endLineNumber:k,endColumn:T},V=(d.groups??{}).label??"",I=((d.groups??{}).separator??"")!=="",R={range:O,text:V,hasSeparatorLine:I,shouldBeInComments:!0};(R.text||R.hasSeparatorLine)&&(n.length===0||n[n.length-1].range.endLineNumber<R.range.startLineNumber)&&n.push(R),s.lastIndex=d.index+d[0].length}}return n}function zu(t){t=t.trim();const e=t.startsWith("-");return t=t.replace(Iu,""),{text:t,hasSeparatorLine:e}}class Pu{get isRejected(){return this.outcome?.outcome===1}get isSettled(){return!!this.outcome}constructor(){this.p=new Promise((e,n)=>{this.completeCallback=e,this.errorCallback=n})}complete(e){return this.isSettled?Promise.resolve():new Promise(n=>{this.completeCallback(e),this.outcome={outcome:0,value:e},n()})}error(e){return this.isSettled?Promise.resolve():new Promise(n=>{this.errorCallback(e),this.outcome={outcome:1,value:e},n()})}cancel(){return this.error(new zs)}}var Bo;(function(t){async function e(r){let i;const s=await Promise.all(r.map(a=>a.then(o=>o,o=>{i||(i=o)})));if(typeof i<"u")throw i;return s}t.settled=e;function n(r){return new Promise(async(i,s)=>{try{await r(i,s)}catch(a){s(a)}})}t.withAsyncBody=n})(Bo||(Bo={}));class Tu{constructor(){this._unsatisfiedConsumers=[],this._unconsumedValues=[]}get hasFinalValue(){return!!this._finalValue}produce(e){if(this._ensureNoFinalValue(),this._unsatisfiedConsumers.length>0){const n=this._unsatisfiedConsumers.shift();this._resolveOrRejectDeferred(n,e)}else this._unconsumedValues.push(e)}produceFinal(e){this._ensureNoFinalValue(),this._finalValue=e;for(const n of this._unsatisfiedConsumers)this._resolveOrRejectDeferred(n,e);this._unsatisfiedConsumers.length=0}_ensureNoFinalValue(){if(this._finalValue)throw new be("ProducerConsumer: cannot produce after final value has been set")}_resolveOrRejectDeferred(e,n){n.ok?e.complete(n.value):e.error(n.error)}consume(){if(this._unconsumedValues.length>0||this._finalValue){const e=this._unconsumedValues.length>0?this._unconsumedValues.shift():this._finalValue;return e.ok?Promise.resolve(e.value):Promise.reject(e.error)}else{const e=new Pu;return this._unsatisfiedConsumers.push(e),e.p}}}const Fe=class Fe{constructor(e,n){this._onReturn=n,this._producerConsumer=new Tu,this._iterator={next:()=>this._producerConsumer.consume(),return:()=>(this._onReturn?.(),Promise.resolve({done:!0,value:void 0})),throw:async r=>(this._finishError(r),{done:!0,value:void 0})},queueMicrotask(async()=>{const r=e({emitOne:i=>this._producerConsumer.produce({ok:!0,value:{done:!1,value:i}}),emitMany:i=>{for(const s of i)this._producerConsumer.produce({ok:!0,value:{done:!1,value:s}})},reject:i=>this._finishError(i)});if(!this._producerConsumer.hasFinalValue)try{await r,this._finishOk()}catch(i){this._finishError(i)}})}static fromArray(e){return new Fe(n=>{n.emitMany(e)})}static fromPromise(e){return new Fe(async n=>{n.emitMany(await e)})}static fromPromisesResolveOrder(e){return new Fe(async n=>{await Promise.all(e.map(async r=>n.emitOne(await r)))})}static merge(e){return new Fe(async n=>{await Promise.all(e.map(async r=>{for await(const i of r)n.emitOne(i)}))})}static map(e,n){return new Fe(async r=>{for await(const i of e)r.emitOne(n(i))})}map(e){return Fe.map(this,e)}static coalesce(e){return Fe.filter(e,n=>!!n)}coalesce(){return Fe.coalesce(this)}static filter(e,n){return new Fe(async r=>{for await(const i of e)n(i)&&r.emitOne(i)})}filter(e){return Fe.filter(this,e)}_finishOk(){this._producerConsumer.hasFinalValue||this._producerConsumer.produceFinal({ok:!0,value:{done:!0,value:void 0}})}_finishError(e){this._producerConsumer.hasFinalValue||this._producerConsumer.produceFinal({ok:!1,error:e})}[Symbol.asyncIterator](){return this._iterator}};Fe.EMPTY=Fe.fromArray([]);let qo=Fe;class Ou{constructor(e){this.values=e,this.prefixSum=new Uint32Array(e.length),this.prefixSumValidIndex=new Int32Array(1),this.prefixSumValidIndex[0]=-1}insertValues(e,n){e=Mt(e);const r=this.values,i=this.prefixSum,s=n.length;return s===0?!1:(this.values=new Uint32Array(r.length+s),this.values.set(r.subarray(0,e),0),this.values.set(r.subarray(e),e+s),this.values.set(n,e),e-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=e-1),this.prefixSum=new Uint32Array(this.values.length),this.prefixSumValidIndex[0]>=0&&this.prefixSum.set(i.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}setValue(e,n){return e=Mt(e),n=Mt(n),this.values[e]===n?!1:(this.values[e]=n,e-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=e-1),!0)}removeValues(e,n){e=Mt(e),n=Mt(n);const r=this.values,i=this.prefixSum;if(e>=r.length)return!1;const s=r.length-e;return n>=s&&(n=s),n===0?!1:(this.values=new Uint32Array(r.length-n),this.values.set(r.subarray(0,e),0),this.values.set(r.subarray(e+n),e),this.prefixSum=new Uint32Array(this.values.length),e-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=e-1),this.prefixSumValidIndex[0]>=0&&this.prefixSum.set(i.suba
Line truncated
|
||||
`),!0}return!1}_escape(e,n){let r=this.stream.peekChar();if(r===ki){this.stream.advance(1),r=this.stream.peekChar();let i=0;for(;i<6&&(r>=xn&&r<=Sn||r>=ar&&r<=Ho||r>=or&&r<=Jo);)this.stream.advance(1),r=this.stream.peekChar(),i++;if(i>0){try{const s=parseInt(this.stream.substring(this.stream.pos()-i),16);s&&e.push(String.fromCharCode(s))}catch{}return r===_i||r===Ei?this.stream.advance(1):this._newline([]),!0}if(r!==jt&&r!==kn&&r!==qt)return this.stream.advance(1),e.push(String.fromCharCode(r)),!0;if(n)return this._newline(e)}return!1}_stringChar(e,n){const r=this.stream.peekChar();return r!==0&&r!==e&&r!==ki&&r!==jt&&r!==kn&&r!==qt?(this.stream.advance(1),n.push(String.fromCharCode(r)),!0):!1}_string(e){if(this.stream.peekChar()===tl||this.stream.peekChar()===el){const n=this.stream.nextChar();for(e.push(String.fromCharCode(n));this._stringChar(n,e)||this._escape(e,!0););return this.stream.peekChar()===n?(this.stream.nextChar(),e.push(String.fromCharCode(n)),p.String):p.BadString}return null}_unquotedChar(e){const n=this.stream.peekChar();return n!==0&&n!==ki&&n!==tl&&n!==el&&n!==Qo&&n!==Ko&&n!==_i&&n!==Ei&&n!==qt&&n!==kn&&n!==jt?(this.stream.advance(1),e.push(String.fromCharCode(n)),!0):!1}_unquotedString(e){let n=!1;for(;this._unquotedChar(e)||this._escape(e);)n=!0;return n}_whitespace(){return this.stream.advanceWhileChar(n=>n===_i||n===Ei||n===qt||n===kn||n===jt)>0}_name(e){let n=!1;for(;this._identChar(e)||this._escape(e);)n=!0;return n}ident(e){const n=this.stream.pos();if(this._minus(e)){if(this._minus(e)||this._identFirstChar(e)||this._escape(e)){for(;this._identChar(e)||this._escape(e););return!0}}else if(this._identFirstChar(e)||this._escape(e)){for(;this._identChar(e)||this._escape(e););return!0}return this.stream.goBackTo(n),!1}_identFirstChar(e){const n=this.stream.peekChar();return n===Yo||n>=ar&&n<=Go||n>=or&&n<=Xo||n>=128&&n<=65535?(this.stream.advance(1),e.push(String.fromCharCode(n)),!0):!1}_minus(e){const n=this.stream.peekChar();return n===St?(this.stream.advance(1),e.push(String.fromCharCode(n)),!0):!1}_identChar(e){const n=this.stream.peekChar();return n===Yo||n===St||n>=ar&&n<=Go||n>=or&&n<=Xo||n>=xn&&n<=Sn||n>=128&&n<=65535?(this.stream.advance(1),e.push(String.fromCharCode(n)),!0):!1}_unicodeRange(){if(this.stream.advanceIfChar(lp)){const e=r=>r>=xn&&r<=Sn||r>=ar&&r<=Ho||r>=or&&r<=Jo,n=this.stream.advanceWhileChar(e)+this.stream.advanceWhileChar(r=>r===op);if(n>=1&&n<=6)if(this.stream.advanceIfChar(St)){const r=this.stream.advanceWhileChar(e);if(r>=1&&r<=6)return!0}else return!0}return!1}}function pe(t,e){if(t.length<e.length)return!1;for(let n=0;n<e.length;n++)if(t[n]!==e[n])return!1;return!0}function il(t,e){let n=t.length-e.length;return n>0?t.lastIndexOf(e)===n:n===0?t===e:!1}function cp(t,e,n=4){let r=Math.abs(t.length-e.length);if(r>n)return 0;let i=[],s=[],a,o;for(a=0;a<e.length+1;++a)s.push(0);for(a=0;a<t.length+1;++a)i.push(s);for(a=1;a<t.length+1;++a)for(o=1;o<e.length+1;++o)t[a-1]===e[o-1]?i[a][o]=i[a-1][o-1]+1:i[a][o]=Math.max(i[a-1][o],i[a][o-1]);return i[t.length][e.length]-Math.sqrt(r)}function sl(t,e=!0){return t?t.length<140?t:t.slice(0,140)+(e?"…":""):""}function hp(t,e){const n=e.exec(t);return n&&n[0].length?t.substr(0,t.length-n[0].length):t}function al(t,e){let n="";for(;e>0;)(e&1)===1&&(n+=t),t+=t,e=e>>>1;return n}var v;(function(t){t[t.Undefined=0]="Undefined",t[t.Identifier=1]="Identifier",t[t.Stylesheet=2]="Stylesheet",t[t.Ruleset=3]="Ruleset",t[t.Selector=4]="Selector",t[t.SimpleSelector=5]="SimpleSelector",t[t.SelectorInterpolation=6]="SelectorInterpolation",t[t.SelectorCombinator=7]="SelectorCombinator",t[t.SelectorCombinatorParent=8]="SelectorCombinatorParent",t[t.SelectorCombinatorSibling=9]="SelectorCombinatorSibling",t[t.SelectorCombinatorAllSiblings=10]="SelectorCombinatorAllSiblings",t[t.SelectorCombinatorShadowPiercingDescendant=11]="SelectorCombinatorShadowPiercingDescendant",t[t.Page=12]="Page",t[t.PageBoxMarginBox=13]="PageBoxMarginBox",t[t.ClassSelector=14]="ClassSelector",t[t.IdentifierSelector=15]="IdentifierSelector",t[t.ElementNameSelector=16]="ElementNameSelector",t[t.PseudoSelector=17]="PseudoSelector",t[t.AttributeSelector=18]="AttributeSelector",t[t.Declaration=19]="Declaration",t[t.Declarations=20]="Declarations",t[t.Property=21]="Property",t[t.Expression=22]="Expression",t[t.BinaryExpression=23]="BinaryExpression",t[t.Term=24]="Term",t[t.Operator=25]="Operator",t[t.Value=26]="Value",t[t.StringLiteral=27]="StringLiteral",t[t.URILiteral=28]="URILiteral",t[t.EscapedValue=29]="EscapedValue",t[t.Function=30]="Function",t[t.NumericValue=31]="NumericValue",t[t.HexColorValue=32]="HexColorValue",t[t.RatioValue=33]="RatioValue",t[t.MixinDeclaration=34]="MixinDeclaration",t[t.MixinReference=35]="MixinReference",t[t.VariableName=36]="VariableName",t[t.VariableDeclaration=37]="VariableDeclaration",t[t.Prio=38]="Prio",t[t.Interpolation=39]="Interpolation",t[t.NestedProperties=40]="NestedProperties",t[t.ExtendsReference=41]="ExtendsReference",t
Line truncated
|
||||
`,s==="\r"&&i+1<n.length&&n.charAt(i+1)===`
|
||||
`&&i++}r&&n.length>0&&e.push(n.length),this._lineOffsets=e}return this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let n=this.getLineOffsets(),r=0,i=n.length;if(i===0)return ye.create(0,e);for(;r<i;){let a=Math.floor((r+i)/2);n[a]>e?i=a:r=a+1}let s=r-1;return ye.create(s,e-n[s])}offsetAt(e){let n=this.getLineOffsets();if(e.line>=n.length)return this._content.length;if(e.line<0)return 0;let r=n[e.line],i=e.line+1<n.length?n[e.line+1]:this._content.length;return Math.max(Math.min(r+e.character,i),r)}get lineCount(){return this.getLineOffsets().length}};var C;(function(t){const e=Object.prototype.toString;function n(f){return typeof f<"u"}t.defined=n;function r(f){return typeof f>"u"}t.undefined=r;function i(f){return f===!0||f===!1}t.boolean=i;function s(f){return e.call(f)==="[object String]"}t.string=s;function a(f){return e.call(f)==="[object Number]"}t.number=a;function o(f,g,b){return e.call(f)==="[object Number]"&&g<=f&&f<=b}t.numberRange=o;function l(f){return e.call(f)==="[object Number]"&&-2147483648<=f&&f<=2147483647}t.integer=l;function c(f){return e.call(f)==="[object Number]"&&0<=f&&f<=2147483647}t.uinteger=c;function d(f){return e.call(f)==="[object Function]"}t.func=d;function u(f){return f!==null&&typeof f=="object"}t.objectLiteral=u;function m(f,g){return Array.isArray(f)&&f.every(g)}t.typedArray=m})(C||(C={}));class An{constructor(e,n,r,i){this._uri=e,this._languageId=n,this._version=r,this._content=i,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){const n=this.offsetAt(e.start),r=this.offsetAt(e.end);return this._content.substring(n,r)}return this._content}update(e,n){for(let r of e)if(An.isIncremental(r)){const i=cc(r.range),s=this.offsetAt(i.start),a=this.offsetAt(i.end);this._content=this._content.substring(0,s)+r.text+this._content.substring(a,this._content.length);const o=Math.max(i.start.line,0),l=Math.max(i.end.line,0);let c=this._lineOffsets;const d=lc(r.text,!1,s);if(l-o===d.length)for(let m=0,f=d.length;m<f;m++)c[m+o+1]=d[m];else d.length<1e4?c.splice(o+1,l-o,...d):this._lineOffsets=c=c.slice(0,o+1).concat(d,c.slice(l+1));const u=r.text.length-(a-s);if(u!==0)for(let m=o+1+d.length,f=c.length;m<f;m++)c[m]=c[m]+u}else if(An.isFull(r))this._content=r.text,this._lineOffsets=void 0;else throw new Error("Unknown change event received");this._version=n}getLineOffsets(){return this._lineOffsets===void 0&&(this._lineOffsets=lc(this._content,!0)),this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let n=this.getLineOffsets(),r=0,i=n.length;if(i===0)return{line:0,character:e};for(;r<i;){let a=Math.floor((r+i)/2);n[a]>e?i=a:r=a+1}let s=r-1;return{line:s,character:e-n[s]}}offsetAt(e){let n=this.getLineOffsets();if(e.line>=n.length)return this._content.length;if(e.line<0)return 0;let r=n[e.line],i=e.line+1<n.length?n[e.line+1]:this._content.length;return Math.max(Math.min(r+e.character,i),r)}get lineCount(){return this.getLineOffsets().length}static isIncremental(e){let n=e;return n!=null&&typeof n.text=="string"&&n.range!==void 0&&(n.rangeLength===void 0||typeof n.rangeLength=="number")}static isFull(e){let n=e;return n!=null&&typeof n.text=="string"&&n.range===void 0&&n.rangeLength===void 0}}var ts;(function(t){function e(i,s,a,o){return new An(i,s,a,o)}t.create=e;function n(i,s,a){if(i instanceof An)return i.update(s,a),i;throw new Error("TextDocument.update: document must be created by TextDocument.create")}t.update=n;function r(i,s){let a=i.getText(),o=ns(s.map(Yp),(d,u)=>{let m=d.range.start.line-u.range.start.line;return m===0?d.range.start.character-u.range.start.character:m}),l=0;const c=[];for(const d of o){let u=i.offsetAt(d.range.start);if(u<l)throw new Error("Overlapping edit");u>l&&c.push(a.substring(l,u)),d.newText.length&&c.push(d.newText),l=i.offsetAt(d.range.end)}return c.push(a.substr(l)),c.join("")}t.applyEdits=r})(ts||(ts={}));function ns(t,e){if(t.length<=1)return t;const n=t.length/2|0,r=t.slice(0,n),i=t.slice(n);ns(r,e),ns(i,e);let s=0,a=0,o=0;for(;s<r.length&&a<i.length;)e(r[s],i[a])<=0?t[o++]=r[s++]:t[o++]=i[a++];for(;s<r.length;)t[o++]=r[s++];for(;a<i.length;)t[o++]=i[a++];return t}function lc(t,e,n=0){const r=e?[n]:[];for(let i=0;i<t.length;i++){let s=t.charCodeAt(i);(s===13||s===10)&&(s===13&&i+1<t.length&&t.charCodeAt(i+1)===10&&i++,r.push(n+i+1))}return r}function cc(t){const e=t.start,n=t.end;return e.line>n.line||e.line===n.line&&e.character>n.character?{start:n,end:e}:t}function Yp(t){const e=cc(t.range);return e!==t.range?{newText:t.newText,range:e}:t}var hc;(function(t){t.LATEST={textDocument:{completion:{completionItem:{documentationFormat:[He.Markdown,He.PlainText]}},hover:{contentFormat:[He.Markdown,He.PlainText]}}}})(hc||(hc={}));var Mn;(function(t){t[t.Unknown=0]="Unknown",t[t.File=1]="File",t[t.Directory=2]="Directory",t[t.SymbolicLink=64]="SymbolicLink"})(Mn||(Mn={}));const dc={E:"Edge",FF:"Firefox",
Line truncated
|
||||
|
||||
`;case"nonstandard":return`🚨️ Property is nonstandard. Avoid using it.
|
||||
|
||||
`;case"obsolete":return`🚨️️️ Property is obsolete. Avoid using it.
|
||||
|
||||
`;default:return""}}function mt(t,e,n){let r;if(e?r={kind:"markdown",value:Kp(t,n)}:r={kind:"plaintext",value:Qp(t,n)},r.value!=="")return r}function vr(t){return t=t.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&"),t.replace(/</g,"<").replace(/>/g,">")}function Qp(t,e){if(!t.description||t.description==="")return"";if(typeof t.description!="string")return t.description.value;let n="";if(e?.documentation!==!1){t.status&&(n+=uc(t.status)),n+=t.description;const r=pc(t.browsers);r&&(n+=`
|
||||
(`+r+")"),"syntax"in t&&(n+=`
|
||||
|
||||
Syntax: ${t.syntax}`)}return t.references&&t.references.length>0&&e?.references!==!1&&(n.length>0&&(n+=`
|
||||
|
||||
`),n+=t.references.map(r=>`${r.name}: ${r.url}`).join(" | ")),n}function Kp(t,e){if(!t.description||t.description==="")return"";let n="";if(e?.documentation!==!1){t.status&&(n+=uc(t.status)),typeof t.description=="string"?n+=vr(t.description):n+=t.description.kind===He.Markdown?t.description.value:vr(t.description.value);const r=pc(t.browsers);r&&(n+=`
|
||||
|
||||
(`+vr(r)+")"),"syntax"in t&&t.syntax&&(n+=`
|
||||
|
||||
Syntax: ${vr(t.syntax)}`)}return t.references&&t.references.length>0&&e?.references!==!1&&(n.length>0&&(n+=`
|
||||
|
||||
`),n+=t.references.map(r=>`[${r.name}](${r.url})`).join(" | ")),n}function pc(t=[]){return t.length===0?null:t.map(e=>{let n="";const r=e.match(/([A-Z]+)(\d+)?/),i=r[1],s=r[2];return i in dc&&(n+=dc[i]),s&&(n+=" "+s),n}).join(", ")}const Zp=/(^#([0-9A-F]{3}){1,2}$)|(^#([0-9A-F]{4}){1,2}$)/i,em=[{label:"rgb",func:"rgb($red, $green, $blue)",insertText:"rgb(${1:red}, ${2:green}, ${3:blue})",desc:w("Creates a Color from red, green, and blue values.")},{label:"rgba",func:"rgba($red, $green, $blue, $alpha)",insertText:"rgba(${1:red}, ${2:green}, ${3:blue}, ${4:alpha})",desc:w("Creates a Color from red, green, blue, and alpha values.")},{label:"rgb relative",func:"rgb(from $color $red $green $blue)",insertText:"rgb(from ${1:color} ${2:r} ${3:g} ${4:b})",desc:w("Creates a Color from the red, green, and blue values of another Color.")},{label:"hsl",func:"hsl($hue, $saturation, $lightness)",insertText:"hsl(${1:hue}, ${2:saturation}, ${3:lightness})",desc:w("Creates a Color from hue, saturation, and lightness values.")},{label:"hsla",func:"hsla($hue, $saturation, $lightness, $alpha)",insertText:"hsla(${1:hue}, ${2:saturation}, ${3:lightness}, ${4:alpha})",desc:w("Creates a Color from hue, saturation, lightness, and alpha values.")},{label:"hsl relative",func:"hsl(from $color $hue $saturation $lightness)",insertText:"hsl(from ${1:color} ${2:h} ${3:s} ${4:l})",desc:w("Creates a Color from the hue, saturation, and lightness values of another Color.")},{label:"hwb",func:"hwb($hue $white $black)",insertText:"hwb(${1:hue} ${2:white} ${3:black})",desc:w("Creates a Color from hue, white, and black values.")},{label:"hwb relative",func:"hwb(from $color $hue $white $black)",insertText:"hwb(from ${1:color} ${2:h} ${3:w} ${4:b})",desc:w("Creates a Color from the hue, white, and black values of another Color.")},{label:"lab",func:"lab($lightness $a $b)",insertText:"lab(${1:lightness} ${2:a} ${3:b})",desc:w("Creates a Color from lightness, a, and b values.")},{label:"lab relative",func:"lab(from $color $lightness $a $b)",insertText:"lab(from ${1:color} ${2:l} ${3:a} ${4:b})",desc:w("Creates a Color from the lightness, a, and b values of another Color.")},{label:"oklab",func:"oklab($lightness $a $b)",insertText:"oklab(${1:lightness} ${2:a} ${3:b})",desc:w("Creates a Color from lightness, a, and b values.")},{label:"oklab relative",func:"oklab(from $color $lightness $a $b)",insertText:"oklab(from ${1:color} ${2:l} ${3:a} ${4:b})",desc:w("Creates a Color from the lightness, a, and b values of another Color.")},{label:"lch",func:"lch($lightness $chroma $hue)",insertText:"lch(${1:lightness} ${2:chroma} ${3:hue})",desc:w("Creates a Color from lightness, chroma, and hue values.")},{label:"lch relative",func:"lch(from $color $lightness $chroma $hue)",insertText:"lch(from ${1:color} ${2:l} ${3:c} ${4:h})",desc:w("Creates a Color from the lightness, chroma, and hue values of another Color.")},{label:"oklch",func:"oklch($lightness $chroma $hue)",insertText:"oklch(${1:lightness} ${2:chroma} ${3:hue})",desc:w("Creates a Color from lightness, chroma, and hue values.")},{label:"oklch relative",func:"oklch(from $color $lightness $chroma $hue)",insertText:"oklch(from ${1:color} ${2:l} ${3:c} ${4:h})",desc:w("Creates a Color from the lightness, chroma, and hue values of another Color.")},{label:"color",func:"color($color-space $red $green $blue)",insertText:"color(${1|srgb,srgb-linear,display-p3,a98-rgb,prophoto-rgb,rec2020,xyx,xyz-d50,xyz-d65|} ${2:red} ${3:green} ${4:blue})",desc:w("Creates a Color in a specific color space from red, green, and blue values.")},{label:"color relative",func:"color(from $color $color-space $red $green $blue)",insertText:"color(from ${1:color} ${2|srgb,srgb-linear,display-p3,a98-rgb,prophoto-rgb,rec2020,xyx,xyz-d50,xyz-d65|} ${3:r} ${4:g} ${5:b})",desc:w("Creates a Color in a specific color space from the red, green, and blue values of another Color.")},{label:"color-mix",func:"color-mix(in $color-space, $color $percentage, $color $percentage)",insertText:"color-mix(in ${1|srgb,srgb-linear,lab,oklab,xyz,xyz-d50,xyz-d65|}, ${3:color} ${4:percentage}, ${5:color} ${6:percentage})",desc:w("Mix two colors together in a rectangular color space.")},{label:"color-mix hue",func:"color-mix(in $color-space $interpolation-method hue, $color $percentage, $color $percentage)",insertText:"color-mix(in ${1|hsl,hwb,lch,oklch|} ${2|shorter hue,longer hue,increasing hue,decreasing hue|}, ${3:color} ${4:percentage}, ${5:color} ${6:percentage})",desc:w("Mix two colors together in a polar color space.")}],tm=/^(rgb|rgba|hsl|hsla|hwb)$/i,yr={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"
Line truncated
|
||||
\r":{[()]},*>+`.indexOf(r.charAt(n))===-1;)n--;return r.substring(n+1,e)}let hs=class Ms{constructor(){this.parent=null,this.children=null,this.attributes=null}findAttribute(e){if(this.attributes){for(const n of this.attributes)if(n.name===e)return n.value}return null}addChild(e){e instanceof Ms&&(e.parent=this),this.children||(this.children=[]),this.children.push(e)}append(e){if(this.attributes){const n=this.attributes[this.attributes.length-1];n.value=n.value+e}}prepend(e){if(this.attributes){const n=this.attributes[0];n.value=e+n.value}}findRoot(){let e=this;for(;e.parent&&!(e.parent instanceof Kt);)e=e.parent;return e}removeChild(e){if(this.children){const n=this.children.indexOf(e);if(n!==-1)return this.children.splice(n,1),!0}return!1}addAttr(e,n){this.attributes||(this.attributes=[]);for(const r of this.attributes)if(r.name===e){r.value+=" "+n;return}this.attributes.push({name:e,value:n})}clone(e=!0){const n=new Ms;if(this.attributes){n.attributes=[];for(const r of this.attributes)n.addAttr(r.name,r.value)}if(e&&this.children){n.children=[];for(let r=0;r<this.children.length;r++)n.addChild(this.children[r].clone())}return n}cloneWithParent(){const e=this.clone(!1);return this.parent&&!(this.parent instanceof Kt)&&this.parent.cloneWithParent().addChild(e),e}};class Kt extends hs{}class ds extends hs{constructor(e){super(),this.addAttr("name",e)}}class zc{constructor(e){this.quote=e,this.result=[]}print(e,n){this.result=[],e instanceof Kt?e.children&&this.doPrint(e.children,0):this.doPrint([e],0);let r;return n?r=`${n.text}
|
||||
… `+this.result.join(`
|
||||
`):r=this.result.join(`
|
||||
`),[{language:"html",value:r}]}doPrint(e,n){for(const r of e)this.doPrintElement(r,n),r.children&&this.doPrint(r.children,n+1)}writeLine(e,n){const r=new Array(e+1).join(" ");this.result.push(r+n)}doPrintElement(e,n){const r=e.findAttribute("name");if(e instanceof ds||r==="…"){this.writeLine(n,r);return}const i=["<"];if(r?i.push(r):i.push("element"),e.attributes){for(const s of e.attributes)if(s.name!=="name"){i.push(" "),i.push(s.name);const a=s.value;a&&(i.push("="),i.push(rt.ensure(a,this.quote)))}}i.push(">"),this.writeLine(n,i.join(""))}}var rt;(function(t){function e(r,i){return i+n(r)+i}t.ensure=e;function n(r){const i=r.match(/^['"](.*)["']$/);return i?i[1]:r}t.remove=n})(rt||(rt={}));class us{constructor(){this.id=0,this.attr=0,this.tag=0}}function Pc(t,e){let n=new hs;for(const r of t.getChildren())switch(r.type){case v.SelectorCombinator:if(e){const o=r.getText().split("&");if(o.length===1){n.addAttr("name",o[0]);break}n=e.cloneWithParent(),o[0]&&n.findRoot().prepend(o[0]);for(let l=1;l<o.length;l++){if(l>1){const c=e.cloneWithParent();n.addChild(c.findRoot()),n=c}n.append(o[l])}}break;case v.SelectorPlaceholder:if(r.matches("@at-root"))return n;case v.ElementNameSelector:const i=r.getText();n.addAttr("name",i==="*"?"element":Oe(i));break;case v.ClassSelector:n.addAttr("class",Oe(r.getText().substring(1)));break;case v.IdentifierSelector:n.addAttr("id",Oe(r.getText().substring(1)));break;case v.MixinDeclaration:n.addAttr("class",r.getName());break;case v.PseudoSelector:n.addAttr(Oe(r.getText()),"");break;case v.AttributeSelector:const s=r,a=s.getIdentifier();if(a){const o=s.getValue(),l=s.getOperator();let c;if(o&&l)switch(Oe(l.getText())){case"|=":c=`${rt.remove(Oe(o.getText()))}-…`;break;case"^=":c=`${rt.remove(Oe(o.getText()))}…`;break;case"$=":c=`…${rt.remove(Oe(o.getText()))}`;break;case"~=":c=` … ${rt.remove(Oe(o.getText()))} … `;break;case"*=":c=`…${rt.remove(Oe(o.getText()))}…`;break;default:c=rt.remove(Oe(o.getText()));break}n.addAttr(Oe(a.getText()),c)}break}return n}function Oe(t){const e=new _n;e.setSource(t);const n=e.scanUnquotedString();return n?n.text:t}class Fm{constructor(e){this.cssDataManager=e}selectorToMarkedString(e,n){const r=Im(e);if(r){const i=new zc('"').print(r,n);return i.push(this.selectorToSpecificityMarkedString(e)),i}else return[]}simpleSelectorToMarkedString(e){const n=Pc(e),r=new zc('"').print(n);return r.push(this.selectorToSpecificityMarkedString(e)),r}isPseudoElementIdentifier(e){const n=e.match(/^::?([\w-]+)/);return n?!!this.cssDataManager.getPseudoElement("::"+n[1]):!1}selectorToSpecificityMarkedString(e){const n=s=>{const a=new us;let o=new us;for(const l of s)for(const c of l.getChildren()){const d=r(c);if(d.id>o.id){o=d;continue}else if(d.id<o.id)continue;if(d.attr>o.attr){o=d;continue}else if(d.attr<o.attr)continue;if(d.tag>o.tag){o=d;continue}}return a.id+=o.id,a.attr+=o.attr,a.tag+=o.tag,a},r=s=>{const a=new us;e:for(const o of s.getChildren()){switch(o.type){case v.IdentifierSelector:a.id++;break;case v.ClassSelector:case v.AttributeSelector:a.attr++;break;case v.ElementNameSelector:if(o.matches("*"))break;a.tag++;break;case v.PseudoSelector:const l=o.getText(),c=o.getChildren();if(this.isPseudoElementIdentifier(l)){if(l.match(/^::slotted/i)&&c.length>0){a.tag++;let d=n(c);a.id+=d.id,a.attr+=d.attr,a.tag+=d.tag;continue e}a.tag++;continue e}if(l.match(/^:where/i))continue e;if(l.match(/^:(?:not|has|is)/i)&&c.length>0){let d=n(c);a.id+=d.id,a.attr+=d.attr,a.tag+=d.tag;continue e}if(l.match(/^:(?:host|host-context)/i)&&c.length>0){a.attr++;let d=n(c);a.id+=d.id,a.attr+=d.attr,a.tag+=d.tag;continue e}if(l.match(/^:(?:nth-child|nth-last-child)/i)&&c.length>0){if(a.attr++,c.length===3&&c[1].type===23){let g=n(c[2].getChildren());a.id+=g.id,a.attr+=g.attr,a.tag+=g.tag;continue e}const d=new Cr,u=c[1].getText();d.scanner.setSource(u);const m=d.scanner.scan(),f=d.scanner.scan();if(m.text==="n"||m.text==="-n"&&f.text==="of"){const g=[],k=u.slice(f.offset+2).split(",");for(const N of k){const _=d.internalParse(N,d._parseSelector);_&&g.push(_)}let F=n(g);a.id+=F.id,a.attr+=F.attr,a.tag+=F.tag;continue e}continue e}a.attr++;continue e}if(o.getChildren().length>0){const l=r(o);a.id+=l.id,a.attr+=l.attr,a.tag+=l.tag}}return a},i=r(e);return`[${w("Selector Specificity")}](https://developer.mozilla.org/docs/Web/CSS/Specificity): (${i.id}, ${i.attr}, ${i.tag})`}}class Rm{constructor(e){this.prev=null,this.element=e}processSelector(e){let n=null;if(!(this.element instanceof Kt)&&e.getChildren().some(r=>r.hasChildren()&&r.getChild(0).type===v.SelectorCombinator)){const r=this.element.findRoot();r.parent instanceof Kt&&(n=this.element,this.element=r.parent,this.element.removeChild(r),this.prev=null)}for(const r of e.getChildren()){if(r instanceof Ht){if(this.prev instanceof Ht){const a=new ds("…");this.element.addChild(a),this.element=a}else this.prev&&(this.prev.matches("+")||this.prev.matches("~"))&&this.element.parent&&(this.element=this.element.
Line truncated
|
||||
$0
|
||||
}`,insertTextFormat:Ie.Snippet,kind:q.Keyword},{label:"@for",documentation:w("For loop that repeatedly outputs a set of styles for each `$var` in the `from/through` or `from/to` clause."),insertText:"@for \\$${1:var} from ${2:start} ${3|to,through|} ${4:end} {\n $0\n}",insertTextFormat:Ie.Snippet,kind:q.Keyword},{label:"@each",documentation:w("Each loop that sets `$var` to each item in the list or map, then outputs the styles it contains using that value of `$var`."),insertText:"@each \\$${1:var} in ${2:list} {\n $0\n}",insertTextFormat:Ie.Snippet,kind:q.Keyword},{label:"@while",documentation:w("While loop that takes an expression and repeatedly outputs the nested styles until the statement evaluates to `false`."),insertText:`@while \${1:condition} {
|
||||
$0
|
||||
}`,insertTextFormat:Ie.Snippet,kind:q.Keyword},{label:"@mixin",documentation:w("Defines styles that can be re-used throughout the stylesheet with `@include`."),insertText:`@mixin \${1:name} {
|
||||
$0
|
||||
}`,insertTextFormat:Ie.Snippet,kind:q.Keyword},{label:"@include",documentation:w("Includes the styles defined by another mixin into the current rule."),kind:q.Keyword},{label:"@function",documentation:w("Defines complex operations that can be re-used throughout stylesheets."),kind:q.Keyword}],ge.scssModuleLoaders=[{label:"@use",documentation:w("Loads mixins, functions, and variables from other Sass stylesheets as 'modules', and combines CSS from multiple stylesheets together."),references:[{name:at,url:"https://sass-lang.com/documentation/at-rules/use"}],insertText:"@use $0;",insertTextFormat:Ie.Snippet,kind:q.Keyword},{label:"@forward",documentation:w("Loads a Sass stylesheet and makes its mixins, functions, and variables available when this stylesheet is loaded with the @use rule."),references:[{name:at,url:"https://sass-lang.com/documentation/at-rules/forward"}],insertText:"@forward $0;",insertTextFormat:Ie.Snippet,kind:q.Keyword}],ge.scssModuleBuiltIns=[{label:"sass:math",documentation:w("Provides functions that operate on numbers."),references:[{name:at,url:"https://sass-lang.com/documentation/modules/math"}]},{label:"sass:string",documentation:w("Makes it easy to combine, search, or split apart strings."),references:[{name:at,url:"https://sass-lang.com/documentation/modules/string"}]},{label:"sass:color",documentation:w("Generates new colors based on existing ones, making it easy to build color themes."),references:[{name:at,url:"https://sass-lang.com/documentation/modules/color"}]},{label:"sass:list",documentation:w("Lets you access and modify values in lists."),references:[{name:at,url:"https://sass-lang.com/documentation/modules/list"}]},{label:"sass:map",documentation:w("Makes it possible to look up the value associated with a key in a map, and much more."),references:[{name:at,url:"https://sass-lang.com/documentation/modules/map"}]},{label:"sass:selector",documentation:w("Provides access to Sass’s powerful selector engine."),references:[{name:at,url:"https://sass-lang.com/documentation/modules/selector"}]},{label:"sass:meta",documentation:w("Exposes the details of Sass’s inner workings."),references:[{name:at,url:"https://sass-lang.com/documentation/modules/meta"}]}];function Jc(t){t.forEach(e=>{if(e.documentation&&e.references&&e.references.length>0){const n=typeof e.documentation=="string"?{kind:"markdown",value:e.documentation}:{kind:"markdown",value:e.documentation.value};n.value+=`
|
||||
|
||||
`,n.value+=e.references.map(r=>`[${r.name}](${r.url})`).join(" | "),e.documentation=n}})}const Xc=47,Km=10,Zm=13,ef=12,_s=96,Es=46;let tf=p.CustomToken;const Fs=tf++;class Yc extends _n{scanNext(e){const n=this.escapedJavaScript();return n!==null?this.finishToken(e,n):this.stream.advanceIfChars([Es,Es,Es])?this.finishToken(e,Fs):super.scanNext(e)}comment(){return super.comment()?!0:!this.inURL&&this.stream.advanceIfChars([Xc,Xc])?(this.stream.advanceWhileChar(e=>{switch(e){case Km:case Zm:case ef:return!1;default:return!0}}),!0):!1}escapedJavaScript(){return this.stream.peekChar()===_s?(this.stream.advance(1),this.stream.advanceWhileChar(n=>n!==_s),this.stream.advanceIfChar(_s)?p.EscapedJavaScript:p.BadEscapedJavaScript):null}}class nf extends Cr{constructor(){super(new Yc)}_parseStylesheetStatement(e=!1){return this.peek(p.AtKeyword)?this._parseVariableDeclaration()||this._parsePlugin()||super._parseStylesheetAtStatement(e):this._tryParseMixinDeclaration()||this._tryParseMixinReference()||this._parseFunction()||this._parseRuleset(!0)}_parseImport(){if(!this.peekKeyword("@import")&&!this.peekKeyword("@import-once"))return null;const e=this.create(Li);if(this.consumeToken(),this.accept(p.ParenthesisL)){if(!this.accept(p.Ident))return this.finish(e,S.IdentifierExpected,[p.SemiColon]);do if(!this.accept(p.Comma))break;while(this.accept(p.Ident));if(!this.accept(p.ParenthesisR))return this.finish(e,S.RightParenthesisExpected,[p.SemiColon])}return!e.addChild(this._parseURILiteral())&&!e.addChild(this._parseStringLiteral())?this.finish(e,S.URIOrStringExpected,[p.SemiColon]):(!this.peek(p.SemiColon)&&!this.peek(p.EOF)&&e.setMedialist(this._parseMediaQueryList()),this._completeParseImport(e))}_parsePlugin(){if(!this.peekKeyword("@plugin"))return null;const e=this.createNode(v.Plugin);return this.consumeToken(),e.addChild(this._parseStringLiteral())?this.accept(p.SemiColon)?this.finish(e):this.finish(e,S.SemiColonExpected):this.finish(e,S.StringLiteralExpected)}_parseMediaQuery(){const e=super._parseMediaQuery();if(!e){const n=this.create(ul);return n.addChild(this._parseVariable())?this.finish(n):null}return e}_parseMediaDeclaration(e=!1){return this._tryParseRuleset(e)||this._tryToParseDeclaration()||this._tryParseMixinDeclaration()||this._tryParseMixinReference()||this._parseDetachedRuleSetMixin()||this._parseStylesheetStatement(e)}_parseMediaFeatureName(){return this._parseIdent()||this._parseVariable()}_parseVariableDeclaration(e=[]){const n=this.create(hr),r=this.mark();if(!n.setVariable(this._parseVariable(!0)))return null;if(this.accept(p.Colon)){if(this.prevToken&&(n.colonPosition=this.prevToken.offset),n.setValue(this._parseDetachedRuleSet()))n.needsSemicolon=!1;else if(!n.setValue(this._parseExpr()))return this.finish(n,S.VariableValueExpected,[],e);n.addChild(this._parsePrio())}else return this.restoreAtMark(r),null;return this.peek(p.SemiColon)&&(n.semicolonPosition=this.token.offset),this.finish(n)}_parseDetachedRuleSet(){let e=this.mark();if(this.peekDelim("#")||this.peekDelim("."))if(this.consumeToken(),!this.hasWhitespace()&&this.accept(p.ParenthesisL)){let r=this.create(In);if(r.getParameters().addChild(this._parseMixinParameter()))for(;(this.accept(p.Comma)||this.accept(p.SemiColon))&&!this.peek(p.ParenthesisR);)r.getParameters().addChild(this._parseMixinParameter())||this.markError(r,S.IdentifierExpected,[],[p.ParenthesisR]);if(!this.accept(p.ParenthesisR))return this.restoreAtMark(e),null}else return this.restoreAtMark(e),null;if(!this.peek(p.CurlyL))return null;const n=this.create(oe);return this._parseBody(n,this._parseDetachedRuleSetBody.bind(this)),this.finish(n)}_parseDetachedRuleSetBody(){return this._tryParseKeyframeSelector()||this._parseRuleSetDeclaration()}_addLookupChildren(e){if(!e.addChild(this._parseLookupValue()))return!1;let n=!1;for(;this.peek(p.BracketL)&&(n=!0),!!e.addChild(this._parseLookupValue());)n=!1;return!n}_parseLookupValue(){const e=this.create(W),n=this.mark();return this.accept(p.BracketL)?(e.addChild(this._parseVariable(!1,!0))||e.addChild(this._parsePropertyIdentifier()))&&this.accept(p.BracketR)||this.accept(p.BracketR)?e:(this.restoreAtMark(n),null):(this.restoreAtMark(n),null)}_parseVariable(e=!1,n=!1){const r=!e&&this.peekDelim("$");if(!this.peekDelim("@")&&!r&&!this.peek(p.AtKeyword))return null;const i=this.create(Wi),s=this.mark();for(;this.acceptDelim("@")||!e&&this.acceptDelim("$");)if(this.hasWhitespace())return this.restoreAtMark(s),null;return!this.accept(p.AtKeyword)&&!this.accept(p.Ident)?(this.restoreAtMark(s),null):!n&&this.peek(p.BracketL)&&!this._addLookupChildren(i)?(this.restoreAtMark(s),null):i}_parseTermExpression(){return this._parseVariable()||this._parseEscaped()||super._parseTermExpression()||this._tryParseMixinReference(!1)}_parseEscaped(){if(this.peek(p.EscapedJavaScript)||this.peek(p.BadEscapedJavaScript)){const e=this.createNode(v.EscapedValue);return this.consumeToken(),this.finish(e)}if(this.peekDelim("~")){const e=this.createNode(
Line truncated
|
||||
`);c!==-1?this.__character_count=l.length-c:this.__character_count+=l.length},s.prototype.pop=function(){var l=null;return this.is_empty()||(l=this.__items.pop(),this.__character_count-=l.length),l},s.prototype._remove_indent=function(){this.__indent_count>0&&(this.__indent_count-=1,this.__character_count-=this.__parent.indent_size)},s.prototype._remove_wrap_indent=function(){this.__wrap_point_indent_count>0&&(this.__wrap_point_indent_count-=1)},s.prototype.trim=function(){for(;this.last()===" ";)this.__items.pop(),this.__character_count-=1},s.prototype.toString=function(){var l="";return this.is_empty()?this.__parent.indent_empty_lines&&(l=this.__parent.get_indent_string(this.__indent_count)):(l=this.__parent.get_indent_string(this.__indent_count,this.__alignment_count),l+=this.__items.join("")),l};function a(l,c){this.__cache=[""],this.__indent_size=l.indent_size,this.__indent_string=l.indent_char,l.indent_with_tabs||(this.__indent_string=new Array(l.indent_size+1).join(l.indent_char)),c=c||"",l.indent_level>0&&(c=new Array(l.indent_level+1).join(this.__indent_string)),this.__base_string=c,this.__base_string_length=c.length}a.prototype.get_indent_size=function(l,c){var d=this.__base_string_length;return c=c||0,l<0&&(d=0),d+=l*this.__indent_size,d+=c,d},a.prototype.get_indent_string=function(l,c){var d=this.__base_string;return c=c||0,l<0&&(l=0,d=""),c+=l*this.__indent_size,this.__ensure_cache(c),d+=this.__cache[c],d},a.prototype.__ensure_cache=function(l){for(;l>=this.__cache.length;)this.__add_column()},a.prototype.__add_column=function(){var l=this.__cache.length,c=0,d="";this.__indent_size&&l>=this.__indent_size&&(c=Math.floor(l/this.__indent_size),l-=c*this.__indent_size,d=new Array(c+1).join(this.__indent_string)),l&&(d+=new Array(l+1).join(" ")),this.__cache.push(d)};function o(l,c){this.__indent_cache=new a(l,c),this.raw=!1,this._end_with_newline=l.end_with_newline,this.indent_size=l.indent_size,this.wrap_line_length=l.wrap_line_length,this.indent_empty_lines=l.indent_empty_lines,this.__lines=[],this.previous_line=null,this.current_line=null,this.next_line=new s(this),this.space_before_token=!1,this.non_breaking_space=!1,this.previous_token_wrapped=!1,this.__add_outputline()}o.prototype.__add_outputline=function(){this.previous_line=this.current_line,this.current_line=this.next_line.clone_empty(),this.__lines.push(this.current_line)},o.prototype.get_line_number=function(){return this.__lines.length},o.prototype.get_indent_string=function(l,c){return this.__indent_cache.get_indent_string(l,c)},o.prototype.get_indent_size=function(l,c){return this.__indent_cache.get_indent_size(l,c)},o.prototype.is_empty=function(){return!this.previous_line&&this.current_line.is_empty()},o.prototype.add_new_line=function(l){return this.is_empty()||!l&&this.just_added_newline()?!1:(this.raw||this.__add_outputline(),!0)},o.prototype.get_code=function(l){this.trim(!0);var c=this.current_line.pop();c&&(c[c.length-1]===`
|
||||
`&&(c=c.replace(/\n+$/g,"")),this.current_line.push(c)),this._end_with_newline&&this.__add_outputline();var d=this.__lines.join(`
|
||||
`);return l!==`
|
||||
`&&(d=d.replace(/[\n]/g,l)),d},o.prototype.set_wrap_point=function(){this.current_line._set_wrap_point()},o.prototype.set_indent=function(l,c){return l=l||0,c=c||0,this.next_line.set_indent(l,c),this.__lines.length>1?(this.current_line.set_indent(l,c),!0):(this.current_line.set_indent(),!1)},o.prototype.add_raw_token=function(l){for(var c=0;c<l.newlines;c++)this.__add_outputline();this.current_line.set_indent(-1),this.current_line.push(l.whitespace_before),this.current_line.push(l.text),this.space_before_token=!1,this.non_breaking_space=!1,this.previous_token_wrapped=!1},o.prototype.add_token=function(l){this.__add_space_before_token(),this.current_line.push(l),this.space_before_token=!1,this.non_breaking_space=!1,this.previous_token_wrapped=this.current_line._allow_wrap()},o.prototype.__add_space_before_token=function(){this.space_before_token&&!this.just_added_newline()&&(this.non_breaking_space||this.set_wrap_point(),this.current_line.push(" "))},o.prototype.remove_indent=function(l){for(var c=this.__lines.length;l<c;)this.__lines[l]._remove_indent(),l++;this.current_line._remove_wrap_indent()},o.prototype.trim=function(l){for(l=l===void 0?!1:l,this.current_line.trim();l&&this.__lines.length>1&&this.current_line.is_empty();)this.__lines.pop(),this.current_line=this.__lines[this.__lines.length-1],this.current_line.trim();this.previous_line=this.__lines.length>1?this.__lines[this.__lines.length-2]:null},o.prototype.just_added_newline=function(){return this.current_line.is_empty()},o.prototype.just_added_blankline=function(){return this.is_empty()||this.current_line.is_empty()&&this.previous_line.is_empty()},o.prototype.ensure_empty_line_above=function(l,c){for(var d=this.__lines.length-2;d>=0;){var u=this.__lines[d];if(u.is_empty())break;if(u.item(0).indexOf(l)!==0&&u.item(-1)!==c){this.__lines.splice(d+1,0,new s(this)),this.previous_line=this.__lines[this.__lines.length-2];break}d--}},i.exports.Output=o}),,,,(function(i){function s(l,c){this.raw_options=a(l,c),this.disabled=this._get_boolean("disabled"),this.eol=this._get_characters("eol","auto"),this.end_with_newline=this._get_boolean("end_with_newline"),this.indent_size=this._get_number("indent_size",4),this.indent_char=this._get_characters("indent_char"," "),this.indent_level=this._get_number("indent_level"),this.preserve_newlines=this._get_boolean("preserve_newlines",!0),this.max_preserve_newlines=this._get_number("max_preserve_newlines",32786),this.preserve_newlines||(this.max_preserve_newlines=0),this.indent_with_tabs=this._get_boolean("indent_with_tabs",this.indent_char===" "),this.indent_with_tabs&&(this.indent_char=" ",this.indent_size===1&&(this.indent_size=4)),this.wrap_line_length=this._get_number("wrap_line_length",this._get_number("max_char")),this.indent_empty_lines=this._get_boolean("indent_empty_lines"),this.templating=this._get_selection_list("templating",["auto","none","angular","django","erb","handlebars","php","smarty"],["auto"])}s.prototype._get_array=function(l,c){var d=this.raw_options[l],u=c||[];return typeof d=="object"?d!==null&&typeof d.concat=="function"&&(u=d.concat()):typeof d=="string"&&(u=d.split(/[^a-zA-Z0-9_\/\-]+/)),u},s.prototype._get_boolean=function(l,c){var d=this.raw_options[l],u=d===void 0?!!c:!!d;return u},s.prototype._get_characters=function(l,c){var d=this.raw_options[l],u=c||"";return typeof d=="string"&&(u=d.replace(/\\r/,"\r").replace(/\\n/,`
|
||||
`).replace(/\\t/," ")),u},s.prototype._get_number=function(l,c){var d=this.raw_options[l];c=parseInt(c,10),isNaN(c)&&(c=0);var u=parseInt(d,10);return isNaN(u)&&(u=c),u},s.prototype._get_selection=function(l,c,d){var u=this._get_selection_list(l,c,d);if(u.length!==1)throw new Error("Invalid Option Value: The option '"+l+`' can only be one of the following values:
|
||||
`+c+`
|
||||
You passed in: '`+this.raw_options[l]+"'");return u[0]},s.prototype._get_selection_list=function(l,c,d){if(!c||c.length===0)throw new Error("Selection list cannot be empty.");if(d=d||[c[0]],!this._is_valid_selection(d,c))throw new Error("Invalid Default Value!");var u=this._get_array(l,d);if(!this._is_valid_selection(u,c))throw new Error("Invalid Option Value: The option '"+l+`' can contain only the following values:
|
||||
`+c+`
|
||||
You passed in: '`+this.raw_options[l]+"'");return u},s.prototype._is_valid_selection=function(l,c){return l.length&&c.length&&!l.some(function(d){return c.indexOf(d)===-1})};function a(l,c){var d={};l=o(l);var u;for(u in l)u!==c&&(d[u]=l[u]);if(c&&l[c])for(u in l[c])d[u]=l[c][u];return d}function o(l){var c={},d;for(d in l){var u=d.replace(/-/g,"_");c[u]=l[d]}return c}i.exports.Options=s,i.exports.normalizeOpts=o,i.exports.mergeOpts=a}),,(function(i){var s=RegExp.prototype.hasOwnProperty("sticky");function a(o){this.__input=o||"",this.__input_length=this.__input.length,this.__position=0}a.prototype.restart=function(){this.__position=0},a.prototype.back=function(){this.__position>0&&(this.__position-=1)},a.prototype.hasNext=function(){return this.__position<this.__input_length},a.prototype.next=function(){var o=null;return this.hasNext()&&(o=this.__input.charAt(this.__position),this.__position+=1),o},a.prototype.peek=function(o){var l=null;return o=o||0,o+=this.__position,o>=0&&o<this.__input_length&&(l=this.__input.charAt(o)),l},a.prototype.__match=function(o,l){o.lastIndex=l;var c=o.exec(this.__input);return c&&!(s&&o.sticky)&&c.index!==l&&(c=null),c},a.prototype.test=function(o,l){return l=l||0,l+=this.__position,l>=0&&l<this.__input_length?!!this.__match(o,l):!1},a.prototype.testChar=function(o,l){var c=this.peek(l);return o.lastIndex=0,c!==null&&o.test(c)},a.prototype.match=function(o){var l=this.__match(o,this.__position);return l?this.__position+=l[0].length:l=null,l},a.prototype.read=function(o,l,c){var d="",u;return o&&(u=this.match(o),u&&(d+=u[0])),l&&(u||!o)&&(d+=this.readUntil(l,c)),d},a.prototype.readUntil=function(o,l){var c="",d=this.__position;o.lastIndex=this.__position;var u=o.exec(this.__input);return u?(d=u.index,l&&(d+=u[0].length)):d=this.__input_length,c=this.__input.substring(this.__position,d),this.__position=d,c},a.prototype.readUntilAfter=function(o){return this.readUntil(o,!0)},a.prototype.get_regexp=function(o,l){var c=null,d="g";return l&&s&&(d="y"),typeof o=="string"&&o!==""?c=new RegExp(o,d):o&&(c=new RegExp(o.source,d)),c},a.prototype.get_literal_regexp=function(o){return RegExp(o.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&"))},a.prototype.peekUntilAfter=function(o){var l=this.__position,c=this.readUntilAfter(o);return this.__position=l,c},a.prototype.lookBack=function(o){var l=this.__position-1;return l>=o.length&&this.__input.substring(l-o.length,l).toLowerCase()===o},i.exports.InputScanner=a}),,,,,(function(i){function s(a,o){a=typeof a=="string"?a:a.source,o=typeof o=="string"?o:o.source,this.__directives_block_pattern=new RegExp(a+/ beautify( \w+[:]\w+)+ /.source+o,"g"),this.__directive_pattern=/ (\w+)[:](\w+)/g,this.__directives_end_ignore_pattern=new RegExp(a+/\sbeautify\signore:end\s/.source+o,"g")}s.prototype.get_directives=function(a){if(!a.match(this.__directives_block_pattern))return null;var o={};this.__directive_pattern.lastIndex=0;for(var l=this.__directive_pattern.exec(a);l;)o[l[1]]=l[2],l=this.__directive_pattern.exec(a);return o},s.prototype.readIgnored=function(a){return a.readUntilAfter(this.__directives_end_ignore_pattern)},i.exports.Directives=s}),,(function(i,s,a){var o=a(16).Beautifier,l=a(17).Options;function c(d,u){var m=new o(d,u);return m.beautify()}i.exports=c,i.exports.defaultOptions=function(){return new l}}),(function(i,s,a){var o=a(17).Options,l=a(2).Output,c=a(8).InputScanner,d=a(13).Directives,u=new d(/\/\*/,/\*\//),m=/\r\n|[\r\n]/,f=/\r\n|[\r\n]/g,g=/\s/,b=/(?:\s|\n)+/g,k=/\/\*(?:[\s\S]*?)((?:\*\/)|$)/g,F=/\/\/(?:[^\n\r\u2028\u2029]*)/g;function N(_,T){this._source_text=_||"",this._options=new o(T),this._ch=null,this._input=null,this.NESTED_AT_RULE={page:!0,"font-face":!0,keyframes:!0,media:!0,supports:!0,document:!0},this.CONDITIONAL_GROUP_RULE={media:!0,supports:!0,document:!0},this.NON_SEMICOLON_NEWLINE_PROPERTY=["grid-template-areas","grid-template"]}N.prototype.eatString=function(_){var T="";for(this._ch=this._input.next();this._ch;){if(T+=this._ch,this._ch==="\\")T+=this._input.next();else if(_.indexOf(this._ch)!==-1||this._ch===`
|
||||
`)break;this._ch=this._input.next()}return T},N.prototype.eatWhitespace=function(_){for(var T=g.test(this._input.peek()),O=0;g.test(this._input.peek());)this._ch=this._input.next(),_&&this._ch===`
|
||||
`&&(O===0||O<this._options.max_preserve_newlines)&&(O++,this._output.add_new_line(!0));return T},N.prototype.foundNestedPseudoClass=function(){for(var _=0,T=1,O=this._input.peek(T);O;){if(O==="{")return!0;if(O==="(")_+=1;else if(O===")"){if(_===0)return!1;_-=1}else if(O===";"||O==="}")return!1;T++,O=this._input.peek(T)}return!1},N.prototype.print_string=function(_){this._output.set_indent(this._indentLevel),this._output.non_breaking_space=!0,this._output.add_token(_)},N.prototype.preserveSingleSpace=function(_){_&&(this._output.space_before_token=!0)},N.prototype.indent=function(){this._indentLevel++},N.prototype.outdent=function(){this._indentLevel>0&&this._indentLevel--},N.prototype.beautify=function(){if(this._options.disabled)return this._source_text;var _=this._source_text,T=this._options.eol;T==="auto"&&(T=`
|
||||
`,_&&m.test(_||"")&&(T=_.match(m)[0])),_=_.replace(f,`
|
||||
`);var O=_.match(/^[\t ]*/)[0];this._output=new l(this._options,O),this._input=new c(_),this._indentLevel=0,this._nestedLevel=0,this._ch=null;for(var V=0,I=!1,R=!1,z=!1,$=!1,L=!1,y=this._ch,E=!1,D,A,M;D=this._input.read(b),A=D!=="",M=y,this._ch=this._input.next(),this._ch==="\\"&&this._input.hasNext()&&(this._ch+=this._input.next()),y=this._ch,this._ch;)if(this._ch==="/"&&this._input.peek()==="*"){this._output.add_new_line(),this._input.back();var P=this._input.read(k),H=u.get_directives(P);H&&H.ignore==="start"&&(P+=u.readIgnored(this._input)),this.print_string(P),this.eatWhitespace(!0),this._output.add_new_line()}else if(this._ch==="/"&&this._input.peek()==="/")this._output.space_before_token=!0,this._input.back(),this.print_string(this._input.read(F)),this.eatWhitespace(!0);else if(this._ch==="$"){this.preserveSingleSpace(A),this.print_string(this._ch);var ee=this._input.peekUntilAfter(/[: ,;{}()[\]\/='"]/g);ee.match(/[ :]$/)&&(ee=this.eatString(": ").replace(/\s+$/,""),this.print_string(ee),this._output.space_before_token=!0),V===0&&ee.indexOf(":")!==-1&&(R=!0,this.indent())}else if(this._ch==="@")if(this.preserveSingleSpace(A),this._input.peek()==="{")this.print_string(this._ch+this.eatString("}"));else{this.print_string(this._ch);var G=this._input.peekUntilAfter(/[: ,;{}()[\]\/='"]/g);G.match(/[ :]$/)&&(G=this.eatString(": ").replace(/\s+$/,""),this.print_string(G),this._output.space_before_token=!0),V===0&&G.indexOf(":")!==-1?(R=!0,this.indent()):G in this.NESTED_AT_RULE?(this._nestedLevel+=1,G in this.CONDITIONAL_GROUP_RULE&&(z=!0)):V===0&&!R&&($=!0)}else if(this._ch==="#"&&this._input.peek()==="{")this.preserveSingleSpace(A),this.print_string(this._ch+this.eatString("}"));else if(this._ch==="{")R&&(R=!1,this.outdent()),$=!1,z?(z=!1,I=this._indentLevel>=this._nestedLevel):I=this._indentLevel>=this._nestedLevel-1,this._options.newline_between_rules&&I&&this._output.previous_line&&this._output.previous_line.item(-1)!=="{"&&this._output.ensure_empty_line_above("/",","),this._output.space_before_token=!0,this._options.brace_style==="expand"?(this._output.add_new_line(),this.print_string(this._ch),this.indent(),this._output.set_indent(this._indentLevel)):(M==="("?this._output.space_before_token=!1:M!==","&&this.indent(),this.print_string(this._ch)),this.eatWhitespace(!0),this._output.add_new_line();else if(this._ch==="}")this.outdent(),this._output.add_new_line(),M==="{"&&this._output.trim(!0),R&&(this.outdent(),R=!1),this.print_string(this._ch),I=!1,this._nestedLevel&&this._nestedLevel--,this.eatWhitespace(!0),this._output.add_new_line(),this._options.newline_between_rules&&!this._output.just_added_blankline()&&this._input.peek()!=="}"&&this._output.add_new_line(!0),this._input.peek()===")"&&(this._output.trim(!0),this._options.brace_style==="expand"&&this._output.add_new_line(!0));else if(this._ch===":"){for(var xe=0;xe<this.NON_SEMICOLON_NEWLINE_PROPERTY.length;xe++)if(this._input.lookBack(this.NON_SEMICOLON_NEWLINE_PROPERTY[xe])){E=!0;break}(I||z)&&!(this._input.lookBack("&")||this.foundNestedPseudoClass())&&!this._input.lookBack("(")&&!$&&V===0?(this.print_string(":"),R||(R=!0,this._output.space_before_token=!0,this.eatWhitespace(!0),this.indent())):(this._input.lookBack(" ")&&(this._output.space_before_token=!0),this._input.peek()===":"?(this._ch=this._input.next(),this.print_string("::")):this.print_string(":"))}else if(this._ch==='"'||this._ch==="'"){var on=M==='"'||M==="'";this.preserveSingleSpace(on||A),this.print_string(this._ch+this.eatString(this._ch)),this.eatWhitespace(!0)}else if(this._ch===";")E=!1,V===0?(R&&(this.outdent(),R=!1),$=!1,this.print_string(this._ch),this.eatWhitespace(!0),this._input.peek()!=="/"&&this._output.add_new_line()):(this.print_string(this._ch),this.eatWhitespace(!0),this._output.space_before_token=!0);else if(this._ch==="(")if(this._input.lookBack("url"))this.print_string(this._ch),this.eatWhitespace(),V++,this.indent(),this._ch=this._input.next(),this._ch===")"||this._ch==='"'||this._ch==="'"?this._input.back():this._ch&&(this.print_string(this._ch+this.eatString(")")),V&&(V--,this.outdent()));else{var bt=!1;this._input.lookBack("with")&&(bt=!0),this.preserveSingleSpace(A||bt),this.print_string(this._ch),R&&M==="$"&&this._options.selector_separator_newline?(this._output.add_new_line(),L=!0):(this.eatWhitespace(),V++,this.indent())}else if(this._ch===")")V&&(V--,this.outdent()),L&&this._input.peek()===";"&&this._options.selector_separator_newline&&(L=!1,this.outdent(),this._output.add_new_line()),this.print_string(this._ch);else if(this._ch===",")this.print_string(this._ch),this.eatWhitespace(!0),this._options.selector_separator_newline&&(!R||L)&&V===0&&!$?this._output.add_new_line():this._output.space_before_token=!0;else if((this._ch===">"||this._ch==="+"||this._ch==="~")&&!R&&V===0)this._options.space_around_combinator?(this._output.space_before_token=!0,this.print_string(this._ch),this._output.space_before_token=!0):(this.print_string(this._ch),this.eatWhites
Line truncated
|
||||
`&&E&&this._output.add_new_line()}var ln=this._output.get_code(T);return ln},i.exports.Beautifier=N}),(function(i,s,a){var o=a(6).Options;function l(c){o.call(this,c,"css"),this.selector_separator_newline=this._get_boolean("selector_separator_newline",!0),this.newline_between_rules=this._get_boolean("newline_between_rules",!0);var d=this._get_boolean("space_around_selector_separator");this.space_around_combinator=this._get_boolean("space_around_combinator")||d;var u=this._get_selection_list("brace_style",["collapse","expand","end-expand","none","preserve-inline"]);this.brace_style="collapse";for(var m=0;m<u.length;m++)u[m]!=="expand"?this.brace_style="collapse":this.brace_style=u[m]}l.prototype=new o,i.exports.Options=l})],e={};function n(i){var s=e[i];if(s!==void 0)return s.exports;var a=e[i]={exports:{}};return t[i](a,a.exports,n),a.exports}var r=n(15);Kc=r})();var of=Kc;function lf(t,e,n){let r=t.getText(),i=!0,s=0,a=!1;const o=n.tabSize||4;if(e){let d=t.offsetAt(e.start),u=d;for(;u>0&&th(r,u-1);)u--;u===0||eh(r,u-1)?d=u:u<d&&(d=u+1);let m=t.offsetAt(e.end),f=m;for(;f<r.length&&th(r,f);)f++;if((f===r.length||eh(r,f))&&(m=f),e=K.create(t.positionAt(d),t.positionAt(m)),a=df(r,d),i=m===r.length,r=r.substring(d,m),d!==0){const g=t.offsetAt(ye.create(e.start.line,0));s=uf(t.getText(),g,n)}a&&(r=`{
|
||||
${Zc(r)}`)}else e=K.create(ye.create(0,0),t.positionAt(r.length));const l={indent_size:o,indent_char:n.insertSpaces?" ":" ",end_with_newline:i&&ot(n,"insertFinalNewline",!1),selector_separator_newline:ot(n,"newlineBetweenSelectors",!0),newline_between_rules:ot(n,"newlineBetweenRules",!0),space_around_selector_separator:ot(n,"spaceAroundSelectorSeparator",!1),brace_style:ot(n,"braceStyle","collapse"),indent_empty_lines:ot(n,"indentEmptyLines",!1),max_preserve_newlines:ot(n,"maxPreserveNewLines",void 0),preserve_newlines:ot(n,"preserveNewLines",!0),wrap_line_length:ot(n,"wrapLineLength",void 0),eol:`
|
||||
`};let c=of(r,l);if(a&&(c=Zc(c.substring(2))),s>0){const d=n.insertSpaces?al(" ",o*s):al(" ",s);c=c.split(`
|
||||
`).join(`
|
||||
`+d),e.start.character===0&&(c=d+c)}return[{range:e,newText:c}]}function Zc(t){return t.replace(/^\s+/,"")}const cf=123,hf=125;function df(t,e){for(;e>=0;){const n=t.charCodeAt(e);if(n===cf)return!0;if(n===hf)return!1;e--}return!1}function ot(t,e,n){if(t&&t.hasOwnProperty(e)){const r=t[e];if(r!==null)return r}return n}function uf(t,e,n){let r=e,i=0;const s=n.tabSize||4;for(;r<t.length;){const a=t.charAt(r);if(a===" ")i++;else if(a===" ")i+=s;else break;r++}return Math.floor(i/s)}function eh(t,e){return`\r
|
||||
`.indexOf(t.charAt(e))!==-1}function th(t,e){return" ".indexOf(t.charAt(e))!==-1}const pf={version:1.1,properties:[{name:"additive-symbols",browsers:["FF33"],atRule:"@counter-style",syntax:"[ <integer> && <symbol> ]#",relevance:50,description:"@counter-style descriptor. Specifies the symbols used by the marker-construction algorithm specified by the system descriptor. Needs to be specified if the counter system is 'additive'.",restrictions:["integer","string","image","identifier"]},{name:"align-content",browsers:["E12","FF28","S9","C29","IE11","O16"],values:[{name:"center",description:"Lines are packed toward the center of the flex container."},{name:"flex-end",description:"Lines are packed toward the end of the flex container."},{name:"flex-start",description:"Lines are packed toward the start of the flex container."},{name:"space-around",description:"Lines are evenly distributed in the flex container, with half-size spaces on either end."},{name:"space-between",description:"Lines are evenly distributed in the flex container."},{name:"stretch",description:"Lines stretch to take up the remaining space."},{name:"start"},{name:"end"},{name:"normal"},{name:"baseline"},{name:"first baseline"},{name:"last baseline"},{name:"space-around"},{name:"space-between"},{name:"space-evenly"},{name:"stretch"},{name:"safe"},{name:"unsafe"}],syntax:"normal | <baseline-position> | <content-distribution> | <overflow-position>? <content-position>",relevance:66,references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/align-content"}],description:"Aligns a flex container's lines within the flex container when there is extra space in the cross-axis, similar to how 'justify-content' aligns individual items within the main-axis.",restrictions:["enum"]},{name:"align-items",browsers:["E12","FF20","S9","C29","IE11","O16"],values:[{name:"baseline",description:"If the flex item's inline axis is the same as the cross axis, this value is identical to 'flex-start'. Otherwise, it participates in baseline alignment."},{name:"center",description:"The flex item's margin box is centered in the cross axis within the line."},{name:"flex-end",description:"The cross-end margin edge of the flex item is placed flush with the cross-end edge of the line."},{name:"flex-start",description:"The cross-start margin edge of the flex item is placed flush with the cross-start edge of the line."},{name:"stretch",description:"If the cross size property of the flex item computes to auto, and neither of the cross-axis margins are auto, the flex item is stretched."},{name:"normal"},{name:"start"},{name:"end"},{name:"self-start"},{name:"self-end"},{name:"first baseline"},{name:"last baseline"},{name:"stretch"},{name:"safe"},{name:"unsafe"}],syntax:"normal | stretch | <baseline-position> | [ <overflow-position>? <self-position> ]",relevance:87,references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/align-items"}],description:"Aligns flex items along the cross axis of the current line of the flex container.",restrictions:["enum"]},{name:"justify-items",browsers:["E12","FF20","S9","C52","IE11","O12.1"],values:[{name:"auto"},{name:"normal"},{name:"end"},{name:"start"},{name:"flex-end",description:'"Flex items are packed toward the end of the line."'},{name:"flex-start",description:'"Flex items are packed toward the start of the line."'},{name:"self-end",description:"The item is packed flush to the edge of the alignment container of the end side of the item, in the appropriate axis."},{name:"self-start",description:"The item is packed flush to the edge of the alignment container of the start side of the item, in the appropriate axis.."},{name:"center",description:"The items are packed flush to each other toward the center of the of the alignment container."},{name:"left"},{name:"right"},{name:"baseline"},{name:"first baseline"},{name:"last baseline"},{name:"stretch",description:"If the cross size property of the flex item computes to auto, and neither of the cross-axis margins are auto, the flex item is stretched."},{name:"safe"},{name:"unsafe"},{name:"legacy"}],syntax:"normal | stretch | <baseline-position> | <overflow-position>? [ <self-position> | left | right ] | legacy | legacy && [ left | right | center ]",relevance:53,references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/justify-items"}],description:"Defines the default justify-self for all items of the box, giving them the default way of justifying each box along the appropriate axis",restrictions:["enum"]},{name:"justify-self",browsers:["E16","FF45","S10.1","C57","IE10","O44"],values:[{name:"auto"},{name:"normal"},{name:"end"},{name:"start"},{name:"flex-end",description:'"Flex items are packed toward the end of the line."'},{name:"flex-start",description:'"Flex items are packed toward the start of the line."'},{name:"self-end",description:"The item is packed flush to the edge of the alignment container of the end side of the item, in
Line truncated
|
||||
|
||||
This feature is available since Firefox 55, but is only currently supported with SVG images loaded via chrome:// or resource:// URLs. To experiment with the feature in SVG on the Web it is necessary to set the svg.context-properties.content.enabled pref to true.`},{name:"-moz-float-edge",status:"obsolete",syntax:"border-box | content-box | margin-box | padding-box",values:[{name:"border-box"},{name:"content-box"},{name:"margin-box"},{name:"padding-box"}],relevance:0,browsers:["FF1"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/-moz-float-edge"}],description:"The non-standard -moz-float-edge CSS property specifies whether the height and width properties of the element include the margin, border, or padding thickness."},{name:"-moz-force-broken-image-icon",status:"obsolete",syntax:"0 | 1",values:[{name:"0"},{name:"1"}],relevance:0,browsers:["FF1"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/-moz-force-broken-image-icon"}],description:"The -moz-force-broken-image-icon extended CSS property can be used to force the broken image icon to be shown even when a broken image has an alt attribute."},{name:"-moz-image-region",status:"nonstandard",syntax:"<shape> | auto",relevance:0,browsers:["FF1"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/-moz-image-region"}],description:"For certain XUL elements and pseudo-elements that use an image from the list-style-image property, this property specifies a region of the image that is used in place of the whole image. This allows elements to use different pieces of the same image to improve performance."},{name:"-moz-orient",status:"nonstandard",syntax:"inline | block | horizontal | vertical",values:[{name:"inline"},{name:"block"},{name:"horizontal"},{name:"vertical"}],relevance:0,browsers:["FF6"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/-moz-orient"}],description:"The -moz-orient CSS property specifies the orientation of the element to which it's applied."},{name:"-moz-outline-radius",status:"nonstandard",syntax:"<outline-radius>{1,4} [ / <outline-radius>{1,4} ]?",relevance:0,description:"In Mozilla applications like Firefox, the -moz-outline-radius CSS property can be used to give an element's outline rounded corners."},{name:"-moz-outline-radius-bottomleft",status:"nonstandard",syntax:"<outline-radius>",relevance:0,description:"In Mozilla applications, the -moz-outline-radius-bottomleft CSS property can be used to round the bottom-left corner of an element's outline."},{name:"-moz-outline-radius-bottomright",status:"nonstandard",syntax:"<outline-radius>",relevance:0,description:"In Mozilla applications, the -moz-outline-radius-bottomright CSS property can be used to round the bottom-right corner of an element's outline."},{name:"-moz-outline-radius-topleft",status:"nonstandard",syntax:"<outline-radius>",relevance:0,description:"In Mozilla applications, the -moz-outline-radius-topleft CSS property can be used to round the top-left corner of an element's outline."},{name:"-moz-outline-radius-topright",status:"nonstandard",syntax:"<outline-radius>",relevance:0,description:"In Mozilla applications, the -moz-outline-radius-topright CSS property can be used to round the top-right corner of an element's outline."},{name:"-moz-stack-sizing",status:"nonstandard",syntax:"ignore | stretch-to-fit",values:[{name:"ignore"},{name:"stretch-to-fit"}],relevance:0,description:"-moz-stack-sizing is an extended CSS property. Normally, a stack will change its size so that all of its child elements are completely visible. For example, moving a child of the stack far to the right will widen the stack so the child remains visible."},{name:"-moz-text-blink",status:"nonstandard",syntax:"none | blink",values:[{name:"none"},{name:"blink"}],relevance:0,description:"The -moz-text-blink non-standard Mozilla CSS extension specifies the blink mode."},{name:"-moz-user-input",status:"obsolete",syntax:"auto | none | enabled | disabled",values:[{name:"auto"},{name:"none"},{name:"enabled"},{name:"disabled"}],relevance:0,browsers:["FF1"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/-moz-user-input"}],description:"In Mozilla applications, -moz-user-input determines if an element will accept user input."},{name:"-moz-user-modify",status:"nonstandard",syntax:"read-only | read-write | write-only",values:[{name:"read-only"},{name:"read-write"},{name:"write-only"}],relevance:0,description:"The -moz-user-modify property has no effect. It was originally planned to determine whether or not the content of an element can be edited by a user."},{name:"-moz-window-dragging",status:"nonstandard",syntax:"drag | no-drag",values:[{name:"drag"},{name:"no-drag"}],relevance:0,description:"The -moz-window-dragging CSS property specifies whether a window is draggable or not. It only works in Chrome code, and only on Mac OS X."},{name:"-moz-window-s
Line truncated
|
||||
|
||||
This property is a shorthand for mask-border-source, mask-border-slice, mask-border-width, mask-border-outset, mask-border-repeat, and mask-border-mode. As with all shorthand properties, any omitted sub-values will be set to their initial value.`},{name:"mask-border-mode",syntax:"luminance | alpha",values:[{name:"luminance"},{name:"alpha"}],relevance:50,description:"The mask-border-mode CSS property specifies the blending mode used in a mask border."},{name:"mask-border-outset",syntax:"[ <length> | <number> ]{1,4}",relevance:50,browsers:["E79","S17.2","C1","O15"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/mask-border-outset"}],description:"The mask-border-outset CSS property specifies the distance by which an element's mask border is set out from its border box."},{name:"mask-border-repeat",syntax:"[ stretch | repeat | round | space ]{1,2}",relevance:50,browsers:["E79","S17.2","C1","O15"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/mask-border-repeat"}],description:"The mask-border-repeat CSS property defines how the edge regions of a source image are adjusted to fit the dimensions of an element's mask border."},{name:"mask-border-slice",syntax:"<number-percentage>{1,4} fill?",relevance:50,browsers:["E79","S17.2","C1","O15"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/mask-border-slice"}],description:"The mask-border-slice CSS property divides the image specified by mask-border-source into regions. These regions are used to form the components of an element's mask border."},{name:"mask-border-source",syntax:"none | <image>",relevance:50,browsers:["E79","S17.2","C1","O15"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/mask-border-source"}],description:`The mask-border-source CSS property specifies the source image used to create an element's mask border.
|
||||
|
||||
The mask-border-slice property is used to divide the source image into regions, which are then dynamically applied to the final mask border.`},{name:"mask-border-width",syntax:"[ <length-percentage> | <number> | auto ]{1,4}",relevance:50,browsers:["E79","S17.2","C1","O15"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/mask-border-width"}],description:"The mask-border-width CSS property specifies the width of an element's mask border."},{name:"mask-clip",syntax:"[ <geometry-box> | no-clip ]#",relevance:50,browsers:["E120","FF53","S15.4","C120","O106"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/mask-clip"}],description:"The mask-clip CSS property determines the area, which is affected by a mask. The painted content of an element must be restricted to this area."},{name:"mask-composite",syntax:"<compositing-operator>#",relevance:50,browsers:["E18","FF53","S15.4","C120","O106"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/mask-composite"}],description:"The mask-composite CSS property represents a compositing operation used on the current mask layer with the mask layers below it."},{name:"masonry-auto-flow",status:"experimental",syntax:"[ pack | next ] || [ definite-first | ordered ]",relevance:50,browsers:["Spreview"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/masonry-auto-flow"}],description:"The masonry-auto-flow CSS property modifies how items are placed when using masonry in CSS Grid Layout."},{name:"math-depth",syntax:"auto-add | add(<integer>) | <integer>",relevance:50,browsers:["E109","FF117","C109","O95"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/math-depth"}],description:'Describe a notion of "depth" for each element of a mathematical formula, with respect to the top-level container of that formula.'},{name:"math-shift",syntax:"normal | compact",values:[{name:"normal"},{name:"compact"}],relevance:50,browsers:["E109","C109","O95"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/math-shift"}],description:"Used for positioning superscript during the layout of MathML scripted elements."},{name:"math-style",syntax:"normal | compact",values:[{name:"normal"},{name:"compact"}],relevance:50,browsers:["E109","FF117","S14.1","C109","O95"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/math-style"}],description:"The math-style property indicates whether MathML equations should render with normal or compact height."},{name:"max-lines",status:"experimental",syntax:"none | <integer>",relevance:50,description:"The max-lines property forces a break after a set number of lines"},{name:"offset",syntax:"[ <'offset-position'>? [ <'offset-path'> [ <'offset-distance'> || <'offset-rotate'> ]? ]? ]! [ / <'offset-anchor'> ]?",relevance:50,browsers:["E79","FF72","S16","C55","O42"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/offset"}],description:"The offset CSS property is a shorthand property for animating an element along a defined path."},{name:"offset-anchor",syntax:"auto | <position>",relevance:50,browsers:["E116","FF72","S16","C116","O102"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/offset-anchor"}],description:"Defines an anchor point of the box positioned along the path. The anchor point specifies the point of the box which is to be considered as the point that is moved along the path."},{name:"offset-distance",syntax:"<length-percentage>",relevance:50,browsers:["E79","FF72","S16","C55","O42"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/offset-distance"}],description:"The offset-distance CSS property specifies a position along an offset-path."},{name:"offset-path",syntax:"none | <offset-path> || <coord-box>",relevance:50,browsers:["E79","FF72","S15.4","C55","O45"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/offset-path"}],description:`The offset-path CSS property specifies the offset path where the element gets positioned. The exact element’s position on the offset path is determined by the offset-distance property. An offset path is either a specified path with one or multiple sub-paths or the geometry of a not-styled basic shape. Each shape or path must define an initial position for the computed value of "0" for offset-distance and an initial direction which specifies the rotation of the object to the initial position.
|
||||
|
||||
In this specification, a direction (or rotation) of 0 degrees is equivalent to the direction of the positive x-axis in the object’s local coordinate system. In other words, a rotation of 0 degree points to the right side of the UA if the object and its ancestors have no transformation applied.`},{name:"offset-position",syntax:"normal | auto | <position>",relevance:50,browsers:["E116","FF122","S16","C116","O102"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/offset-position"}],description:"Specifies the initial position of the offset path. If position is specified with static, offset-position would be ignored."},{name:"offset-rotate",syntax:"[ auto | reverse ] || <angle>",relevance:50,browsers:["E79","FF72","S16","C56","O43"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/offset-rotate"}],description:"The offset-rotate CSS property defines the direction of the element while positioning along the offset path."},{name:"overflow-anchor",syntax:"auto | none",values:[{name:"auto"},{name:"none"}],relevance:52,browsers:["E79","FF66","Spreview","C56","O43"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/overflow-anchor"}],description:"The overflow-anchor CSS property provides a way to opt out browser scroll anchoring behavior which adjusts scroll position to minimize content shifts."},{name:"overflow-block",syntax:"visible | hidden | clip | scroll | auto",values:[{name:"visible"},{name:"hidden"},{name:"clip"},{name:"scroll"},{name:"auto"}],relevance:50,browsers:["FF69"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/overflow-block"}],description:"The overflow-block CSS media feature can be used to test how the output device handles content that overflows the initial containing block along the block axis."},{name:"overflow-clip-box",status:"nonstandard",syntax:"padding-box | content-box",values:[{name:"padding-box"},{name:"content-box"}],relevance:0,description:"The overflow-clip-box CSS property specifies relative to which box the clipping happens when there is an overflow. It is short hand for the overflow-clip-box-inline and overflow-clip-box-block properties."},{name:"overflow-clip-margin",syntax:"<visual-box> || <length [0,∞]>",relevance:50,browsers:["E90","FF102","C90","O76"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/overflow-clip-margin"}],description:"The overflow-clip-margin CSS property determines how far outside its bounds an element with overflow: clip may be painted before being clipped."},{name:"overflow-inline",syntax:"visible | hidden | clip | scroll | auto",values:[{name:"visible"},{name:"hidden"},{name:"clip"},{name:"scroll"},{name:"auto"}],relevance:50,browsers:["FF69"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/overflow-inline"}],description:"The overflow-inline CSS media feature can be used to test how the output device handles content that overflows the initial containing block along the inline axis."},{name:"overlay",status:"experimental",syntax:"none | auto",values:[{name:"none"},{name:"auto"}],relevance:50,browsers:["E117","C117","O103"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/overlay"}],description:'The overlay CSS property specifies whether an element appearing in the top layer (for example, a shown popover or modal {{htmlelement("dialog")}} element) is actually rendered in the top layer. This property is only relevant within a list of transition-property values, and only if allow-discrete is set as the transition-behavior.'},{name:"overscroll-behavior",syntax:"[ contain | none | auto ]{1,2}",relevance:50,browsers:["E18","FF59","S16","C63","O50"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior"}],description:"The overscroll-behavior CSS property is shorthand for the overscroll-behavior-x and overscroll-behavior-y properties, which allow you to control the browser's scroll overflow behavior — what happens when the boundary of a scrolling area is reached."},{name:"overscroll-behavior-block",syntax:"contain | none | auto",values:[{name:"contain"},{name:"none"},{name:"auto"}],relevance:50,browsers:["E79","FF73","S16","C77","O64"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior-block"}],description:"The overscroll-behavior-block CSS property sets the browser's behavior when the block direction boundary of a scrolling area is reached."},{name:"overscroll-behavior-inline",syntax:"contain | none | auto",values:[{name:"contain"},{name:"none"},{name:"auto"}],relevance:50,browsers:["E79","FF73","S16","C77","O64"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior-inline"}],description:"The overscroll-behavior-inline CSS property sets the browser's behavior when the inline direction
Line truncated
|
||||
|
||||
Specifying any precise animations or physics used to enforce those snap points is not covered by this property but instead left up to the user agent.`},{name:"scroll-snap-type-y",status:"obsolete",syntax:"none | mandatory | proximity",values:[{name:"none"},{name:"mandatory"},{name:"proximity"}],relevance:0,description:`The scroll-snap-type-y CSS property defines how strictly snap points are enforced on the vertical axis of the scroll container in case there is one.
|
||||
|
||||
Specifying any precise animations or physics used to enforce those snap points is not covered by this property but instead left up to the user agent.`},{name:"scroll-timeline",status:"experimental",syntax:"[ <'scroll-timeline-name'> <'scroll-timeline-axis'>? ]#",relevance:50,browsers:["E115","FF111","C115","O101"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/scroll-timeline"}],description:"Defines a name that can be used to identify the source element of a scroll timeline, along with the scrollbar axis that should provide the timeline."},{name:"scroll-timeline-axis",status:"experimental",syntax:"[ block | inline | x | y ]#",relevance:50,browsers:["E115","FF111","C115","O101"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/scroll-timeline-axis"}],description:"Specifies the scrollbar that will be used to provide the timeline for a scroll-timeline animation"},{name:"scroll-timeline-name",status:"experimental",syntax:"none | <dashed-ident>#",relevance:50,browsers:["E115","FF111","C115","O101"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/scroll-timeline-name"}],description:"Defines a name that can be used to identify an element as the source of a scroll-timeline."},{name:"text-combine-upright",syntax:"none | all | [ digits <integer>? ]",relevance:50,browsers:["E79","FF48","S15.4","C48","IE11","O35"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/text-combine-upright"}],description:`The text-combine-upright CSS property specifies the combination of multiple characters into the space of a single character. If the combined text is wider than 1em, the user agent must fit the contents within 1em. The resulting composition is treated as a single upright glyph for layout and decoration. This property only has an effect in vertical writing modes.
|
||||
|
||||
This is used to produce an effect that is known as tate-chū-yoko (縦中横) in Japanese, or as 直書橫向 in Chinese.`},{name:"text-decoration-skip",status:"experimental",syntax:"none | [ objects || [ spaces | [ leading-spaces || trailing-spaces ] ] || edges || box-decoration ]",relevance:52,browsers:["S12.1","C57","O44"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/text-decoration-skip"}],description:"The text-decoration-skip CSS property specifies what parts of the element’s content any text decoration affecting the element must skip over. It controls all text decoration lines drawn by the element and also any text decoration lines drawn by its ancestors."},{name:"text-decoration-skip-ink",syntax:"auto | all | none",values:[{name:"auto"},{name:"all"},{name:"none"}],relevance:51,browsers:["E79","FF70","S15.4","C64","O50"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/text-decoration-skip-ink"}],description:"The text-decoration-skip-ink CSS property specifies how overlines and underlines are drawn when they pass over glyph ascenders and descenders."},{name:"text-decoration-thickness",syntax:"auto | from-font | <length> | <percentage> ",relevance:50,browsers:["E89","FF70","S12.1","C89","O75"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/text-decoration-thickness"}],description:"The text-decoration-thickness CSS property sets the thickness, or width, of the decoration line that is used on text in an element, such as a line-through, underline, or overline."},{name:"text-emphasis",syntax:"<'text-emphasis-style'> || <'text-emphasis-color'>",relevance:50,browsers:["E99","FF46","S7","C99","O85"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/text-emphasis"}],description:"The text-emphasis CSS property is a shorthand property for setting text-emphasis-style and text-emphasis-color in one declaration. This property will apply the specified emphasis mark to each character of the element's text, except separator characters, like spaces, and control characters."},{name:"text-emphasis-color",syntax:"<color>",relevance:50,browsers:["E99","FF46","S7","C99","O85"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/text-emphasis-color"}],description:"The text-emphasis-color CSS property defines the color used to draw emphasis marks on text being rendered in the HTML document. This value can also be set and reset using the text-emphasis shorthand."},{name:"text-emphasis-position",syntax:"[ over | under ] && [ right | left ]",relevance:50,browsers:["E99","FF46","S7","C99","O85"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/text-emphasis-position"}],description:"The text-emphasis-position CSS property describes where emphasis marks are drawn at. The effect of emphasis marks on the line height is the same as for ruby text: if there isn't enough place, the line height is increased."},{name:"text-emphasis-style",syntax:"none | [ [ filled | open ] || [ dot | circle | double-circle | triangle | sesame ] ] | <string>",relevance:50,browsers:["E99","FF46","S7","C99","O85"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/text-emphasis-style"}],description:"The text-emphasis-style CSS property defines the type of emphasis used. It can also be set, and reset, using the text-emphasis shorthand."},{name:"text-size-adjust",status:"experimental",syntax:"none | auto | <percentage>",relevance:57,browsers:["E79","C54","O41"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/text-size-adjust"}],description:"The text-size-adjust CSS property controls the text inflation algorithm used on some smartphones and tablets. Other browsers will ignore this property."},{name:"text-underline-offset",syntax:"auto | <length> | <percentage> ",relevance:51,browsers:["E87","FF70","S12.1","C87","O73"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/text-underline-offset"}],description:"The text-underline-offset CSS property sets the offset distance of an underline text decoration line (applied using text-decoration) from its original position."},{name:"text-wrap",syntax:"wrap | nowrap | balance | stable | pretty",values:[{name:"wrap"},{name:"nowrap"},{name:"balance"},{name:"stable"},{name:"pretty"}],relevance:54,browsers:["E114","FF121","Spreview","C114","O100"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/text-wrap"}],description:"The text-wrap CSS property controls how text inside an element is wrapped."},{name:"timeline-scope",status:"experimental",syntax:"none | <dashed-ident>#",relevance:50,browsers:["E116","C116","O102"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/timeline-scope"}],description:"The timeline-scope CSS property modifies the scope of a named animation tim
Line truncated
|
||||
|
||||
In order to let ::-webkit-progress-value take effect, -webkit-appearance needs to be set to none on the <progress> element.`},{name:"::grammar-error",status:"experimental",browsers:["E121","Spreview","C121"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/::grammar-error"}],description:"The ::grammar-error CSS pseudo-element represents a text segment which the user agent has flagged as grammatically incorrect."},{name:"::marker",browsers:["E86","FF68","S11.1","C86","O72"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/::marker"}],description:"The ::marker CSS pseudo-element selects the marker box of a list item, which typically contains a bullet or number. It works on any element or pseudo-element set to display: list-item, such as the <li> and <summary> elements."},{name:"::part",status:"experimental",browsers:["E79","FF72","S13.1","C73","O60"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/::part"}],description:"The ::part CSS pseudo-element represents any element within a shadow tree that has a matching part attribute."},{name:"::placeholder",browsers:["E79","FF51","S10.1","C57","O44"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/::placeholder"}],description:"The ::placeholder CSS pseudo-element represents the placeholder text of a form element."},{name:"::slotted",browsers:["E79","FF63","S10","C50","O37"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/::slotted"}],description:"The :slotted() CSS pseudo-element represents any element that has been placed into a slot inside an HTML template."},{name:"::spelling-error",status:"experimental",browsers:["E121","Spreview","C121"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/::spelling-error"}],description:"The ::spelling-error CSS pseudo-element represents a text segment which the user agent has flagged as incorrectly spelled."},{name:"::view-transition",status:"experimental",browsers:["E109","C109","O95"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/::view-transition"}],description:"The ::view-transition CSS pseudo-element represents the root of the view transitions overlay, which contains all view transitions and sits over the top of all other page content."},{name:"::view-transition-group",status:"experimental",browsers:["E109","C109","O95"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/::view-transition-group"}],description:"The ::view-transition-group CSS pseudo-element represents a single view transition group."},{name:"::view-transition-image-pair",status:"experimental",browsers:["E109","C109","O95"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/::view-transition-image-pair"}],description:`The ::view-transition-image-pair CSS pseudo-element represents a container for a view transition's "old" and "new" view states — before and after the transition.`},{name:"::view-transition-new",status:"experimental",browsers:["E109","C109","O95"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/::view-transition-new"}],description:'The ::view-transition-new CSS pseudo-element represents the "new" view state of a view transition — a live representation of the new view, after the transition.'},{name:"::view-transition-old",status:"experimental",browsers:["E109","C109","O95"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/::view-transition-old"}],description:'The ::view-transition-old CSS pseudo-element represents the "old" view state of a view transition — a static screenshot of the old view, before the transition.'}]};class nh{constructor(e){this._properties=[],this._atDirectives=[],this._pseudoClasses=[],this._pseudoElements=[],this.addData(e)}provideProperties(){return this._properties}provideAtDirectives(){return this._atDirectives}providePseudoClasses(){return this._pseudoClasses}providePseudoElements(){return this._pseudoElements}addData(e){if(Array.isArray(e.properties))for(const n of e.properties)mf(n)&&this._properties.push(n);if(Array.isArray(e.atDirectives))for(const n of e.atDirectives)ff(n)&&this._atDirectives.push(n);if(Array.isArray(e.pseudoClasses))for(const n of e.pseudoClasses)gf(n)&&this._pseudoClasses.push(n);if(Array.isArray(e.pseudoElements))for(const n of e.pseudoElements)bf(n)&&this._pseudoElements.push(n)}}function mf(t){return typeof t.name=="string"}function ff(t){return typeof t.name=="string"}function gf(t){return typeof t.name=="string"}function bf(t){return typeof t.name=="string"}class Rs{constructor(e){this.dataProviders=[],this._propertySet={},this._atDirectiveSet={},this._pseudoClassSet={},this._pseudoElementSet={},this._properties=[],this._atDirectives=[],this._pseudoClasses=[],this._pseudoElements=[],this.setDataProviders(e?.useDefaultDataProviLine truncated
|
||||
@@ -0,0 +1,26 @@
|
||||
(function(){"use strict";class qs{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout(()=>{throw e.stack?De.isErrorNoTelemetry(e)?new De(e.message+`
|
||||
|
||||
`+e.stack):new Error(e.message+`
|
||||
|
||||
`+e.stack):e},0)}}emit(e){this.listeners.forEach(n=>{n(e)})}onUnexpectedError(e){this.unexpectedErrorHandler(e),this.emit(e)}onUnexpectedExternalError(e){this.unexpectedErrorHandler(e)}}const Us=new qs;function bt(t){$s(t)||Us.onUnexpectedError(t)}function $t(t){if(t instanceof Error){const{name:e,message:n,cause:r}=t,s=t.stacktrace||t.stack;return{$isError:!0,name:e,message:n,stack:s,noTelemetry:De.isErrorNoTelemetry(t),cause:r?$t(r):void 0,code:t.code}}return t}const Ht="Canceled";function $s(t){return t instanceof En?!0:t instanceof Error&&t.name===Ht&&t.message===Ht}class En extends Error{constructor(){super(Ht),this.name=this.message}}class De extends Error{constructor(e){super(e),this.name="CodeExpectedError"}static fromError(e){if(e instanceof De)return e;const n=new De;return n.message=e.message,n.stack=e.stack,n}static isErrorNoTelemetry(e){return e.name==="CodeExpectedError"}}class Y extends Error{constructor(e){super(e||"An unexpected bug occurred."),Object.setPrototypeOf(this,Y.prototype)}}function Hs(t,e="Unreachable"){throw new Error(e)}function Ws(t,e="unexpected state"){if(!t)throw typeof e=="string"?new Y(`Assertion Failed: ${e}`):e}function pt(t){if(!t()){debugger;t(),bt(new Y("Assertion Failed"))}}function kn(t,e){let n=0;for(;n<t.length-1;){const r=t[n],s=t[n+1];if(!e(r,s))return!1;n++}return!0}function zs(t){return typeof t=="string"}function Gs(t){return!!t&&typeof t[Symbol.iterator]=="function"}var wt;(function(t){function e(w){return!!w&&typeof w=="object"&&typeof w[Symbol.iterator]=="function"}t.is=e;const n=Object.freeze([]);function r(){return n}t.empty=r;function*s(w){yield w}t.single=s;function i(w){return e(w)?w:s(w)}t.wrap=i;function l(w){return w||n}t.from=l;function*o(w){for(let y=w.length-1;y>=0;y--)yield w[y]}t.reverse=o;function u(w){return!w||w[Symbol.iterator]().next().done===!0}t.isEmpty=u;function c(w){return w[Symbol.iterator]().next().value}t.first=c;function h(w,y){let A=0;for(const D of w)if(y(D,A++))return!0;return!1}t.some=h;function f(w,y){let A=0;for(const D of w)if(!y(D,A++))return!1;return!0}t.every=f;function m(w,y){for(const A of w)if(y(A))return A}t.find=m;function*p(w,y){for(const A of w)y(A)&&(yield A)}t.filter=p;function*b(w,y){let A=0;for(const D of w)yield y(D,A++)}t.map=b;function*d(w,y){let A=0;for(const D of w)yield*y(D,A++)}t.flatMap=d;function*x(...w){for(const y of w)Gs(y)?yield*y:yield y}t.concat=x;function N(w,y,A){let D=A;for(const V of w)D=y(D,V);return D}t.reduce=N;function v(w){let y=0;for(const A of w)y++;return y}t.length=v;function*L(w,y,A=w.length){for(y<-w.length&&(y=0),y<0&&(y+=w.length),A<0?A+=w.length:A>w.length&&(A=w.length);y<A;y++)yield w[y]}t.slice=L;function E(w,y=Number.POSITIVE_INFINITY){const A=[];if(y===0)return[A,w];const D=w[Symbol.iterator]();for(let V=0;V<y;V++){const _=D.next();if(_.done)return[A,t.empty()];A.push(_.value)}return[A,{[Symbol.iterator](){return D}}]}t.consume=E;async function T(w){const y=[];for await(const A of w)y.push(A);return y}t.asyncToArray=T;async function q(w){let y=[];for await(const A of w)y=y.concat(A);return y}t.asyncToArrayFlat=q})(wt||(wt={}));function E1(t,e){}function Mn(t){if(wt.is(t)){const e=[];for(const n of t)if(n)try{n.dispose()}catch(r){e.push(r)}if(e.length===1)throw e[0];if(e.length>1)throw new AggregateError(e,"Encountered errors while disposing of store");return Array.isArray(t)?[]:t}else if(t)return t.dispose(),t}function js(...t){return xt(()=>Mn(t))}class Os{constructor(e){this._isDisposed=!1,this._fn=e}dispose(){if(!this._isDisposed){if(!this._fn)throw new Error("Unbound disposable context: Need to use an arrow function to preserve the value of this");this._isDisposed=!0,this._fn()}}}function xt(t){return new Os(t)}const Tt=class Tt{constructor(){this._toDispose=new Set,this._isDisposed=!1}dispose(){this._isDisposed||(this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(this._toDispose.size!==0)try{Mn(this._toDispose)}finally{this._toDispose.clear()}}add(e){if(!e||e===Re.None)return e;if(e===this)throw new Error("Cannot register a disposable on itself!");return this._isDisposed?Tt.DISABLE_DISPOSED_WARNING||console.warn(new Error("Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!").stack):this._toDispose.add(e),e}delete(e){if(e){if(e===this)throw new Error("Cannot dispose a disposable on itself!");this._toDispose.delete(e),e.dispose()}}};Tt.DISABLE_DISPOSED_WARNING=!1;let tt=Tt;const Rn=class Rn{constructor(){this._store=new tt,this._store}dispose(){this._store.dispose()}_register(e){if(e===this)throw new Error("Cannot register a disposable on itself!");return this._store.add(e)}};Rn.None=Object.freeze({dispose(){}});let Re=Rn;const Je=class Je{constructor(e){this.element=e,this.next=Je.Undefined,this.prev=Je.Undefined}};Je.Undefined=new Je(void 0);let j=Je;class Xs{constructor(){this._first=j.Undefined,this._last=j.Undefined,this._size=0}get size(){return this._size}isEmpt
Line truncated
|
||||
`).slice(2).join(`
|
||||
`))}}class Ys extends Error{constructor(e,n){super(e),this.name="ListenerLeakError",this.stack=n}}class Zs extends Error{constructor(e,n){super(e),this.name="ListenerRefusalError",this.stack=n}}class Ot{constructor(e){this.value=e}}const Ks=2;class fe{constructor(e){this._size=0,this._options=e,this._leakageMon=this._options?.leakWarningThreshold?new Gt(e?.onListenerError??bt,this._options?.leakWarningThreshold??Js):void 0,this._perfMon=this._options?._profName?new zt(this._options._profName):void 0,this._deliveryQueue=this._options?.deliveryQueue}dispose(){this._disposed||(this._disposed=!0,this._deliveryQueue?.current===this&&this._deliveryQueue.reset(),this._listeners&&(this._listeners=void 0,this._size=0),this._options?.onDidRemoveLastListener?.(),this._leakageMon?.dispose())}get event(){return this._event??=(e,n,r)=>{if(this._leakageMon&&this._size>this._leakageMon.threshold**2){const o=`[${this._leakageMon.name}] REFUSES to accept new listeners because it exceeded its threshold by far (${this._size} vs ${this._leakageMon.threshold})`;console.warn(o);const u=this._leakageMon.getMostFrequentStack()??["UNKNOWN stack",-1],c=new Zs(`${o}. HINT: Stack shows most frequent listener (${u[1]}-times)`,u[0]);return(this._options?.onListenerError||bt)(c),Re.None}if(this._disposed)return Re.None;n&&(e=e.bind(n));const s=new Ot(e);let i;this._leakageMon&&this._size>=Math.ceil(this._leakageMon.threshold*.2)&&(s.stack=jt.create(),i=this._leakageMon.check(s.stack,this._size+1)),this._listeners?this._listeners instanceof Ot?(this._deliveryQueue??=new ei,this._listeners=[this._listeners,s]):this._listeners.push(s):(this._options?.onWillAddFirstListener?.(this),this._listeners=s,this._options?.onDidAddFirstListener?.(this)),this._options?.onDidAddListener?.(this),this._size++;const l=xt(()=>{i?.(),this._removeListener(s)});return r instanceof tt?r.add(l):Array.isArray(r)&&r.push(l),l},this._event}_removeListener(e){if(this._options?.onWillRemoveListener?.(this),!this._listeners)return;if(this._size===1){this._listeners=void 0,this._options?.onDidRemoveLastListener?.(this),this._size=0;return}const n=this._listeners,r=n.indexOf(e);if(r===-1)throw console.log("disposed?",this._disposed),console.log("size?",this._size),console.log("arr?",JSON.stringify(this._listeners)),new Error("Attempted to dispose unknown listener");this._size--,n[r]=void 0;const s=this._deliveryQueue.current===this;if(this._size*Ks<=n.length){let i=0;for(let l=0;l<n.length;l++)n[l]?n[i++]=n[l]:s&&i<this._deliveryQueue.end&&(this._deliveryQueue.end--,i<this._deliveryQueue.i&&this._deliveryQueue.i--);n.length=i}}_deliver(e,n){if(!e)return;const r=this._options?.onListenerError||bt;if(!r){e.value(n);return}try{e.value(n)}catch(s){r(s)}}_deliverQueue(e){const n=e.current._listeners;for(;e.i<e.end;)this._deliver(n[e.i++],e.value);e.reset()}fire(e){if(this._deliveryQueue?.current&&(this._deliverQueue(this._deliveryQueue),this._perfMon?.stop()),this._perfMon?.start(this._size),this._listeners)if(this._listeners instanceof Ot)this._deliver(this._listeners,e);else{const n=this._deliveryQueue;n.enqueue(this,e,this._listeners.length),this._deliverQueue(n)}this._perfMon?.stop()}hasListeners(){return this._size>0}}class ei{constructor(){this.i=-1,this.end=0}enqueue(e,n,r){this.i=0,this.end=r,this.current=e,this.value=n}reset(){this.i=this.end,this.current=void 0,this.value=void 0}}function ti(){return globalThis._VSCODE_NLS_MESSAGES}function Pn(){return globalThis._VSCODE_NLS_LANGUAGE}const ni=Pn()==="pseudo"||typeof document<"u"&&document.location&&typeof document.location.hash=="string"&&document.location.hash.indexOf("pseudo=true")>=0;function Fn(t,e){let n;return e.length===0?n=t:n=t.replace(/\{(\d+)\}/g,(r,s)=>{const i=s[0],l=e[i];let o=r;return typeof l=="string"?o=l:(typeof l=="number"||typeof l=="boolean"||l===void 0||l===null)&&(o=String(l)),o}),ni&&(n="["+n.replace(/[aouei]/g,"$&$&")+"]"),n}function P(t,e,...n){return Fn(typeof t=="number"?ri(t,e):e,n)}function ri(t,e){const n=ti()?.[t];if(typeof n!="string"){if(typeof e=="string")return e;throw new Error(`!!! NLS MISSING: ${t} !!!`)}return n}const Ve="en";let Xt=!1,Qt=!1,Jt=!1,_t,Yt=Ve,Tn=Ve,si,be;const Ce=globalThis;let ee;typeof Ce.vscode<"u"&&typeof Ce.vscode.process<"u"?ee=Ce.vscode.process:typeof process<"u"&&typeof process?.versions?.node=="string"&&(ee=process);const ii=typeof ee?.versions?.electron=="string"&&ee?.type==="renderer";if(typeof ee=="object"){Xt=ee.platform==="win32",Qt=ee.platform==="darwin",Jt=ee.platform==="linux",Jt&&ee.env.SNAP&&ee.env.SNAP_REVISION,ee.env.CI||ee.env.BUILD_ARTIFACTSTAGINGDIRECTORY||ee.env.GITHUB_WORKSPACE,_t=Ve,Yt=Ve;const t=ee.env.VSCODE_NLS_CONFIG;if(t)try{const e=JSON.parse(t);_t=e.userLocale,Tn=e.osLocale,Yt=e.resolvedLanguage||Ve,si=e.languagePack?.translationsConfigFile}catch{}}else typeof navigator=="object"&&!ii?(be=navigator.userAgent,Xt=be.indexOf("Windows")>=0,Qt=be.indexOf("Macintosh")>=0,(be.indexOf("Macintosh")>=0||be.indexOf("iPad")>=0||be.inde
Line truncated
|
||||
`||t===" "}class Et{constructor(e,n,r){this.changes=e,this.moves=n,this.hitTimeout=r}}class Ra{constructor(e,n){this.lineRangeMapping=e,this.changes=n}}function Ca(t,e,n=(r,s)=>r===s){if(t===e)return!0;if(!t||!e||t.length!==e.length)return!1;for(let r=0,s=t.length;r<s;r++)if(!n(t[r],e[r]))return!1;return!0}function*Ea(t,e){let n,r;for(const s of t)r!==void 0&&e(r,s)?n.push(s):(n&&(yield n),n=[s]),r=s;n&&(yield n)}function ka(t,e){for(let n=0;n<=t.length;n++)e(n===0?void 0:t[n-1],n===t.length?void 0:t[n])}function Ma(t,e){for(let n=0;n<t.length;n++)e(n===0?void 0:t[n-1],t[n],n+1===t.length?void 0:t[n+1])}function Pa(t,e){for(const n of e)t.push(n)}var wn;(function(t){function e(i){return i<0}t.isLessThan=e;function n(i){return i<=0}t.isLessThanOrEqual=n;function r(i){return i>0}t.isGreaterThan=r;function s(i){return i===0}t.isNeitherLessOrGreaterThan=s,t.greaterThan=1,t.lessThan=-1,t.neitherLessOrGreaterThan=0})(wn||(wn={}));function at(t,e){return(n,r)=>e(t(n),t(r))}const lt=(t,e)=>t-e;function Fa(t){return(e,n)=>-t(e,n)}const et=class et{constructor(e){this.iterate=e}toArray(){const e=[];return this.iterate(n=>(e.push(n),!0)),e}filter(e){return new et(n=>this.iterate(r=>e(r)?n(r):!0))}map(e){return new et(n=>this.iterate(r=>n(e(r))))}findLast(e){let n;return this.iterate(r=>(e(r)&&(n=r),!0)),n}findLastMaxBy(e){let n,r=!0;return this.iterate(s=>((r||wn.isGreaterThan(e(s,n)))&&(r=!1,n=s),!0)),n}};et.empty=new et(e=>{});let ds=et;class B{static fromTo(e,n){return new B(e,n)}static addRange(e,n){let r=0;for(;r<n.length&&n[r].endExclusive<e.start;)r++;let s=r;for(;s<n.length&&n[s].start<=e.endExclusive;)s++;if(r===s)n.splice(r,0,e);else{const i=Math.min(e.start,n[r].start),l=Math.max(e.endExclusive,n[s-1].endExclusive);n.splice(r,s-r,new B(i,l))}}static tryCreate(e,n){if(!(e>n))return new B(e,n)}static ofLength(e){return new B(0,e)}static ofStartAndLength(e,n){return new B(e,e+n)}static emptyAt(e){return new B(e,e)}constructor(e,n){if(this.start=e,this.endExclusive=n,e>n)throw new Y(`Invalid range: ${this.toString()}`)}get isEmpty(){return this.start===this.endExclusive}delta(e){return new B(this.start+e,this.endExclusive+e)}deltaStart(e){return new B(this.start+e,this.endExclusive)}deltaEnd(e){return new B(this.start,this.endExclusive+e)}get length(){return this.endExclusive-this.start}toString(){return`[${this.start}, ${this.endExclusive})`}equals(e){return this.start===e.start&&this.endExclusive===e.endExclusive}contains(e){return this.start<=e&&e<this.endExclusive}join(e){return new B(Math.min(this.start,e.start),Math.max(this.endExclusive,e.endExclusive))}intersect(e){const n=Math.max(this.start,e.start),r=Math.min(this.endExclusive,e.endExclusive);if(n<=r)return new B(n,r)}intersectionLength(e){const n=Math.max(this.start,e.start),r=Math.min(this.endExclusive,e.endExclusive);return Math.max(0,r-n)}intersects(e){const n=Math.max(this.start,e.start),r=Math.min(this.endExclusive,e.endExclusive);return n<r}intersectsOrTouches(e){const n=Math.max(this.start,e.start),r=Math.min(this.endExclusive,e.endExclusive);return n<=r}isBefore(e){return this.endExclusive<=e.start}isAfter(e){return this.start>=e.endExclusive}slice(e){return e.slice(this.start,this.endExclusive)}substring(e){return e.substring(this.start,this.endExclusive)}clip(e){if(this.isEmpty)throw new Y(`Invalid clipping range: ${this.toString()}`);return Math.max(this.start,Math.min(this.endExclusive-1,e))}clipCyclic(e){if(this.isEmpty)throw new Y(`Invalid clipping range: ${this.toString()}`);return e<this.start?this.endExclusive-(this.start-e)%this.length:e>=this.endExclusive?this.start+(e-this.start)%this.length:e}forEach(e){for(let n=this.start;n<this.endExclusive;n++)e(n)}joinRightTouching(e){if(this.endExclusive!==e.start)throw new Y(`Invalid join: ${this.toString()} and ${e.toString()}`);return new B(this.start,e.endExclusive)}}function He(t,e){const n=We(t,e);return n===-1?void 0:t[n]}function We(t,e,n=0,r=t.length){let s=n,i=r;for(;s<i;){const l=Math.floor((s+i)/2);e(t[l])?s=l+1:i=l}return s-1}function Ta(t,e){const n=xn(t,e);return n===t.length?void 0:t[n]}function xn(t,e,n=0,r=t.length){let s=n,i=r;for(;s<i;){const l=Math.floor((s+i)/2);e(t[l])?i=l:s=l+1}return s}const It=class It{constructor(e){this._array=e,this._findLastMonotonousLastIdx=0}findLastMonotonous(e){if(It.assertInvariants){if(this._prevFindLastPredicate){for(const r of this._array)if(this._prevFindLastPredicate(r)&&!e(r))throw new Error("MonotonousArray: current predicate must be weaker than (or equal to) the previous predicate.")}this._prevFindLastPredicate=e}const n=We(this._array,e,this._findLastMonotonousLastIdx);return this._findLastMonotonousLastIdx=n+1,n===-1?void 0:this._array[n]}};It.assertInvariants=!1;let kt=It;const ie=class ie{static ofLength(e,n){return new ie(e,e+n)}static fromRange(e){return new ie(e.startLineNumber,e.endLineNumber)}static fromRangeInclusive(e){return new ie(e.startLineNumber,e.endLineNumber+1)}static joinMany(e){if(e.length===0)return[];let n=
Line truncated
|
||||
`?(n++,r=0):r++;return new he(n,r)}constructor(e,n){this.lineCount=e,this.columnCount=n}isGreaterThanOrEqualTo(e){return this.lineCount!==e.lineCount?this.lineCount>e.lineCount:this.columnCount>=e.columnCount}add(e){return e.lineCount===0?new he(this.lineCount,this.columnCount+e.columnCount):new he(this.lineCount+e.lineCount,e.columnCount)}createRange(e){return this.lineCount===0?new C(e.lineNumber,e.column,e.lineNumber,e.column+this.columnCount):new C(e.lineNumber,e.column,e.lineNumber+this.lineCount,this.columnCount+1)}toRange(){return new C(1,1,this.lineCount+1,this.columnCount+1)}toLineRange(){return $.ofLength(1,this.lineCount+1)}addToPosition(e){return this.lineCount===0?new H(e.lineNumber,e.column+this.columnCount):new H(e.lineNumber+this.lineCount,this.columnCount+1)}toString(){return`${this.lineCount},${this.columnCount}`}};he.zero=new he(0,0);let ot=he;class Da{getOffsetRange(e){return new B(this.getOffset(e.getStartPosition()),this.getOffset(e.getEndPosition()))}getRange(e){return C.fromPositions(this.getPosition(e.start),this.getPosition(e.endExclusive))}getStringReplacement(e){return new ze.deps.StringReplacement(this.getOffsetRange(e.range),e.text)}getTextReplacement(e){return new ze.deps.TextReplacement(this.getRange(e.replaceRange),e.newText)}getTextEdit(e){const n=e.replacements.map(r=>this.getTextReplacement(r));return new ze.deps.TextEdit(n)}}const Cn=class Cn{static get deps(){if(!this._deps)throw new Error("Dependencies not set. Call _setDependencies first.");return this._deps}};Cn._deps=void 0;let ze=Cn;class Va extends Da{constructor(e){super(),this.text=e,this.lineStartOffsetByLineIdx=[],this.lineEndOffsetByLineIdx=[],this.lineStartOffsetByLineIdx.push(0);for(let n=0;n<e.length;n++)e.charAt(n)===`
|
||||
`&&(this.lineStartOffsetByLineIdx.push(n+1),n>0&&e.charAt(n-1)==="\r"?this.lineEndOffsetByLineIdx.push(n-1):this.lineEndOffsetByLineIdx.push(n));this.lineEndOffsetByLineIdx.push(e.length)}getOffset(e){const n=this._validatePosition(e);return this.lineStartOffsetByLineIdx[n.lineNumber-1]+n.column-1}_validatePosition(e){if(e.lineNumber<1)return new H(1,1);const n=this.textLength.lineCount+1;if(e.lineNumber>n){const s=this.getLineLength(n);return new H(n,s+1)}if(e.column<1)return new H(e.lineNumber,1);const r=this.getLineLength(e.lineNumber);return e.column-1>r?new H(e.lineNumber,r+1):e}getPosition(e){const n=We(this.lineStartOffsetByLineIdx,i=>i<=e),r=n+1,s=e-this.lineStartOffsetByLineIdx[n]+1;return new H(r,s)}get textLength(){const e=this.lineStartOffsetByLineIdx.length-1;return new ze.deps.TextLength(e,this.text.length-this.lineStartOffsetByLineIdx[e])}getLineLength(e){return this.lineEndOffsetByLineIdx[e-1]-this.lineStartOffsetByLineIdx[e-1]}}class Ia{constructor(){this._transformer=void 0}get endPositionExclusive(){return this.length.addToPosition(new H(1,1))}get lineRange(){return this.length.toLineRange()}getValue(){return this.getValueOfRange(this.length.toRange())}getValueOfOffsetRange(e){return this.getValueOfRange(this.getTransformer().getRange(e))}getLineLength(e){return this.getValueOfRange(new C(e,1,e,Number.MAX_SAFE_INTEGER)).length}getTransformer(){return this._transformer||(this._transformer=new Va(this.getValue())),this._transformer}getLineAt(e){return this.getValueOfRange(new C(e,1,e,Number.MAX_SAFE_INTEGER))}}class Ba extends Ia{constructor(e,n){Ws(n>=1),super(),this._getLineContent=e,this._lineCount=n}getValueOfRange(e){if(e.startLineNumber===e.endLineNumber)return this._getLineContent(e.startLineNumber).substring(e.startColumn-1,e.endColumn-1);let n=this._getLineContent(e.startLineNumber).substring(e.startColumn-1);for(let r=e.startLineNumber+1;r<e.endLineNumber;r++)n+=`
|
||||
`+this._getLineContent(r);return n+=`
|
||||
`+this._getLineContent(e.endLineNumber).substring(0,e.endColumn-1),n}getLineLength(e){return this._getLineContent(e).length}get length(){const e=this._getLineContent(this._lineCount);return new ot(this._lineCount-1,e.length)}}class Mt extends Ba{constructor(e){super(n=>e[n-1],e.length)}}class Se{static joinReplacements(e,n){if(e.length===0)throw new Y;if(e.length===1)return e[0];const r=e[0].range.getStartPosition(),s=e[e.length-1].range.getEndPosition();let i="";for(let l=0;l<e.length;l++){const o=e[l];if(i+=o.text,l<e.length-1){const u=e[l+1],c=C.fromPositions(o.range.getEndPosition(),u.range.getStartPosition()),h=n.getValueOfRange(c);i+=h}}return new Se(C.fromPositions(r,s),i)}static fromStringReplacement(e,n){return new Se(n.getTransformer().getRange(e.replaceRange),e.newText)}static delete(e){return new Se(e,"")}constructor(e,n){this.range=e,this.text=n}get isEmpty(){return this.range.isEmpty()&&this.text.length===0}static equals(e,n){return e.range.equalsRange(n.range)&&e.text===n.text}equals(e){return Se.equals(this,e)}removeCommonPrefixAndSuffix(e){return this.removeCommonPrefix(e).removeCommonSuffix(e)}removeCommonPrefix(e){const n=e.getValueOfRange(this.range).replaceAll(`\r
|
||||
`,`
|
||||
`),r=this.text.replaceAll(`\r
|
||||
`,`
|
||||
`),s=bi(n,r),i=ot.ofText(n.substring(0,s)).addToPosition(this.range.getStartPosition()),l=r.substring(s),o=C.fromPositions(i,this.range.getEndPosition());return new Se(o,l)}removeCommonSuffix(e){const n=e.getValueOfRange(this.range).replaceAll(`\r
|
||||
`,`
|
||||
`),r=this.text.replaceAll(`\r
|
||||
`,`
|
||||
`),s=pi(n,r),i=ot.ofText(n.substring(0,n.length-s)).addToPosition(this.range.getStartPosition()),l=r.substring(0,r.length-s),o=C.fromPositions(this.range.getStartPosition(),i);return new Se(o,l)}toString(){const e=this.range.getStartPosition(),n=this.range.getEndPosition();return`(${e.lineNumber},${e.column} -> ${n.lineNumber},${n.column}): "${this.text}"`}}class ae{static inverse(e,n,r){const s=[];let i=1,l=1;for(const u of e){const c=new ae(new $(i,u.original.startLineNumber),new $(l,u.modified.startLineNumber));c.modified.isEmpty||s.push(c),i=u.original.endLineNumberExclusive,l=u.modified.endLineNumberExclusive}const o=new ae(new $(i,n+1),new $(l,r+1));return o.modified.isEmpty||s.push(o),s}static clip(e,n,r){const s=[];for(const i of e){const l=i.original.intersect(n),o=i.modified.intersect(r);l&&!l.isEmpty&&o&&!o.isEmpty&&s.push(new ae(l,o))}return s}constructor(e,n){this.original=e,this.modified=n}toString(){return`{${this.original.toString()}->${this.modified.toString()}}`}flip(){return new ae(this.modified,this.original)}join(e){return new ae(this.original.join(e.original),this.modified.join(e.modified))}toRangeMapping(){const e=this.original.toInclusiveRange(),n=this.modified.toInclusiveRange();if(e&&n)return new le(e,n);if(this.original.startLineNumber===1||this.modified.startLineNumber===1){if(!(this.modified.startLineNumber===1&&this.original.startLineNumber===1))throw new Y("not a valid diff");return new le(new C(this.original.startLineNumber,1,this.original.endLineNumberExclusive,1),new C(this.modified.startLineNumber,1,this.modified.endLineNumberExclusive,1))}else return new le(new C(this.original.startLineNumber-1,Number.MAX_SAFE_INTEGER,this.original.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),new C(this.modified.startLineNumber-1,Number.MAX_SAFE_INTEGER,this.modified.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER))}toRangeMapping2(e,n){if(gs(this.original.endLineNumberExclusive,e)&&gs(this.modified.endLineNumberExclusive,n))return new le(new C(this.original.startLineNumber,1,this.original.endLineNumberExclusive,1),new C(this.modified.startLineNumber,1,this.modified.endLineNumberExclusive,1));if(!this.original.isEmpty&&!this.modified.isEmpty)return new le(C.fromPositions(new H(this.original.startLineNumber,1),Ge(new H(this.original.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),e)),C.fromPositions(new H(this.modified.startLineNumber,1),Ge(new H(this.modified.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),n)));if(this.original.startLineNumber>1&&this.modified.startLineNumber>1)return new le(C.fromPositions(Ge(new H(this.original.startLineNumber-1,Number.MAX_SAFE_INTEGER),e),Ge(new H(this.original.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),e)),C.fromPositions(Ge(new H(this.modified.startLineNumber-1,Number.MAX_SAFE_INTEGER),n),Ge(new H(this.modified.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),n)));throw new Y}}function Ge(t,e){if(t.lineNumber<1)return new H(1,1);if(t.lineNumber>e.length)return new H(e.length,e[e.length-1].length+1);const n=e[t.lineNumber-1];return t.column>n.length+1?new H(t.lineNumber,n.length+1):t}function gs(t,e){return t>=1&&t<=e.length}class xe extends ae{static fromRangeMappings(e){const n=$.join(e.map(s=>$.fromRangeInclusive(s.originalRange))),r=$.join(e.map(s=>$.fromRangeInclusive(s.modifiedRange)));return new xe(n,r,e)}constructor(e,n,r){super(e,n),this.innerChanges=r}flip(){return new xe(this.modified,this.original,this.innerChanges?.map(e=>e.flip()))}withInnerChangesFromLineRanges(){return new xe(this.original,this.modified,[this.toRangeMapping()])}}class le{static fromEdit(e){const n=e.getNewRanges();return e.replacements.map((s,i)=>new le(s.range,n[i]))}static assertSorted(e){for(let n=1;n<e.length;n++){const r=e[n-1],s=e[n];if(!(r.originalRange.getEndPosition().isBeforeOrEqual(s.originalRange.getStartPosition())&&r.modifiedRange.getEndPosition().isBeforeOrEqual(s.modifiedRange.getStartPosition())))throw new Y("Range mappings must be sorted")}}constructor(e,n){this.originalRange=e,this.modifiedRange=n}toString(){return`{${this.originalRange.toString()}->${this.modifiedRange.toString()}}`}flip(){return new le(this.modifiedRange,this.originalRange)}toTextEdit(e){const n=e.getValueOfRange(this.modifiedRange);return new Se(this.originalRange,n)}}function bs(t,e,n,r=!1){const s=[];for(const i of Ea(t.map(l=>qa(l,e,n)),(l,o)=>l.original.intersectsOrTouches(o.original)||l.modified.intersectsOrTouches(o.modified))){const l=i[0],o=i[i.length-1];s.push(new xe(l.original.join(o.original),l.modified.join(o.modified),i.map(u=>u.innerChanges[0])))}return pt(()=>!r&&s.length>0&&(s[0].modified.startLineNumber!==s[0].original.startLineNumber||n.length.lineCount-s[s.length-1].modified.endLineNumberExclusive!==e.length.lineCount-s[s.length-1].original.endLineNumberExclusive)?!1:kn(s,(i,l)=>l.original.startLineNumber-i.original.endLineNumberExclusive===l.modified.startLineNumber-i.modified.endLineNumberExclusive&&i.original.endLineNumberExclusive<l.origin
Line truncated
|
||||
`);this.histogram[o]=(this.histogram[o]||0)+1}this.totalCount=s}computeSimilarity(e){let n=0;const r=Math.max(this.histogram.length,e.histogram.length);for(let s=0;s<r;s++)n+=Math.abs((this.histogram[s]??0)-(e.histogram[s]??0));return 1-n/(this.totalCount+e.totalCount)}};mt.chrKeys=new Map;let Pt=mt;class ja{compute(e,n,r=ct.instance,s){if(e.length===0||n.length===0)return ye.trivial(e,n);const i=new Ln(e.length,n.length),l=new Ln(e.length,n.length),o=new Ln(e.length,n.length);for(let b=0;b<e.length;b++)for(let d=0;d<n.length;d++){if(!r.isValid())return ye.trivialTimedOut(e,n);const x=b===0?0:i.get(b-1,d),N=d===0?0:i.get(b,d-1);let v;e.getElement(b)===n.getElement(d)?(b===0||d===0?v=0:v=i.get(b-1,d-1),b>0&&d>0&&l.get(b-1,d-1)===3&&(v+=o.get(b-1,d-1)),v+=s?s(b,d):1):v=-1;const L=Math.max(x,N,v);if(L===v){const E=b>0&&d>0?o.get(b-1,d-1):0;o.set(b,d,E+1),l.set(b,d,3)}else L===x?(o.set(b,d,0),l.set(b,d,1)):L===N&&(o.set(b,d,0),l.set(b,d,2));i.set(b,d,L)}const u=[];let c=e.length,h=n.length;function f(b,d){(b+1!==c||d+1!==h)&&u.push(new O(new B(b+1,c),new B(d+1,h))),c=b,h=d}let m=e.length-1,p=n.length-1;for(;m>=0&&p>=0;)l.get(m,p)===3?(f(m,p),m--,p--):l.get(m,p)===1?m--:p--;return f(-1,-1),u.reverse(),new ye(u,!1)}}class ys{compute(e,n,r=ct.instance){if(e.length===0||n.length===0)return ye.trivial(e,n);const s=e,i=n;function l(d,x){for(;d<s.length&&x<i.length&&s.getElement(d)===i.getElement(x);)d++,x++;return d}let o=0;const u=new Oa;u.set(0,l(0,0));const c=new Xa;c.set(0,u.get(0)===0?null:new _s(null,0,0,u.get(0)));let h=0;e:for(;;){if(o++,!r.isValid())return ye.trivialTimedOut(s,i);const d=-Math.min(o,i.length+o%2),x=Math.min(o,s.length+o%2);for(h=d;h<=x;h+=2){const N=h===x?-1:u.get(h+1),v=h===d?-1:u.get(h-1)+1,L=Math.min(Math.max(N,v),s.length),E=L-h;if(L>s.length||E>i.length)continue;const T=l(L,E);u.set(h,T);const q=L===N?c.get(h+1):c.get(h-1);if(c.set(h,T!==L?new _s(q,L,E,T-L):q),u.get(h)===s.length&&u.get(h)-h===i.length)break e}}let f=c.get(h);const m=[];let p=s.length,b=i.length;for(;;){const d=f?f.x+f.length:0,x=f?f.y+f.length:0;if((d!==p||x!==b)&&m.push(new O(new B(d,p),new B(x,b))),!f)break;p=f.x,b=f.y,f=f.prev}return m.reverse(),new ye(m,!1)}}class _s{constructor(e,n,r,s){this.prev=e,this.x=n,this.y=r,this.length=s}}class Oa{constructor(){this.positiveArr=new Int32Array(10),this.negativeArr=new Int32Array(10)}get(e){return e<0?(e=-e-1,this.negativeArr[e]):this.positiveArr[e]}set(e,n){if(e<0){if(e=-e-1,e>=this.negativeArr.length){const r=this.negativeArr;this.negativeArr=new Int32Array(r.length*2),this.negativeArr.set(r)}this.negativeArr[e]=n}else{if(e>=this.positiveArr.length){const r=this.positiveArr;this.positiveArr=new Int32Array(r.length*2),this.positiveArr.set(r)}this.positiveArr[e]=n}}}class Xa{constructor(){this.positiveArr=[],this.negativeArr=[]}get(e){return e<0?(e=-e-1,this.negativeArr[e]):this.positiveArr[e]}set(e,n){e<0?(e=-e-1,this.negativeArr[e]=n):this.positiveArr[e]=n}}class Ft{constructor(e,n,r){this.lines=e,this.range=n,this.considerWhitespaceChanges=r,this.elements=[],this.firstElementOffsetByLineIdx=[],this.lineStartOffsets=[],this.trimmedWsLengthsByLineIdx=[],this.firstElementOffsetByLineIdx.push(0);for(let s=this.range.startLineNumber;s<=this.range.endLineNumber;s++){let i=e[s-1],l=0;s===this.range.startLineNumber&&this.range.startColumn>1&&(l=this.range.startColumn-1,i=i.substring(l)),this.lineStartOffsets.push(l);let o=0;if(!r){const c=i.trimStart();o=i.length-c.length,i=c.trimEnd()}this.trimmedWsLengthsByLineIdx.push(o);const u=s===this.range.endLineNumber?Math.min(this.range.endColumn-1-l-o,i.length):i.length;for(let c=0;c<u;c++)this.elements.push(i.charCodeAt(c));s<this.range.endLineNumber&&(this.elements.push(10),this.firstElementOffsetByLineIdx.push(this.elements.length))}}toString(){return`Slice: "${this.text}"`}get text(){return this.getText(new B(0,this.length))}getText(e){return this.elements.slice(e.start,e.endExclusive).map(n=>String.fromCharCode(n)).join("")}getElement(e){return this.elements[e]}get length(){return this.elements.length}getBoundaryScore(e){const n=Ns(e>0?this.elements[e-1]:-1),r=Ns(e<this.elements.length?this.elements[e]:-1);if(n===7&&r===8)return 0;if(n===8)return 150;let s=0;return n!==r&&(s+=10,n===0&&r===1&&(s+=1)),s+=vs(n),s+=vs(r),s}translateOffset(e,n="right"){const r=We(this.firstElementOffsetByLineIdx,i=>i<=e),s=e-this.firstElementOffsetByLineIdx[r];return new H(this.range.startLineNumber+r,1+this.lineStartOffsets[r]+s+(s===0&&n==="left"?0:this.trimmedWsLengthsByLineIdx[r]))}translateRange(e){const n=this.translateOffset(e.start,"right"),r=this.translateOffset(e.endExclusive,"left");return r.isBefore(n)?C.fromPositions(r,r):C.fromPositions(n,r)}findWordContaining(e){if(e<0||e>=this.elements.length||!Oe(this.elements[e]))return;let n=e;for(;n>0&&Oe(this.elements[n-1]);)n--;let r=e;for(;r<this.elements.length&&Oe(this.elements[r]);)r++;return new B(n,r)}findSubWordContaining(e){if(e<0||e>=this.elements.length||!Oe(this.elements[e]))return;l
Line truncated
|
||||
`).length>=15&&Ya(f,p=>p.length>=2)>=2}),l=t1(t,l),l}function Ya(t,e){let n=0;for(const r of t)e(r)&&n++;return n}function Za(t,e,n,r){const s=[],i=t.filter(u=>u.modified.isEmpty&&u.original.length>=3).map(u=>new Pt(u.original,e,u)),l=new Set(t.filter(u=>u.original.isEmpty&&u.modified.length>=3).map(u=>new Pt(u.modified,n,u))),o=new Set;for(const u of i){let c=-1,h;for(const f of l){const m=u.computeSimilarity(f);m>c&&(c=m,h=f)}if(c>.9&&h&&(l.delete(h),s.push(new ae(u.range,h.range)),o.add(u.source),o.add(h.source)),!r.isValid())return{moves:s,excludedChanges:o}}return{moves:s,excludedChanges:o}}function Ka(t,e,n,r,s,i){const l=[],o=new ba;for(const m of t)for(let p=m.original.startLineNumber;p<m.original.endLineNumberExclusive-2;p++){const b=`${e[p-1]}:${e[p+1-1]}:${e[p+2-1]}`;o.add(b,{range:new $(p,p+3)})}const u=[];t.sort(at(m=>m.modified.startLineNumber,lt));for(const m of t){let p=[];for(let b=m.modified.startLineNumber;b<m.modified.endLineNumberExclusive-2;b++){const d=`${n[b-1]}:${n[b+1-1]}:${n[b+2-1]}`,x=new $(b,b+3),N=[];o.forEach(d,({range:v})=>{for(const E of p)if(E.originalLineRange.endLineNumberExclusive+1===v.endLineNumberExclusive&&E.modifiedLineRange.endLineNumberExclusive+1===x.endLineNumberExclusive){E.originalLineRange=new $(E.originalLineRange.startLineNumber,v.endLineNumberExclusive),E.modifiedLineRange=new $(E.modifiedLineRange.startLineNumber,x.endLineNumberExclusive),N.push(E);return}const L={modifiedLineRange:x,originalLineRange:v};u.push(L),N.push(L)}),p=N}if(!i.isValid())return[]}u.sort(Fa(at(m=>m.modifiedLineRange.length,lt)));const c=new de,h=new de;for(const m of u){const p=m.modifiedLineRange.startLineNumber-m.originalLineRange.startLineNumber,b=c.subtractFrom(m.modifiedLineRange),d=h.subtractFrom(m.originalLineRange).getWithDelta(p),x=b.getIntersection(d);for(const N of x.ranges){if(N.length<3)continue;const v=N,L=N.delta(-p);l.push(new ae(L,v)),c.addRange(v),h.addRange(L)}}l.sort(at(m=>m.original.startLineNumber,lt));const f=new kt(t);for(let m=0;m<l.length;m++){const p=l[m],b=f.findLastMonotonous(q=>q.original.startLineNumber<=p.original.startLineNumber),d=He(t,q=>q.modified.startLineNumber<=p.modified.startLineNumber),x=Math.max(p.original.startLineNumber-b.original.startLineNumber,p.modified.startLineNumber-d.modified.startLineNumber),N=f.findLastMonotonous(q=>q.original.startLineNumber<p.original.endLineNumberExclusive),v=He(t,q=>q.modified.startLineNumber<p.modified.endLineNumberExclusive),L=Math.max(N.original.endLineNumberExclusive-p.original.endLineNumberExclusive,v.modified.endLineNumberExclusive-p.modified.endLineNumberExclusive);let E;for(E=0;E<x;E++){const q=p.original.startLineNumber-E-1,w=p.modified.startLineNumber-E-1;if(q>r.length||w>s.length||c.contains(w)||h.contains(q)||!Ss(r[q-1],s[w-1],i))break}E>0&&(h.addRange(new $(p.original.startLineNumber-E,p.original.startLineNumber)),c.addRange(new $(p.modified.startLineNumber-E,p.modified.startLineNumber)));let T;for(T=0;T<L;T++){const q=p.original.endLineNumberExclusive+T,w=p.modified.endLineNumberExclusive+T;if(q>r.length||w>s.length||c.contains(w)||h.contains(q)||!Ss(r[q-1],s[w-1],i))break}T>0&&(h.addRange(new $(p.original.endLineNumberExclusive,p.original.endLineNumberExclusive+T)),c.addRange(new $(p.modified.endLineNumberExclusive,p.modified.endLineNumberExclusive+T))),(E>0||T>0)&&(l[m]=new ae(new $(p.original.startLineNumber-E,p.original.endLineNumberExclusive+T),new $(p.modified.startLineNumber-E,p.modified.endLineNumberExclusive+T)))}return l}function Ss(t,e,n){if(t.trim()===e.trim())return!0;if(t.length>300&&e.length>300)return!1;const s=new ys().compute(new Ft([t],new C(1,1,1,t.length),!1),new Ft([e],new C(1,1,1,e.length),!1),n);let i=0;const l=O.invert(s.diffs,t.length);for(const h of l)h.seq1Range.forEach(f=>{vn(t.charCodeAt(f))||i++});function o(h){let f=0;for(let m=0;m<t.length;m++)vn(h.charCodeAt(m))||f++;return f}const u=o(t.length>e.length?t:e);return i/u>.6&&u>10}function e1(t){if(t.length===0)return t;t.sort(at(n=>n.original.startLineNumber,lt));const e=[t[0]];for(let n=1;n<t.length;n++){const r=e[e.length-1],s=t[n],i=s.original.startLineNumber-r.original.endLineNumberExclusive,l=s.modified.startLineNumber-r.modified.endLineNumberExclusive;if(i>=0&&l>=0&&i+l<=2){e[e.length-1]=r.join(s);continue}e.push(s)}return e}function t1(t,e){const n=new kt(t);return e=e.filter(r=>{const s=n.findLastMonotonous(o=>o.original.startLineNumber<r.original.endLineNumberExclusive)||new ae(new $(1,1),new $(1,1)),i=He(t,o=>o.modified.startLineNumber<r.modified.endLineNumberExclusive);return s!==i}),e}function As(t,e,n){let r=n;return r=Rs(t,e,r),r=Rs(t,e,r),r=n1(t,e,r),r}function Rs(t,e,n){if(n.length===0)return n;const r=[];r.push(n[0]);for(let i=1;i<n.length;i++){const l=r[r.length-1];let o=n[i];if(o.seq1Range.isEmpty||o.seq2Range.isEmpty){const u=o.seq1Range.start-l.seq1Range.endExclusive;let c;for(c=1;c<=u&&!(t.getElement(o.seq1Range.start-c)!==t.getElement(o.seq1Range.endExclusive-c)||e.getElement(o.seq2Range.
Line truncated
|
||||
`)}isStronglyEqual(e,n){return this.lines[e]===this.lines[n]}}function Ms(t){let e=0;for(;e<t.length&&(t.charCodeAt(e)===32||t.charCodeAt(e)===9);)e++;return e}class l1{constructor(){this.dynamicProgrammingDiffing=new ja,this.myersDiffingAlgorithm=new ys}computeDiff(e,n,r){if(e.length<=1&&Ca(e,n,(w,y)=>w===y))return new Et([],[],!1);if(e.length===1&&e[0].length===0||n.length===1&&n[0].length===0)return new Et([new xe(new $(1,e.length+1),new $(1,n.length+1),[new le(new C(1,1,e.length,e[e.length-1].length+1),new C(1,1,n.length,n[n.length-1].length+1))])],[],!1);const s=r.maxComputationTimeMs===0?ct.instance:new Ga(r.maxComputationTimeMs),i=!r.ignoreTrimWhitespace,l=new Map;function o(w){let y=l.get(w);return y===void 0&&(y=l.size,l.set(w,y)),y}const u=e.map(w=>o(w.trim())),c=n.map(w=>o(w.trim())),h=new ks(u,e),f=new ks(c,n),m=h.length+f.length<1700?this.dynamicProgrammingDiffing.compute(h,f,s,(w,y)=>e[w]===n[y]?n[y].length===0?.1:1+Math.log(1+n[y].length):.99):this.myersDiffingAlgorithm.compute(h,f,s);let p=m.diffs,b=m.hitTimeout;p=As(h,f,p),p=i1(h,f,p);const d=[],x=w=>{if(i)for(let y=0;y<w;y++){const A=N+y,D=v+y;if(e[A]!==n[D]){const V=this.refineDiff(e,n,new O(new B(A,A+1),new B(D,D+1)),s,i,r);for(const _ of V.mappings)d.push(_);V.hitTimeout&&(b=!0)}}};let N=0,v=0;for(const w of p){pt(()=>w.seq1Range.start-N===w.seq2Range.start-v);const y=w.seq1Range.start-N;x(y),N=w.seq1Range.endExclusive,v=w.seq2Range.endExclusive;const A=this.refineDiff(e,n,w,s,i,r);A.hitTimeout&&(b=!0);for(const D of A.mappings)d.push(D)}x(e.length-N);const L=new Mt(e),E=new Mt(n),T=bs(d,L,E);let q=[];return r.computeMoves&&(q=this.computeMoves(T,e,n,u,c,s,i,r)),pt(()=>{function w(A,D){if(A.lineNumber<1||A.lineNumber>D.length)return!1;const V=D[A.lineNumber-1];return!(A.column<1||A.column>V.length+1)}function y(A,D){return!(A.startLineNumber<1||A.startLineNumber>D.length+1||A.endLineNumberExclusive<1||A.endLineNumberExclusive>D.length+1)}for(const A of T){if(!A.innerChanges)return!1;for(const D of A.innerChanges)if(!(w(D.modifiedRange.getStartPosition(),n)&&w(D.modifiedRange.getEndPosition(),n)&&w(D.originalRange.getStartPosition(),e)&&w(D.originalRange.getEndPosition(),e)))return!1;if(!y(A.modified,n)||!y(A.original,e))return!1}return!0}),new Et(T,q,b)}computeMoves(e,n,r,s,i,l,o,u){return Ja(e,n,r,s,i,l).map(f=>{const m=this.refineDiff(n,r,new O(f.original.toOffsetRange(),f.modified.toOffsetRange()),l,o,u),p=bs(m.mappings,new Mt(n),new Mt(r),!0);return new Ra(f,p)})}refineDiff(e,n,r,s,i,l){const u=o1(r).toRangeMapping2(e,n),c=new Ft(e,u.originalRange,i),h=new Ft(n,u.modifiedRange,i),f=c.length+h.length<500?this.dynamicProgrammingDiffing.compute(c,h,s):this.myersDiffingAlgorithm.compute(c,h,s);let m=f.diffs;return m=As(c,h,m),m=Es(c,h,m,(b,d)=>b.findWordContaining(d)),l.extendToSubwords&&(m=Es(c,h,m,(b,d)=>b.findSubWordContaining(d),!0)),m=r1(c,h,m),m=a1(c,h,m),{mappings:m.map(b=>new le(c.translateRange(b.seq1Range),h.translateRange(b.seq2Range))),hitTimeout:f.hitTimeout}}}function o1(t){return new ae(new $(t.seq1Range.start+1,t.seq1Range.endExclusive+1),new $(t.seq2Range.start+1,t.seq2Range.endExclusive+1))}const Ps={getLegacy:()=>new $a,getDefault:()=>new l1};function Ae(t,e){const n=Math.pow(10,e);return Math.round(t*n)/n}class g{constructor(e,n,r,s=1){this._rgbaBrand=void 0,this.r=Math.min(255,Math.max(0,e))|0,this.g=Math.min(255,Math.max(0,n))|0,this.b=Math.min(255,Math.max(0,r))|0,this.a=Ae(Math.max(Math.min(1,s),0),3)}static equals(e,n){return e.r===n.r&&e.g===n.g&&e.b===n.b&&e.a===n.a}}class oe{constructor(e,n,r,s){this._hslaBrand=void 0,this.h=Math.max(Math.min(360,e),0)|0,this.s=Ae(Math.max(Math.min(1,n),0),3),this.l=Ae(Math.max(Math.min(1,r),0),3),this.a=Ae(Math.max(Math.min(1,s),0),3)}static equals(e,n){return e.h===n.h&&e.s===n.s&&e.l===n.l&&e.a===n.a}static fromRGBA(e){const n=e.r/255,r=e.g/255,s=e.b/255,i=e.a,l=Math.max(n,r,s),o=Math.min(n,r,s);let u=0,c=0;const h=(o+l)/2,f=l-o;if(f>0){switch(c=Math.min(h<=.5?f/(2*h):f/(2-2*h),1),l){case n:u=(r-s)/f+(r<s?6:0);break;case r:u=(s-n)/f+2;break;case s:u=(n-r)/f+4;break}u*=60,u=Math.round(u)}return new oe(u,c,h,i)}static _hue2rgb(e,n,r){return r<0&&(r+=1),r>1&&(r-=1),r<1/6?e+(n-e)*6*r:r<1/2?n:r<2/3?e+(n-e)*(2/3-r)*6:e}static toRGBA(e){const n=e.h/360,{s:r,l:s,a:i}=e;let l,o,u;if(r===0)l=o=u=s;else{const c=s<.5?s*(1+r):s+r-s*r,h=2*s-c;l=oe._hue2rgb(h,c,n+1/3),o=oe._hue2rgb(h,c,n),u=oe._hue2rgb(h,c,n-1/3)}return new g(Math.round(l*255),Math.round(o*255),Math.round(u*255),i)}}class Xe{constructor(e,n,r,s){this._hsvaBrand=void 0,this.h=Math.max(Math.min(360,e),0)|0,this.s=Ae(Math.max(Math.min(1,n),0),3),this.v=Ae(Math.max(Math.min(1,r),0),3),this.a=Ae(Math.max(Math.min(1,s),0),3)}static equals(e,n){return e.h===n.h&&e.s===n.s&&e.v===n.v&&e.a===n.a}static fromRGBA(e){const n=e.r/255,r=e.g/255,s=e.b/255,i=Math.max(n,r,s),l=Math.min(n,r,s),o=i-l,u=i===0?0:o/i;let c;return o===0?c=0:i===n?c=((r-s)/o%6+6)%6:i===r?c=(s-n)/o+2:c=(n-r)/o+4,new Xe(Math.round(c*60),u,i,e.a)}static toRGBA(e)
Line truncated
|
||||
`);i.lastIndex=0;let h;for(;(h=i.exec(c))!==null;){const f=c.substring(0,h.index),m=(f.match(/\n/g)||[]).length,p=l+m,b=h[0].split(`
|
||||
`),d=b.length,x=p+d-1,N=f.lastIndexOf(`
|
||||
`)+1,v=h.index-N+1,L=b[b.length-1],E=d===1?v+h[0].length:L.length+1,T={startLineNumber:p,startColumn:v,endLineNumber:x,endColumn:E},q=(h.groups??{}).label??"",w=((h.groups??{}).separator??"")!=="",y={range:T,text:q,hasSeparatorLine:w,shouldBeInComments:!0};(y.text||y.hasSeparatorLine)&&(n.length===0||n[n.length-1].range.endLineNumber<y.range.startLineNumber)&&n.push(y),i.lastIndex=h.index+h[0].length}}return n}function p1(t){t=t.trim();const e=t.startsWith("-");return t=t.replace(f1,""),{text:t,hasSeparatorLine:e}}class w1{get isRejected(){return this.outcome?.outcome===1}get isSettled(){return!!this.outcome}constructor(){this.p=new Promise((e,n)=>{this.completeCallback=e,this.errorCallback=n})}complete(e){return this.isSettled?Promise.resolve():new Promise(n=>{this.completeCallback(e),this.outcome={outcome:0,value:e},n()})}error(e){return this.isSettled?Promise.resolve():new Promise(n=>{this.errorCallback(e),this.outcome={outcome:1,value:e},n()})}cancel(){return this.error(new En)}}var Is;(function(t){async function e(r){let s;const i=await Promise.all(r.map(l=>l.then(o=>o,o=>{s||(s=o)})));if(typeof s<"u")throw s;return i}t.settled=e;function n(r){return new Promise(async(s,i)=>{try{await r(s,i)}catch(l){i(l)}})}t.withAsyncBody=n})(Is||(Is={}));class x1{constructor(){this._unsatisfiedConsumers=[],this._unconsumedValues=[]}get hasFinalValue(){return!!this._finalValue}produce(e){if(this._ensureNoFinalValue(),this._unsatisfiedConsumers.length>0){const n=this._unsatisfiedConsumers.shift();this._resolveOrRejectDeferred(n,e)}else this._unconsumedValues.push(e)}produceFinal(e){this._ensureNoFinalValue(),this._finalValue=e;for(const n of this._unsatisfiedConsumers)this._resolveOrRejectDeferred(n,e);this._unsatisfiedConsumers.length=0}_ensureNoFinalValue(){if(this._finalValue)throw new Y("ProducerConsumer: cannot produce after final value has been set")}_resolveOrRejectDeferred(e,n){n.ok?e.complete(n.value):e.error(n.error)}consume(){if(this._unconsumedValues.length>0||this._finalValue){const e=this._unconsumedValues.length>0?this._unconsumedValues.shift():this._finalValue;return e.ok?Promise.resolve(e.value):Promise.reject(e.error)}else{const e=new w1;return this._unsatisfiedConsumers.push(e),e.p}}}const re=class re{constructor(e,n){this._onReturn=n,this._producerConsumer=new x1,this._iterator={next:()=>this._producerConsumer.consume(),return:()=>(this._onReturn?.(),Promise.resolve({done:!0,value:void 0})),throw:async r=>(this._finishError(r),{done:!0,value:void 0})},queueMicrotask(async()=>{const r=e({emitOne:s=>this._producerConsumer.produce({ok:!0,value:{done:!1,value:s}}),emitMany:s=>{for(const i of s)this._producerConsumer.produce({ok:!0,value:{done:!1,value:i}})},reject:s=>this._finishError(s)});if(!this._producerConsumer.hasFinalValue)try{await r,this._finishOk()}catch(s){this._finishError(s)}})}static fromArray(e){return new re(n=>{n.emitMany(e)})}static fromPromise(e){return new re(async n=>{n.emitMany(await e)})}static fromPromisesResolveOrder(e){return new re(async n=>{await Promise.all(e.map(async r=>n.emitOne(await r)))})}static merge(e){return new re(async n=>{await Promise.all(e.map(async r=>{for await(const s of r)n.emitOne(s)}))})}static map(e,n){return new re(async r=>{for await(const s of e)r.emitOne(n(s))})}map(e){return re.map(this,e)}static coalesce(e){return re.filter(e,n=>!!n)}coalesce(){return re.coalesce(this)}static filter(e,n){return new re(async r=>{for await(const s of e)n(s)&&r.emitOne(s)})}filter(e){return re.filter(this,e)}_finishOk(){this._producerConsumer.hasFinalValue||this._producerConsumer.produceFinal({ok:!0,value:{done:!0,value:void 0}})}_finishError(e){this._producerConsumer.hasFinalValue||this._producerConsumer.produceFinal({ok:!1,error:e})}[Symbol.asyncIterator](){return this._iterator}};re.EMPTY=re.fromArray([]);let Bs=re;class y1{constructor(e){this.values=e,this.prefixSum=new Uint32Array(e.length),this.prefixSumValidIndex=new Int32Array(1),this.prefixSumValidIndex[0]=-1}insertValues(e,n){e=qe(e);const r=this.values,s=this.prefixSum,i=n.length;return i===0?!1:(this.values=new Uint32Array(r.length+i),this.values.set(r.subarray(0,e),0),this.values.set(r.subarray(e),e+i),this.values.set(n,e),e-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=e-1),this.prefixSum=new Uint32Array(this.values.length),this.prefixSumValidIndex[0]>=0&&this.prefixSum.set(s.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}setValue(e,n){return e=qe(e),n=qe(n),this.values[e]===n?!1:(this.values[e]=n,e-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=e-1),!0)}removeValues(e,n){e=qe(e),n=qe(n);const r=this.values,s=this.prefixSum;if(e>=r.length)return!1;const i=r.length-e;return n>=i&&(n=i),n===0?!1:(this.values=new Uint32Array(r.length-n),this.values.set(r.subarray(0,e),0),this.values.set(r.subarray(e+n),e),this.prefixSum=new Uint32Array(this.values.length),e-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=e-1),this.prefixSumValidIndex[0]>=0&&this.prefixSum.set(s.subar
Line truncated
|
||||
@@ -0,0 +1,470 @@
|
||||
(function(){"use strict";var Be,ce,Q;class no{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout(()=>{throw e.stack?nt.isErrorNoTelemetry(e)?new nt(e.message+`
|
||||
|
||||
`+e.stack):new Error(e.message+`
|
||||
|
||||
`+e.stack):e},0)}}emit(e){this.listeners.forEach(n=>{n(e)})}onUnexpectedError(e){this.unexpectedErrorHandler(e),this.emit(e)}onUnexpectedExternalError(e){this.unexpectedErrorHandler(e)}}const io=new no;function qt(t){ro(t)||io.onUnexpectedError(t)}function Sn(t){if(t instanceof Error){const{name:e,message:n,cause:i}=t,r=t.stacktrace||t.stack;return{$isError:!0,name:e,message:n,stack:r,noTelemetry:nt.isErrorNoTelemetry(t),cause:i?Sn(i):void 0,code:t.code}}return t}const An="Canceled";function ro(t){return t instanceof Ii?!0:t instanceof Error&&t.name===An&&t.message===An}class Ii extends Error{constructor(){super(An),this.name=this.message}}class nt extends Error{constructor(e){super(e),this.name="CodeExpectedError"}static fromError(e){if(e instanceof nt)return e;const n=new nt;return n.message=e.message,n.stack=e.stack,n}static isErrorNoTelemetry(e){return e.name==="CodeExpectedError"}}class le extends Error{constructor(e){super(e||"An unexpected bug occurred."),Object.setPrototypeOf(this,le.prototype)}}function so(t,e="Unreachable"){throw new Error(e)}function ao(t,e="unexpected state"){if(!t)throw typeof e=="string"?new le(`Assertion Failed: ${e}`):e}function Ot(t){if(!t()){debugger;t(),qt(new le("Assertion Failed"))}}function zi(t,e){let n=0;for(;n<t.length-1;){const i=t[n],r=t[n+1];if(!e(i,r))return!1;n++}return!0}function oo(t){return typeof t=="string"}function lo(t){return!!t&&typeof t[Symbol.iterator]=="function"}var Vt;(function(t){function e(b){return!!b&&typeof b=="object"&&typeof b[Symbol.iterator]=="function"}t.is=e;const n=Object.freeze([]);function i(){return n}t.empty=i;function*r(b){yield b}t.single=r;function s(b){return e(b)?b:r(b)}t.wrap=s;function a(b){return b||n}t.from=a;function*l(b){for(let g=b.length-1;g>=0;g--)yield b[g]}t.reverse=l;function o(b){return!b||b[Symbol.iterator]().next().done===!0}t.isEmpty=o;function u(b){return b[Symbol.iterator]().next().value}t.first=u;function c(b,g){let v=0;for(const N of b)if(g(N,v++))return!0;return!1}t.some=c;function d(b,g){let v=0;for(const N of b)if(!g(N,v++))return!1;return!0}t.every=d;function m(b,g){for(const v of b)if(g(v))return v}t.find=m;function*f(b,g){for(const v of b)g(v)&&(yield v)}t.filter=f;function*w(b,g){let v=0;for(const N of b)yield g(N,v++)}t.map=w;function*p(b,g){let v=0;for(const N of b)yield*g(N,v++)}t.flatMap=p;function*x(...b){for(const g of b)lo(g)?yield*g:yield g}t.concat=x;function T(b,g,v){let N=v;for(const S of b)N=g(N,S);return N}t.reduce=T;function y(b){let g=0;for(const v of b)g++;return g}t.length=y;function*A(b,g,v=b.length){for(g<-b.length&&(g=0),g<0&&(g+=b.length),v<0?v+=b.length:v>b.length&&(v=b.length);g<v;g++)yield b[g]}t.slice=A;function I(b,g=Number.POSITIVE_INFINITY){const v=[];if(g===0)return[v,b];const N=b[Symbol.iterator]();for(let S=0;S<g;S++){const _=N.next();if(_.done)return[v,t.empty()];v.push(_.value)}return[v,{[Symbol.iterator](){return N}}]}t.consume=I;async function H(b){const g=[];for await(const v of b)g.push(v);return g}t.asyncToArray=H;async function P(b){let g=[];for await(const v of b)g=g.concat(v);return g}t.asyncToArrayFlat=P})(Vt||(Vt={}));function sh(t,e){}function Hi(t){if(Vt.is(t)){const e=[];for(const n of t)if(n)try{n.dispose()}catch(i){e.push(i)}if(e.length===1)throw e[0];if(e.length>1)throw new AggregateError(e,"Encountered errors while disposing of store");return Array.isArray(t)?[]:t}else if(t)return t.dispose(),t}function uo(...t){return jt(()=>Hi(t))}class co{constructor(e){this._isDisposed=!1,this._fn=e}dispose(){if(!this._isDisposed){if(!this._fn)throw new Error("Unbound disposable context: Need to use an arrow function to preserve the value of this");this._isDisposed=!0,this._fn()}}}function jt(t){return new co(t)}const _n=class _n{constructor(){this._toDispose=new Set,this._isDisposed=!1}dispose(){this._isDisposed||(this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(this._toDispose.size!==0)try{Hi(this._toDispose)}finally{this._toDispose.clear()}}add(e){if(!e||e===Xe.None)return e;if(e===this)throw new Error("Cannot register a disposable on itself!");return this._isDisposed?_n.DISABLE_DISPOSED_WARNING||console.warn(new Error("Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!").stack):this._toDispose.add(e),e}delete(e){if(e){if(e===this)throw new Error("Cannot dispose a disposable on itself!");this._toDispose.delete(e),e.dispose()}}};_n.DISABLE_DISPOSED_WARNING=!1;let xt=_n;const Mi=class Mi{constructor(){this._store=new xt,this._store}dispose(){this._store.dispose()}_register(e){if(e===this)throw new Error("Cannot register a disposable on itself!");return this._store.add(e)}};Mi.None=Object.freeze({dispose(){}});let Xe=Mi,te=(Be=class{constructor(e){this.element=e,this.next=Be.Undefined,this.prev=Be.Undefined}},Be.Undefined=new Be(void 0),Be);class ho{constructor(){this._first=te.Undefined,this._last=te.Undefined,this._size=0}get size(){return this._size}isEmpty(){
Line truncated
|
||||
`).slice(2).join(`
|
||||
`))}}class po extends Error{constructor(e,n){super(e),this.name="ListenerLeakError",this.stack=n}}class go extends Error{constructor(e,n){super(e),this.name="ListenerRefusalError",this.stack=n}}class Dn{constructor(e){this.value=e}}const bo=2;class Ee{constructor(e){this._size=0,this._options=e,this._leakageMon=this._options?.leakWarningThreshold?new En(e?.onListenerError??qt,this._options?.leakWarningThreshold??fo):void 0,this._perfMon=this._options?._profName?new Cn(this._options._profName):void 0,this._deliveryQueue=this._options?.deliveryQueue}dispose(){this._disposed||(this._disposed=!0,this._deliveryQueue?.current===this&&this._deliveryQueue.reset(),this._listeners&&(this._listeners=void 0,this._size=0),this._options?.onDidRemoveLastListener?.(),this._leakageMon?.dispose())}get event(){return this._event??=(e,n,i)=>{if(this._leakageMon&&this._size>this._leakageMon.threshold**2){const l=`[${this._leakageMon.name}] REFUSES to accept new listeners because it exceeded its threshold by far (${this._size} vs ${this._leakageMon.threshold})`;console.warn(l);const o=this._leakageMon.getMostFrequentStack()??["UNKNOWN stack",-1],u=new go(`${l}. HINT: Stack shows most frequent listener (${o[1]}-times)`,o[0]);return(this._options?.onListenerError||qt)(u),Xe.None}if(this._disposed)return Xe.None;n&&(e=e.bind(n));const r=new Dn(e);let s;this._leakageMon&&this._size>=Math.ceil(this._leakageMon.threshold*.2)&&(r.stack=Rn.create(),s=this._leakageMon.check(r.stack,this._size+1)),this._listeners?this._listeners instanceof Dn?(this._deliveryQueue??=new wo,this._listeners=[this._listeners,r]):this._listeners.push(r):(this._options?.onWillAddFirstListener?.(this),this._listeners=r,this._options?.onDidAddFirstListener?.(this)),this._options?.onDidAddListener?.(this),this._size++;const a=jt(()=>{s?.(),this._removeListener(r)});return i instanceof xt?i.add(a):Array.isArray(i)&&i.push(a),a},this._event}_removeListener(e){if(this._options?.onWillRemoveListener?.(this),!this._listeners)return;if(this._size===1){this._listeners=void 0,this._options?.onDidRemoveLastListener?.(this),this._size=0;return}const n=this._listeners,i=n.indexOf(e);if(i===-1)throw console.log("disposed?",this._disposed),console.log("size?",this._size),console.log("arr?",JSON.stringify(this._listeners)),new Error("Attempted to dispose unknown listener");this._size--,n[i]=void 0;const r=this._deliveryQueue.current===this;if(this._size*bo<=n.length){let s=0;for(let a=0;a<n.length;a++)n[a]?n[s++]=n[a]:r&&s<this._deliveryQueue.end&&(this._deliveryQueue.end--,s<this._deliveryQueue.i&&this._deliveryQueue.i--);n.length=s}}_deliver(e,n){if(!e)return;const i=this._options?.onListenerError||qt;if(!i){e.value(n);return}try{e.value(n)}catch(r){i(r)}}_deliverQueue(e){const n=e.current._listeners;for(;e.i<e.end;)this._deliver(n[e.i++],e.value);e.reset()}fire(e){if(this._deliveryQueue?.current&&(this._deliverQueue(this._deliveryQueue),this._perfMon?.stop()),this._perfMon?.start(this._size),this._listeners)if(this._listeners instanceof Dn)this._deliver(this._listeners,e);else{const n=this._deliveryQueue;n.enqueue(this,e,this._listeners.length),this._deliverQueue(n)}this._perfMon?.stop()}hasListeners(){return this._size>0}}class wo{constructor(){this.i=-1,this.end=0}enqueue(e,n,i){this.i=0,this.end=i,this.current=e,this.value=n}reset(){this.i=this.end,this.current=void 0,this.value=void 0}}function _o(){return globalThis._VSCODE_NLS_MESSAGES}function Ui(){return globalThis._VSCODE_NLS_LANGUAGE}const vo=Ui()==="pseudo"||typeof document<"u"&&document.location&&typeof document.location.hash=="string"&&document.location.hash.indexOf("pseudo=true")>=0;function Pi(t,e){let n;return e.length===0?n=t:n=t.replace(/\{(\d+)\}/g,(i,r)=>{const s=r[0],a=e[s];let l=i;return typeof a=="string"?l=a:(typeof a=="number"||typeof a=="boolean"||a===void 0||a===null)&&(l=String(a)),l}),vo&&(n="["+n.replace(/[aouei]/g,"$&$&")+"]"),n}function q(t,e,...n){return Pi(typeof t=="number"?yo(t,e):e,n)}function yo(t,e){const n=_o()?.[t];if(typeof n!="string"){if(typeof e=="string")return e;throw new Error(`!!! NLS MISSING: ${t} !!!`)}return n}const it="en";let Mn=!1,Nn=!1,In=!1,Gt,zn=it,Wi=it,To,Ie;const Je=globalThis;let he;typeof Je.vscode<"u"&&typeof Je.vscode.process<"u"?he=Je.vscode.process:typeof process<"u"&&typeof process?.versions?.node=="string"&&(he=process);const xo=typeof he?.versions?.electron=="string"&&he?.type==="renderer";if(typeof he=="object"){Mn=he.platform==="win32",Nn=he.platform==="darwin",In=he.platform==="linux",In&&he.env.SNAP&&he.env.SNAP_REVISION,he.env.CI||he.env.BUILD_ARTIFACTSTAGINGDIRECTORY||he.env.GITHUB_WORKSPACE,Gt=it,zn=it;const t=he.env.VSCODE_NLS_CONFIG;if(t)try{const e=JSON.parse(t);Gt=e.userLocale,Wi=e.osLocale,zn=e.resolvedLanguage||it,To=e.languagePack?.translationsConfigFile}catch{}}else typeof navigator=="object"&&!xo?(Ie=navigator.userAgent,Mn=Ie.indexOf("Windows")>=0,Nn=Ie.indexOf("Macintosh")>=0,(Ie.indexOf("Macintosh")>=0||Ie.indexOf("iPad")>=0||Ie.inde
Line truncated
|
||||
`||t===" "}class tn{constructor(e,n,i){this.changes=e,this.moves=n,this.hitTimeout=i}}class jl{constructor(e,n){this.lineRangeMapping=e,this.changes=n}}function $l(t,e,n=(i,r)=>i===r){if(t===e)return!0;if(!t||!e||t.length!==e.length)return!1;for(let i=0,r=t.length;i<r;i++)if(!n(t[i],e[i]))return!1;return!0}function*Gl(t,e){let n,i;for(const r of t)i!==void 0&&e(i,r)?n.push(r):(n&&(yield n),n=[r]),i=r;n&&(yield n)}function Xl(t,e){for(let n=0;n<=t.length;n++)e(n===0?void 0:t[n-1],n===t.length?void 0:t[n])}function Jl(t,e){for(let n=0;n<t.length;n++)e(n===0?void 0:t[n-1],t[n],n+1===t.length?void 0:t[n+1])}function Ql(t,e){for(const n of e)t.push(n)}var ni;(function(t){function e(s){return s<0}t.isLessThan=e;function n(s){return s<=0}t.isLessThanOrEqual=n;function i(s){return s>0}t.isGreaterThan=i;function r(s){return s===0}t.isNeitherLessOrGreaterThan=r,t.greaterThan=1,t.lessThan=-1,t.neitherLessOrGreaterThan=0})(ni||(ni={}));function Ct(t,e){return(n,i)=>e(t(n),t(i))}const Et=(t,e)=>t-e;function Yl(t){return(e,n)=>-t(e,n)}const Tt=class Tt{constructor(e){this.iterate=e}toArray(){const e=[];return this.iterate(n=>(e.push(n),!0)),e}filter(e){return new Tt(n=>this.iterate(i=>e(i)?n(i):!0))}map(e){return new Tt(n=>this.iterate(i=>n(e(i))))}findLast(e){let n;return this.iterate(i=>(e(i)&&(n=i),!0)),n}findLastMaxBy(e){let n,i=!0;return this.iterate(r=>((i||ni.isGreaterThan(e(r,n)))&&(i=!1,n=r),!0)),n}};Tt.empty=new Tt(e=>{});let ws=Tt;class G{static fromTo(e,n){return new G(e,n)}static addRange(e,n){let i=0;for(;i<n.length&&n[i].endExclusive<e.start;)i++;let r=i;for(;r<n.length&&n[r].start<=e.endExclusive;)r++;if(i===r)n.splice(i,0,e);else{const s=Math.min(e.start,n[i].start),a=Math.max(e.endExclusive,n[r-1].endExclusive);n.splice(i,r-i,new G(s,a))}}static tryCreate(e,n){if(!(e>n))return new G(e,n)}static ofLength(e){return new G(0,e)}static ofStartAndLength(e,n){return new G(e,e+n)}static emptyAt(e){return new G(e,e)}constructor(e,n){if(this.start=e,this.endExclusive=n,e>n)throw new le(`Invalid range: ${this.toString()}`)}get isEmpty(){return this.start===this.endExclusive}delta(e){return new G(this.start+e,this.endExclusive+e)}deltaStart(e){return new G(this.start+e,this.endExclusive)}deltaEnd(e){return new G(this.start,this.endExclusive+e)}get length(){return this.endExclusive-this.start}toString(){return`[${this.start}, ${this.endExclusive})`}equals(e){return this.start===e.start&&this.endExclusive===e.endExclusive}contains(e){return this.start<=e&&e<this.endExclusive}join(e){return new G(Math.min(this.start,e.start),Math.max(this.endExclusive,e.endExclusive))}intersect(e){const n=Math.max(this.start,e.start),i=Math.min(this.endExclusive,e.endExclusive);if(n<=i)return new G(n,i)}intersectionLength(e){const n=Math.max(this.start,e.start),i=Math.min(this.endExclusive,e.endExclusive);return Math.max(0,i-n)}intersects(e){const n=Math.max(this.start,e.start),i=Math.min(this.endExclusive,e.endExclusive);return n<i}intersectsOrTouches(e){const n=Math.max(this.start,e.start),i=Math.min(this.endExclusive,e.endExclusive);return n<=i}isBefore(e){return this.endExclusive<=e.start}isAfter(e){return this.start>=e.endExclusive}slice(e){return e.slice(this.start,this.endExclusive)}substring(e){return e.substring(this.start,this.endExclusive)}clip(e){if(this.isEmpty)throw new le(`Invalid clipping range: ${this.toString()}`);return Math.max(this.start,Math.min(this.endExclusive-1,e))}clipCyclic(e){if(this.isEmpty)throw new le(`Invalid clipping range: ${this.toString()}`);return e<this.start?this.endExclusive-(this.start-e)%this.length:e>=this.endExclusive?this.start+(e-this.start)%this.length:e}forEach(e){for(let n=this.start;n<this.endExclusive;n++)e(n)}joinRightTouching(e){if(this.endExclusive!==e.start)throw new le(`Invalid join: ${this.toString()} and ${e.toString()}`);return new G(this.start,e.endExclusive)}}function ut(t,e){const n=ct(t,e);return n===-1?void 0:t[n]}function ct(t,e,n=0,i=t.length){let r=n,s=i;for(;r<s;){const a=Math.floor((r+s)/2);e(t[a])?r=a+1:s=a}return r-1}function Zl(t,e){const n=ii(t,e);return n===t.length?void 0:t[n]}function ii(t,e,n=0,i=t.length){let r=n,s=i;for(;r<s;){const a=Math.floor((r+s)/2);e(t[a])?s=a:r=a+1}return r}const Tn=class Tn{constructor(e){this._array=e,this._findLastMonotonousLastIdx=0}findLastMonotonous(e){if(Tn.assertInvariants){if(this._prevFindLastPredicate){for(const i of this._array)if(this._prevFindLastPredicate(i)&&!e(i))throw new Error("MonotonousArray: current predicate must be weaker than (or equal to) the previous predicate.")}this._prevFindLastPredicate=e}const n=ct(this._array,e,this._findLastMonotonousLastIdx);return this._findLastMonotonousLastIdx=n+1,n===-1?void 0:this._array[n]}};Tn.assertInvariants=!1;let nn=Tn;const _e=class _e{static ofLength(e,n){return new _e(e,e+n)}static fromRange(e){return new _e(e.startLineNumber,e.endLineNumber)}static fromRangeInclusive(e){return new _e(e.startLineNumber,e.endLineNumber+1)}static joinMany(e){if(e.length===0)return[];le
Line truncated
|
||||
`?(n++,i=0):i++;return new Le(n,i)}constructor(e,n){this.lineCount=e,this.columnCount=n}isGreaterThanOrEqualTo(e){return this.lineCount!==e.lineCount?this.lineCount>e.lineCount:this.columnCount>=e.columnCount}add(e){return e.lineCount===0?new Le(this.lineCount,this.columnCount+e.columnCount):new Le(this.lineCount+e.lineCount,e.columnCount)}createRange(e){return this.lineCount===0?new j(e.lineNumber,e.column,e.lineNumber,e.column+this.columnCount):new j(e.lineNumber,e.column,e.lineNumber+this.lineCount,this.columnCount+1)}toRange(){return new j(1,1,this.lineCount+1,this.columnCount+1)}toLineRange(){return X.ofLength(1,this.lineCount+1)}addToPosition(e){return this.lineCount===0?new K(e.lineNumber,e.column+this.columnCount):new K(e.lineNumber+this.lineCount,this.columnCount+1)}toString(){return`${this.lineCount},${this.columnCount}`}};Le.zero=new Le(0,0);let Rt=Le;class Kl{getOffsetRange(e){return new G(this.getOffset(e.getStartPosition()),this.getOffset(e.getEndPosition()))}getRange(e){return j.fromPositions(this.getPosition(e.start),this.getPosition(e.endExclusive))}getStringReplacement(e){return new ht.deps.StringReplacement(this.getOffsetRange(e.range),e.text)}getTextReplacement(e){return new ht.deps.TextReplacement(this.getRange(e.replaceRange),e.newText)}getTextEdit(e){const n=e.replacements.map(i=>this.getTextReplacement(i));return new ht.deps.TextEdit(n)}}const Ni=class Ni{static get deps(){if(!this._deps)throw new Error("Dependencies not set. Call _setDependencies first.");return this._deps}};Ni._deps=void 0;let ht=Ni;class eu extends Kl{constructor(e){super(),this.text=e,this.lineStartOffsetByLineIdx=[],this.lineEndOffsetByLineIdx=[],this.lineStartOffsetByLineIdx.push(0);for(let n=0;n<e.length;n++)e.charAt(n)===`
|
||||
`&&(this.lineStartOffsetByLineIdx.push(n+1),n>0&&e.charAt(n-1)==="\r"?this.lineEndOffsetByLineIdx.push(n-1):this.lineEndOffsetByLineIdx.push(n));this.lineEndOffsetByLineIdx.push(e.length)}getOffset(e){const n=this._validatePosition(e);return this.lineStartOffsetByLineIdx[n.lineNumber-1]+n.column-1}_validatePosition(e){if(e.lineNumber<1)return new K(1,1);const n=this.textLength.lineCount+1;if(e.lineNumber>n){const r=this.getLineLength(n);return new K(n,r+1)}if(e.column<1)return new K(e.lineNumber,1);const i=this.getLineLength(e.lineNumber);return e.column-1>i?new K(e.lineNumber,i+1):e}getPosition(e){const n=ct(this.lineStartOffsetByLineIdx,s=>s<=e),i=n+1,r=e-this.lineStartOffsetByLineIdx[n]+1;return new K(i,r)}get textLength(){const e=this.lineStartOffsetByLineIdx.length-1;return new ht.deps.TextLength(e,this.text.length-this.lineStartOffsetByLineIdx[e])}getLineLength(e){return this.lineEndOffsetByLineIdx[e-1]-this.lineStartOffsetByLineIdx[e-1]}}class tu{constructor(){this._transformer=void 0}get endPositionExclusive(){return this.length.addToPosition(new K(1,1))}get lineRange(){return this.length.toLineRange()}getValue(){return this.getValueOfRange(this.length.toRange())}getValueOfOffsetRange(e){return this.getValueOfRange(this.getTransformer().getRange(e))}getLineLength(e){return this.getValueOfRange(new j(e,1,e,Number.MAX_SAFE_INTEGER)).length}getTransformer(){return this._transformer||(this._transformer=new eu(this.getValue())),this._transformer}getLineAt(e){return this.getValueOfRange(new j(e,1,e,Number.MAX_SAFE_INTEGER))}}class nu extends tu{constructor(e,n){ao(n>=1),super(),this._getLineContent=e,this._lineCount=n}getValueOfRange(e){if(e.startLineNumber===e.endLineNumber)return this._getLineContent(e.startLineNumber).substring(e.startColumn-1,e.endColumn-1);let n=this._getLineContent(e.startLineNumber).substring(e.startColumn-1);for(let i=e.startLineNumber+1;i<e.endLineNumber;i++)n+=`
|
||||
`+this._getLineContent(i);return n+=`
|
||||
`+this._getLineContent(e.endLineNumber).substring(0,e.endColumn-1),n}getLineLength(e){return this._getLineContent(e).length}get length(){const e=this._getLineContent(this._lineCount);return new Rt(this._lineCount-1,e.length)}}class rn extends nu{constructor(e){super(n=>e[n-1],e.length)}}class je{static joinReplacements(e,n){if(e.length===0)throw new le;if(e.length===1)return e[0];const i=e[0].range.getStartPosition(),r=e[e.length-1].range.getEndPosition();let s="";for(let a=0;a<e.length;a++){const l=e[a];if(s+=l.text,a<e.length-1){const o=e[a+1],u=j.fromPositions(l.range.getEndPosition(),o.range.getStartPosition()),c=n.getValueOfRange(u);s+=c}}return new je(j.fromPositions(i,r),s)}static fromStringReplacement(e,n){return new je(n.getTransformer().getRange(e.replaceRange),e.newText)}static delete(e){return new je(e,"")}constructor(e,n){this.range=e,this.text=n}get isEmpty(){return this.range.isEmpty()&&this.text.length===0}static equals(e,n){return e.range.equalsRange(n.range)&&e.text===n.text}equals(e){return je.equals(this,e)}removeCommonPrefixAndSuffix(e){return this.removeCommonPrefix(e).removeCommonSuffix(e)}removeCommonPrefix(e){const n=e.getValueOfRange(this.range).replaceAll(`\r
|
||||
`,`
|
||||
`),i=this.text.replaceAll(`\r
|
||||
`,`
|
||||
`),r=Io(n,i),s=Rt.ofText(n.substring(0,r)).addToPosition(this.range.getStartPosition()),a=i.substring(r),l=j.fromPositions(s,this.range.getEndPosition());return new je(l,a)}removeCommonSuffix(e){const n=e.getValueOfRange(this.range).replaceAll(`\r
|
||||
`,`
|
||||
`),i=this.text.replaceAll(`\r
|
||||
`,`
|
||||
`),r=zo(n,i),s=Rt.ofText(n.substring(0,n.length-r)).addToPosition(this.range.getStartPosition()),a=i.substring(0,i.length-r),l=j.fromPositions(this.range.getStartPosition(),s);return new je(l,a)}toString(){const e=this.range.getStartPosition(),n=this.range.getEndPosition();return`(${e.lineNumber},${e.column} -> ${n.lineNumber},${n.column}): "${this.text}"`}}class ve{static inverse(e,n,i){const r=[];let s=1,a=1;for(const o of e){const u=new ve(new X(s,o.original.startLineNumber),new X(a,o.modified.startLineNumber));u.modified.isEmpty||r.push(u),s=o.original.endLineNumberExclusive,a=o.modified.endLineNumberExclusive}const l=new ve(new X(s,n+1),new X(a,i+1));return l.modified.isEmpty||r.push(l),r}static clip(e,n,i){const r=[];for(const s of e){const a=s.original.intersect(n),l=s.modified.intersect(i);a&&!a.isEmpty&&l&&!l.isEmpty&&r.push(new ve(a,l))}return r}constructor(e,n){this.original=e,this.modified=n}toString(){return`{${this.original.toString()}->${this.modified.toString()}}`}flip(){return new ve(this.modified,this.original)}join(e){return new ve(this.original.join(e.original),this.modified.join(e.modified))}toRangeMapping(){const e=this.original.toInclusiveRange(),n=this.modified.toInclusiveRange();if(e&&n)return new ye(e,n);if(this.original.startLineNumber===1||this.modified.startLineNumber===1){if(!(this.modified.startLineNumber===1&&this.original.startLineNumber===1))throw new le("not a valid diff");return new ye(new j(this.original.startLineNumber,1,this.original.endLineNumberExclusive,1),new j(this.modified.startLineNumber,1,this.modified.endLineNumberExclusive,1))}else return new ye(new j(this.original.startLineNumber-1,Number.MAX_SAFE_INTEGER,this.original.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),new j(this.modified.startLineNumber-1,Number.MAX_SAFE_INTEGER,this.modified.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER))}toRangeMapping2(e,n){if(_s(this.original.endLineNumberExclusive,e)&&_s(this.modified.endLineNumberExclusive,n))return new ye(new j(this.original.startLineNumber,1,this.original.endLineNumberExclusive,1),new j(this.modified.startLineNumber,1,this.modified.endLineNumberExclusive,1));if(!this.original.isEmpty&&!this.modified.isEmpty)return new ye(j.fromPositions(new K(this.original.startLineNumber,1),dt(new K(this.original.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),e)),j.fromPositions(new K(this.modified.startLineNumber,1),dt(new K(this.modified.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),n)));if(this.original.startLineNumber>1&&this.modified.startLineNumber>1)return new ye(j.fromPositions(dt(new K(this.original.startLineNumber-1,Number.MAX_SAFE_INTEGER),e),dt(new K(this.original.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),e)),j.fromPositions(dt(new K(this.modified.startLineNumber-1,Number.MAX_SAFE_INTEGER),n),dt(new K(this.modified.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),n)));throw new le}}function dt(t,e){if(t.lineNumber<1)return new K(1,1);if(t.lineNumber>e.length)return new K(e.length,e[e.length-1].length+1);const n=e[t.lineNumber-1];return t.column>n.length+1?new K(t.lineNumber,n.length+1):t}function _s(t,e){return t>=1&&t<=e.length}class Ue extends ve{static fromRangeMappings(e){const n=X.join(e.map(r=>X.fromRangeInclusive(r.originalRange))),i=X.join(e.map(r=>X.fromRangeInclusive(r.modifiedRange)));return new Ue(n,i,e)}constructor(e,n,i){super(e,n),this.innerChanges=i}flip(){return new Ue(this.modified,this.original,this.innerChanges?.map(e=>e.flip()))}withInnerChangesFromLineRanges(){return new Ue(this.original,this.modified,[this.toRangeMapping()])}}class ye{static fromEdit(e){const n=e.getNewRanges();return e.replacements.map((r,s)=>new ye(r.range,n[s]))}static assertSorted(e){for(let n=1;n<e.length;n++){const i=e[n-1],r=e[n];if(!(i.originalRange.getEndPosition().isBeforeOrEqual(r.originalRange.getStartPosition())&&i.modifiedRange.getEndPosition().isBeforeOrEqual(r.modifiedRange.getStartPosition())))throw new le("Range mappings must be sorted")}}constructor(e,n){this.originalRange=e,this.modifiedRange=n}toString(){return`{${this.originalRange.toString()}->${this.modifiedRange.toString()}}`}flip(){return new ye(this.modifiedRange,this.originalRange)}toTextEdit(e){const n=e.getValueOfRange(this.modifiedRange);return new je(this.originalRange,n)}}function vs(t,e,n,i=!1){const r=[];for(const s of Gl(t.map(a=>iu(a,e,n)),(a,l)=>a.original.intersectsOrTouches(l.original)||a.modified.intersectsOrTouches(l.modified))){const a=s[0],l=s[s.length-1];r.push(new Ue(a.original.join(l.original),a.modified.join(l.modified),s.map(o=>o.innerChanges[0])))}return Ot(()=>!i&&r.length>0&&(r[0].modified.startLineNumber!==r[0].original.startLineNumber||n.length.lineCount-r[r.length-1].modified.endLineNumberExclusive!==e.length.lineCount-r[r.length-1].original.endLineNumberExclusive)?!1:zi(r,(s,a)=>a.original.startLineNumber-s.original.endLineNumberExclusive===a.modified.startLineNumber-s.modified.endLineNumberExclusive&&s.original.endLineNumberExclusive<a.ori
Line truncated
|
||||
`);this.histogram[l]=(this.histogram[l]||0)+1}this.totalCount=r}computeSimilarity(e){let n=0;const i=Math.max(this.histogram.length,e.histogram.length);for(let r=0;r<i;r++)n+=Math.abs((this.histogram[r]??0)-(e.histogram[r]??0));return 1-n/(this.totalCount+e.totalCount)}};Ft.chrKeys=new Map;let sn=Ft;class cu{compute(e,n,i=Mt.instance,r){if(e.length===0||n.length===0)return Pe.trivial(e,n);const s=new ai(e.length,n.length),a=new ai(e.length,n.length),l=new ai(e.length,n.length);for(let w=0;w<e.length;w++)for(let p=0;p<n.length;p++){if(!i.isValid())return Pe.trivialTimedOut(e,n);const x=w===0?0:s.get(w-1,p),T=p===0?0:s.get(w,p-1);let y;e.getElement(w)===n.getElement(p)?(w===0||p===0?y=0:y=s.get(w-1,p-1),w>0&&p>0&&a.get(w-1,p-1)===3&&(y+=l.get(w-1,p-1)),y+=r?r(w,p):1):y=-1;const A=Math.max(x,T,y);if(A===y){const I=w>0&&p>0?l.get(w-1,p-1):0;l.set(w,p,I+1),a.set(w,p,3)}else A===x?(l.set(w,p,0),a.set(w,p,1)):A===T&&(l.set(w,p,0),a.set(w,p,2));s.set(w,p,A)}const o=[];let u=e.length,c=n.length;function d(w,p){(w+1!==u||p+1!==c)&&o.push(new ne(new G(w+1,u),new G(p+1,c))),u=w,c=p}let m=e.length-1,f=n.length-1;for(;m>=0&&f>=0;)a.get(m,f)===3?(d(m,f),m--,f--):a.get(m,f)===1?m--:f--;return d(-1,-1),o.reverse(),new Pe(o,!1)}}class ks{compute(e,n,i=Mt.instance){if(e.length===0||n.length===0)return Pe.trivial(e,n);const r=e,s=n;function a(p,x){for(;p<r.length&&x<s.length&&r.getElement(p)===s.getElement(x);)p++,x++;return p}let l=0;const o=new hu;o.set(0,a(0,0));const u=new du;u.set(0,o.get(0)===0?null:new Ss(null,0,0,o.get(0)));let c=0;e:for(;;){if(l++,!i.isValid())return Pe.trivialTimedOut(r,s);const p=-Math.min(l,s.length+l%2),x=Math.min(l,r.length+l%2);for(c=p;c<=x;c+=2){const T=c===x?-1:o.get(c+1),y=c===p?-1:o.get(c-1)+1,A=Math.min(Math.max(T,y),r.length),I=A-c;if(A>r.length||I>s.length)continue;const H=a(A,I);o.set(c,H);const P=A===T?u.get(c+1):u.get(c-1);if(u.set(c,H!==A?new Ss(P,A,I,H-A):P),o.get(c)===r.length&&o.get(c)-c===s.length)break e}}let d=u.get(c);const m=[];let f=r.length,w=s.length;for(;;){const p=d?d.x+d.length:0,x=d?d.y+d.length:0;if((p!==f||x!==w)&&m.push(new ne(new G(p,f),new G(x,w))),!d)break;f=d.x,w=d.y,d=d.prev}return m.reverse(),new Pe(m,!1)}}class Ss{constructor(e,n,i,r){this.prev=e,this.x=n,this.y=i,this.length=r}}class hu{constructor(){this.positiveArr=new Int32Array(10),this.negativeArr=new Int32Array(10)}get(e){return e<0?(e=-e-1,this.negativeArr[e]):this.positiveArr[e]}set(e,n){if(e<0){if(e=-e-1,e>=this.negativeArr.length){const i=this.negativeArr;this.negativeArr=new Int32Array(i.length*2),this.negativeArr.set(i)}this.negativeArr[e]=n}else{if(e>=this.positiveArr.length){const i=this.positiveArr;this.positiveArr=new Int32Array(i.length*2),this.positiveArr.set(i)}this.positiveArr[e]=n}}}class du{constructor(){this.positiveArr=[],this.negativeArr=[]}get(e){return e<0?(e=-e-1,this.negativeArr[e]):this.positiveArr[e]}set(e,n){e<0?(e=-e-1,this.negativeArr[e]=n):this.positiveArr[e]=n}}class an{constructor(e,n,i){this.lines=e,this.range=n,this.considerWhitespaceChanges=i,this.elements=[],this.firstElementOffsetByLineIdx=[],this.lineStartOffsets=[],this.trimmedWsLengthsByLineIdx=[],this.firstElementOffsetByLineIdx.push(0);for(let r=this.range.startLineNumber;r<=this.range.endLineNumber;r++){let s=e[r-1],a=0;r===this.range.startLineNumber&&this.range.startColumn>1&&(a=this.range.startColumn-1,s=s.substring(a)),this.lineStartOffsets.push(a);let l=0;if(!i){const u=s.trimStart();l=s.length-u.length,s=u.trimEnd()}this.trimmedWsLengthsByLineIdx.push(l);const o=r===this.range.endLineNumber?Math.min(this.range.endColumn-1-a-l,s.length):s.length;for(let u=0;u<o;u++)this.elements.push(s.charCodeAt(u));r<this.range.endLineNumber&&(this.elements.push(10),this.firstElementOffsetByLineIdx.push(this.elements.length))}}toString(){return`Slice: "${this.text}"`}get text(){return this.getText(new G(0,this.length))}getText(e){return this.elements.slice(e.start,e.endExclusive).map(n=>String.fromCharCode(n)).join("")}getElement(e){return this.elements[e]}get length(){return this.elements.length}getBoundaryScore(e){const n=Cs(e>0?this.elements[e-1]:-1),i=Cs(e<this.elements.length?this.elements[e]:-1);if(n===7&&i===8)return 0;if(n===8)return 150;let r=0;return n!==i&&(r+=10,n===0&&i===1&&(r+=1)),r+=Ls(n),r+=Ls(i),r}translateOffset(e,n="right"){const i=ct(this.firstElementOffsetByLineIdx,s=>s<=e),r=e-this.firstElementOffsetByLineIdx[i];return new K(this.range.startLineNumber+i,1+this.lineStartOffsets[i]+r+(r===0&&n==="left"?0:this.trimmedWsLengthsByLineIdx[i]))}translateRange(e){const n=this.translateOffset(e.start,"right"),i=this.translateOffset(e.endExclusive,"left");return i.isBefore(n)?j.fromPositions(i,i):j.fromPositions(n,i)}findWordContaining(e){if(e<0||e>=this.elements.length||!ft(this.elements[e]))return;let n=e;for(;n>0&&ft(this.elements[n-1]);)n--;let i=e;for(;i<this.elements.length&&ft(this.elements[i]);)i++;return new G(n,i)}findSubWordContaining(e){if(e<0||e>=this.elements.length||!ft(this.elements[e]))return
Line truncated
|
||||
`).length>=15&&pu(d,f=>f.length>=2)>=2}),a=_u(t,a),a}function pu(t,e){let n=0;for(const i of t)e(i)&&n++;return n}function gu(t,e,n,i){const r=[],s=t.filter(o=>o.modified.isEmpty&&o.original.length>=3).map(o=>new sn(o.original,e,o)),a=new Set(t.filter(o=>o.original.isEmpty&&o.modified.length>=3).map(o=>new sn(o.modified,n,o))),l=new Set;for(const o of s){let u=-1,c;for(const d of a){const m=o.computeSimilarity(d);m>u&&(u=m,c=d)}if(u>.9&&c&&(a.delete(c),r.push(new ve(o.range,c.range)),l.add(o.source),l.add(c.source)),!i.isValid())return{moves:r,excludedChanges:l}}return{moves:r,excludedChanges:l}}function bu(t,e,n,i,r,s){const a=[],l=new Il;for(const m of t)for(let f=m.original.startLineNumber;f<m.original.endLineNumberExclusive-2;f++){const w=`${e[f-1]}:${e[f+1-1]}:${e[f+2-1]}`;l.add(w,{range:new X(f,f+3)})}const o=[];t.sort(Ct(m=>m.modified.startLineNumber,Et));for(const m of t){let f=[];for(let w=m.modified.startLineNumber;w<m.modified.endLineNumberExclusive-2;w++){const p=`${n[w-1]}:${n[w+1-1]}:${n[w+2-1]}`,x=new X(w,w+3),T=[];l.forEach(p,({range:y})=>{for(const I of f)if(I.originalLineRange.endLineNumberExclusive+1===y.endLineNumberExclusive&&I.modifiedLineRange.endLineNumberExclusive+1===x.endLineNumberExclusive){I.originalLineRange=new X(I.originalLineRange.startLineNumber,y.endLineNumberExclusive),I.modifiedLineRange=new X(I.modifiedLineRange.startLineNumber,x.endLineNumberExclusive),T.push(I);return}const A={modifiedLineRange:x,originalLineRange:y};o.push(A),T.push(A)}),f=T}if(!s.isValid())return[]}o.sort(Yl(Ct(m=>m.modifiedLineRange.length,Et)));const u=new De,c=new De;for(const m of o){const f=m.modifiedLineRange.startLineNumber-m.originalLineRange.startLineNumber,w=u.subtractFrom(m.modifiedLineRange),p=c.subtractFrom(m.originalLineRange).getWithDelta(f),x=w.getIntersection(p);for(const T of x.ranges){if(T.length<3)continue;const y=T,A=T.delta(-f);a.push(new ve(A,y)),u.addRange(y),c.addRange(A)}}a.sort(Ct(m=>m.original.startLineNumber,Et));const d=new nn(t);for(let m=0;m<a.length;m++){const f=a[m],w=d.findLastMonotonous(P=>P.original.startLineNumber<=f.original.startLineNumber),p=ut(t,P=>P.modified.startLineNumber<=f.modified.startLineNumber),x=Math.max(f.original.startLineNumber-w.original.startLineNumber,f.modified.startLineNumber-p.modified.startLineNumber),T=d.findLastMonotonous(P=>P.original.startLineNumber<f.original.endLineNumberExclusive),y=ut(t,P=>P.modified.startLineNumber<f.modified.endLineNumberExclusive),A=Math.max(T.original.endLineNumberExclusive-f.original.endLineNumberExclusive,y.modified.endLineNumberExclusive-f.modified.endLineNumberExclusive);let I;for(I=0;I<x;I++){const P=f.original.startLineNumber-I-1,b=f.modified.startLineNumber-I-1;if(P>i.length||b>r.length||u.contains(b)||c.contains(P)||!Es(i[P-1],r[b-1],s))break}I>0&&(c.addRange(new X(f.original.startLineNumber-I,f.original.startLineNumber)),u.addRange(new X(f.modified.startLineNumber-I,f.modified.startLineNumber)));let H;for(H=0;H<A;H++){const P=f.original.endLineNumberExclusive+H,b=f.modified.endLineNumberExclusive+H;if(P>i.length||b>r.length||u.contains(b)||c.contains(P)||!Es(i[P-1],r[b-1],s))break}H>0&&(c.addRange(new X(f.original.endLineNumberExclusive,f.original.endLineNumberExclusive+H)),u.addRange(new X(f.modified.endLineNumberExclusive,f.modified.endLineNumberExclusive+H))),(I>0||H>0)&&(a[m]=new ve(new X(f.original.startLineNumber-I,f.original.endLineNumberExclusive+H),new X(f.modified.startLineNumber-I,f.modified.endLineNumberExclusive+H)))}return a}function Es(t,e,n){if(t.trim()===e.trim())return!0;if(t.length>300&&e.length>300)return!1;const r=new ks().compute(new an([t],new j(1,1,1,t.length),!1),new an([e],new j(1,1,1,e.length),!1),n);let s=0;const a=ne.invert(r.diffs,t.length);for(const c of a)c.seq1Range.forEach(d=>{oi(t.charCodeAt(d))||s++});function l(c){let d=0;for(let m=0;m<t.length;m++)oi(c.charCodeAt(m))||d++;return d}const o=l(t.length>e.length?t:e);return s/o>.6&&o>10}function wu(t){if(t.length===0)return t;t.sort(Ct(n=>n.original.startLineNumber,Et));const e=[t[0]];for(let n=1;n<t.length;n++){const i=e[e.length-1],r=t[n],s=r.original.startLineNumber-i.original.endLineNumberExclusive,a=r.modified.startLineNumber-i.modified.endLineNumberExclusive;if(s>=0&&a>=0&&s+a<=2){e[e.length-1]=i.join(r);continue}e.push(r)}return e}function _u(t,e){const n=new nn(t);return e=e.filter(i=>{const r=n.findLastMonotonous(l=>l.original.startLineNumber<i.original.endLineNumberExclusive)||new ve(new X(1,1),new X(1,1)),s=ut(t,l=>l.modified.startLineNumber<i.modified.endLineNumberExclusive);return r!==s}),e}function Rs(t,e,n){let i=n;return i=Ds(t,e,i),i=Ds(t,e,i),i=vu(t,e,i),i}function Ds(t,e,n){if(n.length===0)return n;const i=[];i.push(n[0]);for(let s=1;s<n.length;s++){const a=i[i.length-1];let l=n[s];if(l.seq1Range.isEmpty||l.seq2Range.isEmpty){const o=l.seq1Range.start-a.seq1Range.endExclusive;let u;for(u=1;u<=o&&!(t.getElement(l.seq1Range.start-u)!==t.getElement(l.seq1Range.endExclusive-u)||e.getElement(l.seq2Range
Line truncated
|
||||
`)}isStronglyEqual(e,n){return this.lines[e]===this.lines[n]}}function zs(t){let e=0;for(;e<t.length&&(t.charCodeAt(e)===32||t.charCodeAt(e)===9);)e++;return e}class Su{constructor(){this.dynamicProgrammingDiffing=new cu,this.myersDiffingAlgorithm=new ks}computeDiff(e,n,i){if(e.length<=1&&$l(e,n,(b,g)=>b===g))return new tn([],[],!1);if(e.length===1&&e[0].length===0||n.length===1&&n[0].length===0)return new tn([new Ue(new X(1,e.length+1),new X(1,n.length+1),[new ye(new j(1,1,e.length,e[e.length-1].length+1),new j(1,1,n.length,n[n.length-1].length+1))])],[],!1);const r=i.maxComputationTimeMs===0?Mt.instance:new uu(i.maxComputationTimeMs),s=!i.ignoreTrimWhitespace,a=new Map;function l(b){let g=a.get(b);return g===void 0&&(g=a.size,a.set(b,g)),g}const o=e.map(b=>l(b.trim())),u=n.map(b=>l(b.trim())),c=new Is(o,e),d=new Is(u,n),m=c.length+d.length<1700?this.dynamicProgrammingDiffing.compute(c,d,r,(b,g)=>e[b]===n[g]?n[g].length===0?.1:1+Math.log(1+n[g].length):.99):this.myersDiffingAlgorithm.compute(c,d,r);let f=m.diffs,w=m.hitTimeout;f=Rs(c,d,f),f=xu(c,d,f);const p=[],x=b=>{if(s)for(let g=0;g<b;g++){const v=T+g,N=y+g;if(e[v]!==n[N]){const S=this.refineDiff(e,n,new ne(new G(v,v+1),new G(N,N+1)),r,s,i);for(const _ of S.mappings)p.push(_);S.hitTimeout&&(w=!0)}}};let T=0,y=0;for(const b of f){Ot(()=>b.seq1Range.start-T===b.seq2Range.start-y);const g=b.seq1Range.start-T;x(g),T=b.seq1Range.endExclusive,y=b.seq2Range.endExclusive;const v=this.refineDiff(e,n,b,r,s,i);v.hitTimeout&&(w=!0);for(const N of v.mappings)p.push(N)}x(e.length-T);const A=new rn(e),I=new rn(n),H=vs(p,A,I);let P=[];return i.computeMoves&&(P=this.computeMoves(H,e,n,o,u,r,s,i)),Ot(()=>{function b(v,N){if(v.lineNumber<1||v.lineNumber>N.length)return!1;const S=N[v.lineNumber-1];return!(v.column<1||v.column>S.length+1)}function g(v,N){return!(v.startLineNumber<1||v.startLineNumber>N.length+1||v.endLineNumberExclusive<1||v.endLineNumberExclusive>N.length+1)}for(const v of H){if(!v.innerChanges)return!1;for(const N of v.innerChanges)if(!(b(N.modifiedRange.getStartPosition(),n)&&b(N.modifiedRange.getEndPosition(),n)&&b(N.originalRange.getStartPosition(),e)&&b(N.originalRange.getEndPosition(),e)))return!1;if(!g(v.modified,n)||!g(v.original,e))return!1}return!0}),new tn(H,P,w)}computeMoves(e,n,i,r,s,a,l,o){return fu(e,n,i,r,s,a).map(d=>{const m=this.refineDiff(n,i,new ne(d.original.toOffsetRange(),d.modified.toOffsetRange()),a,l,o),f=vs(m.mappings,new rn(n),new rn(i),!0);return new jl(d,f)})}refineDiff(e,n,i,r,s,a){const o=Au(i).toRangeMapping2(e,n),u=new an(e,o.originalRange,s),c=new an(n,o.modifiedRange,s),d=u.length+c.length<500?this.dynamicProgrammingDiffing.compute(u,c,r):this.myersDiffingAlgorithm.compute(u,c,r);let m=d.diffs;return m=Rs(u,c,m),m=Ns(u,c,m,(w,p)=>w.findWordContaining(p)),a.extendToSubwords&&(m=Ns(u,c,m,(w,p)=>w.findSubWordContaining(p),!0)),m=yu(u,c,m),m=ku(u,c,m),{mappings:m.map(w=>new ye(u.translateRange(w.seq1Range),c.translateRange(w.seq2Range))),hitTimeout:d.hitTimeout}}}function Au(t){return new ve(new X(t.seq1Range.start+1,t.seq1Range.endExclusive+1),new X(t.seq2Range.start+1,t.seq2Range.endExclusive+1))}const Hs={getLegacy:()=>new su,getDefault:()=>new Su};function $e(t,e){const n=Math.pow(10,e);return Math.round(t*n)/n}class C{constructor(e,n,i,r=1){this._rgbaBrand=void 0,this.r=Math.min(255,Math.max(0,e))|0,this.g=Math.min(255,Math.max(0,n))|0,this.b=Math.min(255,Math.max(0,i))|0,this.a=$e(Math.max(Math.min(1,r),0),3)}static equals(e,n){return e.r===n.r&&e.g===n.g&&e.b===n.b&&e.a===n.a}}class Te{constructor(e,n,i,r){this._hslaBrand=void 0,this.h=Math.max(Math.min(360,e),0)|0,this.s=$e(Math.max(Math.min(1,n),0),3),this.l=$e(Math.max(Math.min(1,i),0),3),this.a=$e(Math.max(Math.min(1,r),0),3)}static equals(e,n){return e.h===n.h&&e.s===n.s&&e.l===n.l&&e.a===n.a}static fromRGBA(e){const n=e.r/255,i=e.g/255,r=e.b/255,s=e.a,a=Math.max(n,i,r),l=Math.min(n,i,r);let o=0,u=0;const c=(l+a)/2,d=a-l;if(d>0){switch(u=Math.min(c<=.5?d/(2*c):d/(2-2*c),1),a){case n:o=(i-r)/d+(i<r?6:0);break;case i:o=(r-n)/d+2;break;case r:o=(n-i)/d+4;break}o*=60,o=Math.round(o)}return new Te(o,u,c,s)}static _hue2rgb(e,n,i){return i<0&&(i+=1),i>1&&(i-=1),i<1/6?e+(n-e)*6*i:i<1/2?n:i<2/3?e+(n-e)*(2/3-i)*6:e}static toRGBA(e){const n=e.h/360,{s:i,l:r,a:s}=e;let a,l,o;if(i===0)a=l=o=r;else{const u=r<.5?r*(1+i):r+i-r*i,c=2*r-u;a=Te._hue2rgb(c,u,n+1/3),l=Te._hue2rgb(c,u,n),o=Te._hue2rgb(c,u,n-1/3)}return new C(Math.round(a*255),Math.round(l*255),Math.round(o*255),s)}}class pt{constructor(e,n,i,r){this._hsvaBrand=void 0,this.h=Math.max(Math.min(360,e),0)|0,this.s=$e(Math.max(Math.min(1,n),0),3),this.v=$e(Math.max(Math.min(1,i),0),3),this.a=$e(Math.max(Math.min(1,r),0),3)}static equals(e,n){return e.h===n.h&&e.s===n.s&&e.v===n.v&&e.a===n.a}static fromRGBA(e){const n=e.r/255,i=e.g/255,r=e.b/255,s=Math.max(n,i,r),a=Math.min(n,i,r),l=s-a,o=s===0?0:l/s;let u;return l===0?u=0:s===n?u=((i-r)/l%6+6)%6:s===i?u=(r-n)/l+2:u=(n-i)/l+4,new pt(Math.round(u*60),o,s,e.a)}static toRGBA(
Line truncated
|
||||
`);s.lastIndex=0;let c;for(;(c=s.exec(u))!==null;){const d=u.substring(0,c.index),m=(d.match(/\n/g)||[]).length,f=a+m,w=c[0].split(`
|
||||
`),p=w.length,x=f+p-1,T=d.lastIndexOf(`
|
||||
`)+1,y=c.index-T+1,A=w[w.length-1],I=p===1?y+c[0].length:A.length+1,H={startLineNumber:f,startColumn:y,endLineNumber:x,endColumn:I},P=(c.groups??{}).label??"",b=((c.groups??{}).separator??"")!=="",g={range:H,text:P,hasSeparatorLine:b,shouldBeInComments:!0};(g.text||g.hasSeparatorLine)&&(n.length===0||n[n.length-1].range.endLineNumber<g.range.startLineNumber)&&n.push(g),s.lastIndex=c.index+c[0].length}}return n}function zu(t){t=t.trim();const e=t.startsWith("-");return t=t.replace(Ru,""),{text:t,hasSeparatorLine:e}}class Hu{get isRejected(){return this.outcome?.outcome===1}get isSettled(){return!!this.outcome}constructor(){this.p=new Promise((e,n)=>{this.completeCallback=e,this.errorCallback=n})}complete(e){return this.isSettled?Promise.resolve():new Promise(n=>{this.completeCallback(e),this.outcome={outcome:0,value:e},n()})}error(e){return this.isSettled?Promise.resolve():new Promise(n=>{this.errorCallback(e),this.outcome={outcome:1,value:e},n()})}cancel(){return this.error(new Ii)}}var Bs;(function(t){async function e(i){let r;const s=await Promise.all(i.map(a=>a.then(l=>l,l=>{r||(r=l)})));if(typeof r<"u")throw r;return s}t.settled=e;function n(i){return new Promise(async(r,s)=>{try{await i(r,s)}catch(a){s(a)}})}t.withAsyncBody=n})(Bs||(Bs={}));class Uu{constructor(){this._unsatisfiedConsumers=[],this._unconsumedValues=[]}get hasFinalValue(){return!!this._finalValue}produce(e){if(this._ensureNoFinalValue(),this._unsatisfiedConsumers.length>0){const n=this._unsatisfiedConsumers.shift();this._resolveOrRejectDeferred(n,e)}else this._unconsumedValues.push(e)}produceFinal(e){this._ensureNoFinalValue(),this._finalValue=e;for(const n of this._unsatisfiedConsumers)this._resolveOrRejectDeferred(n,e);this._unsatisfiedConsumers.length=0}_ensureNoFinalValue(){if(this._finalValue)throw new le("ProducerConsumer: cannot produce after final value has been set")}_resolveOrRejectDeferred(e,n){n.ok?e.complete(n.value):e.error(n.error)}consume(){if(this._unconsumedValues.length>0||this._finalValue){const e=this._unconsumedValues.length>0?this._unconsumedValues.shift():this._finalValue;return e.ok?Promise.resolve(e.value):Promise.reject(e.error)}else{const e=new Hu;return this._unsatisfiedConsumers.push(e),e.p}}}const pe=class pe{constructor(e,n){this._onReturn=n,this._producerConsumer=new Uu,this._iterator={next:()=>this._producerConsumer.consume(),return:()=>(this._onReturn?.(),Promise.resolve({done:!0,value:void 0})),throw:async i=>(this._finishError(i),{done:!0,value:void 0})},queueMicrotask(async()=>{const i=e({emitOne:r=>this._producerConsumer.produce({ok:!0,value:{done:!1,value:r}}),emitMany:r=>{for(const s of r)this._producerConsumer.produce({ok:!0,value:{done:!1,value:s}})},reject:r=>this._finishError(r)});if(!this._producerConsumer.hasFinalValue)try{await i,this._finishOk()}catch(r){this._finishError(r)}})}static fromArray(e){return new pe(n=>{n.emitMany(e)})}static fromPromise(e){return new pe(async n=>{n.emitMany(await e)})}static fromPromisesResolveOrder(e){return new pe(async n=>{await Promise.all(e.map(async i=>n.emitOne(await i)))})}static merge(e){return new pe(async n=>{await Promise.all(e.map(async i=>{for await(const r of i)n.emitOne(r)}))})}static map(e,n){return new pe(async i=>{for await(const r of e)i.emitOne(n(r))})}map(e){return pe.map(this,e)}static coalesce(e){return pe.filter(e,n=>!!n)}coalesce(){return pe.coalesce(this)}static filter(e,n){return new pe(async i=>{for await(const r of e)n(r)&&i.emitOne(r)})}filter(e){return pe.filter(this,e)}_finishOk(){this._producerConsumer.hasFinalValue||this._producerConsumer.produceFinal({ok:!0,value:{done:!0,value:void 0}})}_finishError(e){this._producerConsumer.hasFinalValue||this._producerConsumer.produceFinal({ok:!1,error:e})}[Symbol.asyncIterator](){return this._iterator}};pe.EMPTY=pe.fromArray([]);let qs=pe;class Pu{constructor(e){this.values=e,this.prefixSum=new Uint32Array(e.length),this.prefixSumValidIndex=new Int32Array(1),this.prefixSumValidIndex[0]=-1}insertValues(e,n){e=at(e);const i=this.values,r=this.prefixSum,s=n.length;return s===0?!1:(this.values=new Uint32Array(i.length+s),this.values.set(i.subarray(0,e),0),this.values.set(i.subarray(e),e+s),this.values.set(n,e),e-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=e-1),this.prefixSum=new Uint32Array(this.values.length),this.prefixSumValidIndex[0]>=0&&this.prefixSum.set(r.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}setValue(e,n){return e=at(e),n=at(n),this.values[e]===n?!1:(this.values[e]=n,e-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=e-1),!0)}removeValues(e,n){e=at(e),n=at(n);const i=this.values,r=this.prefixSum;if(e>=i.length)return!1;const s=i.length-e;return n>=s&&(n=s),n===0?!1:(this.values=new Uint32Array(i.length-n),this.values.set(i.subarray(0,e),0),this.values.set(i.subarray(e+n),e),this.prefixSum=new Uint32Array(this.values.length),e-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=e-1),this.prefixSumValidIndex[0]>=0&&this.prefixSum.set(r.suba
Line truncated
|
||||
`,s==="\r"&&r+1<n.length&&n.charAt(r+1)===`
|
||||
`&&r++}i&&n.length>0&&e.push(n.length),this._lineOffsets=e}return this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let n=this.getLineOffsets(),i=0,r=n.length;if(r===0)return se.create(0,e);for(;i<r;){let a=Math.floor((i+r)/2);n[a]>e?r=a:i=a+1}let s=i-1;return se.create(s,e-n[s])}offsetAt(e){let n=this.getLineOffsets();if(e.line>=n.length)return this._content.length;if(e.line<0)return 0;let i=n[e.line],r=e.line+1<n.length?n[e.line+1]:this._content.length;return Math.max(Math.min(i+e.character,r),i)}get lineCount(){return this.getLineOffsets().length}};var E;(function(t){const e=Object.prototype.toString;function n(f){return typeof f<"u"}t.defined=n;function i(f){return typeof f>"u"}t.undefined=i;function r(f){return f===!0||f===!1}t.boolean=r;function s(f){return e.call(f)==="[object String]"}t.string=s;function a(f){return e.call(f)==="[object Number]"}t.number=a;function l(f,w,p){return e.call(f)==="[object Number]"&&w<=f&&f<=p}t.numberRange=l;function o(f){return e.call(f)==="[object Number]"&&-2147483648<=f&&f<=2147483647}t.integer=o;function u(f){return e.call(f)==="[object Number]"&&0<=f&&f<=2147483647}t.uinteger=u;function c(f){return e.call(f)==="[object Function]"}t.func=c;function d(f){return f!==null&&typeof f=="object"}t.objectLiteral=d;function m(f,w){return Array.isArray(f)&&f.every(w)}t.typedArray=m})(E||(E={}));class Ht{constructor(e,n,i,r){this._uri=e,this._languageId=n,this._version=i,this._content=r,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){const n=this.offsetAt(e.start),i=this.offsetAt(e.end);return this._content.substring(n,i)}return this._content}update(e,n){for(let i of e)if(Ht.isIncremental(i)){const r=Ua(i.range),s=this.offsetAt(r.start),a=this.offsetAt(r.end);this._content=this._content.substring(0,s)+i.text+this._content.substring(a,this._content.length);const l=Math.max(r.start.line,0),o=Math.max(r.end.line,0);let u=this._lineOffsets;const c=Ha(i.text,!1,s);if(o-l===c.length)for(let m=0,f=c.length;m<f;m++)u[m+l+1]=c[m];else c.length<1e4?u.splice(l+1,o-l,...c):this._lineOffsets=u=u.slice(0,l+1).concat(c,u.slice(o+1));const d=i.text.length-(a-s);if(d!==0)for(let m=l+1+c.length,f=u.length;m<f;m++)u[m]=u[m]+d}else if(Ht.isFull(i))this._content=i.text,this._lineOffsets=void 0;else throw new Error("Unknown change event received");this._version=n}getLineOffsets(){return this._lineOffsets===void 0&&(this._lineOffsets=Ha(this._content,!0)),this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let n=this.getLineOffsets(),i=0,r=n.length;if(r===0)return{line:0,character:e};for(;i<r;){let a=Math.floor((i+r)/2);n[a]>e?r=a:i=a+1}let s=i-1;return{line:s,character:e-n[s]}}offsetAt(e){let n=this.getLineOffsets();if(e.line>=n.length)return this._content.length;if(e.line<0)return 0;let i=n[e.line],r=e.line+1<n.length?n[e.line+1]:this._content.length;return Math.max(Math.min(i+e.character,r),i)}get lineCount(){return this.getLineOffsets().length}static isIncremental(e){let n=e;return n!=null&&typeof n.text=="string"&&n.range!==void 0&&(n.rangeLength===void 0||typeof n.rangeLength=="number")}static isFull(e){let n=e;return n!=null&&typeof n.text=="string"&&n.range===void 0&&n.rangeLength===void 0}}var Ai;(function(t){function e(r,s,a,l){return new Ht(r,s,a,l)}t.create=e;function n(r,s,a){if(r instanceof Ht)return r.update(s,a),r;throw new Error("TextDocument.update: document must be created by TextDocument.create")}t.update=n;function i(r,s){let a=r.getText(),l=Li(s.map(Xu),(c,d)=>{let m=c.range.start.line-d.range.start.line;return m===0?c.range.start.character-d.range.start.character:m}),o=0;const u=[];for(const c of l){let d=r.offsetAt(c.range.start);if(d<o)throw new Error("Overlapping edit");d>o&&u.push(a.substring(o,d)),c.newText.length&&u.push(c.newText),o=r.offsetAt(c.range.end)}return u.push(a.substr(o)),u.join("")}t.applyEdits=i})(Ai||(Ai={}));function Li(t,e){if(t.length<=1)return t;const n=t.length/2|0,i=t.slice(0,n),r=t.slice(n);Li(i,e),Li(r,e);let s=0,a=0,l=0;for(;s<i.length&&a<r.length;)e(i[s],r[a])<=0?t[l++]=i[s++]:t[l++]=r[a++];for(;s<i.length;)t[l++]=i[s++];for(;a<r.length;)t[l++]=r[a++];return t}function Ha(t,e,n=0){const i=e?[n]:[];for(let r=0;r<t.length;r++){let s=t.charCodeAt(r);(s===13||s===10)&&(s===13&&r+1<t.length&&t.charCodeAt(r+1)===10&&r++,i.push(n+r+1))}return i}function Ua(t){const e=t.start,n=t.end;return e.line>n.line||e.line===n.line&&e.character>n.character?{start:n,end:e}:t}function Xu(t){const e=Ua(t.range);return e!==t.range?{newText:t.newText,range:e}:t}var z;(function(t){t[t.StartCommentTag=0]="StartCommentTag",t[t.Comment=1]="Comment",t[t.EndCommentTag=2]="EndCommentTag",t[t.StartTagOpen=3]="StartTagOpen",t[t.StartTagClose=4]="StartTagClose",t[t.StartTagSelfClose=5]="StartTagSelfClose",t[t.StartTag=6]="StartTag",t[t.EndTagOpen=7]="EndTagOpen",t[t.EndTagClose=8]="EndTagClose",t[t.EndTag=9]="EndTag",t[t.Delimi
Line truncated
|
||||
`,"nexist;":"∄","nexists;":"∄","Nfr;":"𝔑","nfr;":"𝔫","ngE;":"≧̸","nge;":"≱","ngeq;":"≱","ngeqq;":"≧̸","ngeqslant;":"⩾̸","nges;":"⩾̸","nGg;":"⋙̸","ngsim;":"≵","nGt;":"≫⃒","ngt;":"≯","ngtr;":"≯","nGtv;":"≫̸","nhArr;":"⇎","nharr;":"↮","nhpar;":"⫲","ni;":"∋","nis;":"⋼","nisd;":"⋺","niv;":"∋","NJcy;":"Њ","njcy;":"њ","nlArr;":"⇍","nlarr;":"↚","nldr;":"‥","nlE;":"≦̸","nle;":"≰","nLeftarrow;":"⇍","nleftarrow;":"↚","nLeftrightarrow;":"⇎","nleftrightarrow;":"↮","nleq;":"≰","nleqq;":"≦̸","nleqslant;":"⩽̸","nles;":"⩽̸","nless;":"≮","nLl;":"⋘̸","nlsim;":"≴","nLt;":"≪⃒","nlt;":"≮","nltri;":"⋪","nltrie;":"⋬","nLtv;":"≪̸","nmid;":"∤","NoBreak;":"","NonBreakingSpace;":" ","Nopf;":"ℕ","nopf;":"𝕟","Not;":"⫬","not;":"¬",not:"¬","NotCongruent;":"≢","NotCupCap;":"≭","NotDoubleVerticalBar;":"∦","NotElement;":"∉","NotEqual;":"≠","NotEqualTilde;":"≂̸","NotExists;":"∄","NotGreater;":"≯","NotGreaterEqual;":"≱","NotGreaterFullEqual;":"≧̸","NotGreaterGreater;":"≫̸","NotGreaterLess;":"≹","NotGreaterSlantEqual;":"⩾̸","NotGreaterTilde;":"≵","NotHumpDownHump;":"≎̸","NotHumpEqual;":"≏̸","notin;":"∉","notindot;":"⋵̸","notinE;":"⋹̸","notinva;":"∉","notinvb;":"⋷","notinvc;":"⋶","NotLeftTriangle;":"⋪","NotLeftTriangleBar;":"⧏̸","NotLeftTriangleEqual;":"⋬","NotLess;":"≮","NotLessEqual;":"≰","NotLessGreater;":"≸","NotLessLess;":"≪̸","NotLessSlantEqual;":"⩽̸","NotLessTilde;":"≴","NotNestedGreaterGreater;":"⪢̸","NotNestedLessLess;":"⪡̸","notni;":"∌","notniva;":"∌","notnivb;":"⋾","notnivc;":"⋽","NotPrecedes;":"⊀","NotPrecedesEqual;":"⪯̸","NotPrecedesSlantEqual;":"⋠","NotReverseElement;":"∌","NotRightTriangle;":"⋫","NotRightTriangleBar;":"⧐̸","NotRightTriangleEqual;":"⋭","NotSquareSubset;":"⊏̸","NotSquareSubsetEqual;":"⋢","NotSquareSuperset;":"⊐̸","NotSquareSupersetEqual;":"⋣","NotSubset;":"⊂⃒","NotSubsetEqual;":"⊈","NotSucceeds;":"⊁","NotSucceedsEqual;":"⪰̸","NotSucceedsSlantEqual;":"⋡","NotSucceedsTilde;":"≿̸","NotSuperset;":"⊃⃒","NotSupersetEqual;":"⊉","NotTilde;":"≁","NotTildeEqual;":"≄","NotTildeFullEqual;":"≇","NotTildeTilde;":"≉","NotVerticalBar;":"∤","npar;":"∦","nparallel;":"∦","nparsl;":"⫽⃥","npart;":"∂̸","npolint;":"⨔","npr;":"⊀","nprcue;":"⋠","npre;":"⪯̸","nprec;":"⊀","npreceq;":"⪯̸","nrArr;":"⇏","nrarr;":"↛","nrarrc;":"⤳̸","nrarrw;":"↝̸","nRightarrow;":"⇏","nrightarrow;":"↛","nrtri;":"⋫","nrtrie;":"⋭","nsc;":"⊁","nsccue;":"⋡","nsce;":"⪰̸","Nscr;":"𝒩","nscr;":"𝓃","nshortmid;":"∤","nshortparallel;":"∦","nsim;":"≁","nsime;":"≄","nsimeq;":"≄","nsmid;":"∤","nspar;":"∦","nsqsube;":"⋢","nsqsupe;":"⋣","nsub;":"⊄","nsubE;":"⫅̸","nsube;":"⊈","nsubset;":"⊂⃒","nsubseteq;":"⊈","nsubseteqq;":"⫅̸","nsucc;":"⊁","nsucceq;":"⪰̸","nsup;":"⊅","nsupE;":"⫆̸","nsupe;":"⊉","nsupset;":"⊃⃒","nsupseteq;":"⊉","nsupseteqq;":"⫆̸","ntgl;":"≹","Ntilde;":"Ñ",Ntilde:"Ñ","ntilde;":"ñ",ntilde:"ñ","ntlg;":"≸","ntriangleleft;":"⋪","ntrianglelefteq;":"⋬","ntriangleright;":"⋫","ntrianglerighteq;":"⋭","Nu;":"Ν","nu;":"ν","num;":"#","numero;":"№","numsp;":" ","nvap;":"≍⃒","nVDash;":"⊯","nVdash;":"⊮","nvDash;":"⊭","nvdash;":"⊬","nvge;":"≥⃒","nvgt;":">⃒","nvHarr;":"⤄","nvinfin;":"⧞","nvlArr;":"⤂","nvle;":"≤⃒","nvlt;":"<⃒","nvltrie;":"⊴⃒","nvrArr;":"⤃","nvrtrie;":"⊵⃒","nvsim;":"∼⃒","nwarhk;":"⤣","nwArr;":"⇖","nwarr;":"↖","nwarrow;":"↖","nwnear;":"⤧","Oacute;":"Ó",Oacute:"Ó","oacute;":"ó",oacute:"ó","oast;":"⊛","ocir;":"⊚","Ocirc;":"Ô",Ocirc:"Ô","ocirc;":"ô",ocirc:"ô","Ocy;":"О","ocy;":"о","odash;":"⊝","Odblac;":"Ő","odblac;":"ő","odiv;":"⨸","odot;":"⊙","odsold;":"⦼","OElig;":"Œ","oelig;":"œ","ofcir;":"⦿","Ofr;":"𝔒","ofr;":"𝔬","ogon;":"˛","Ograve;":"Ò",Ograve:"Ò","ograve;":"ò",ograve:"ò","ogt;":"⧁","ohbar;":"⦵","ohm;":"Ω","oint;":"∮","olarr;":"↺","olcir;":"⦾","olcross;":"⦻","oline;":"‾","olt;":"⧀","Omacr;":"Ō","omacr;":"ō","Omega;":"Ω","omega;":"ω","Omicron;":"Ο","omicron;":"ο","omid;":"⦶","ominus;":"⊖","Oopf;":"𝕆","oopf;":"𝕠","opar;":"⦷","OpenCurlyDoubleQuote;":"“","OpenCurlyQuote;":"‘","operp;":"⦹","oplus;":"⊕","Or;":"⩔","or;":"∨","orarr;":"↻","ord;":"⩝","order;":"ℴ","orderof;":"ℴ","ordf;":"ª",ordf:"ª","ordm;":"º",ordm:"º","origof;":"⊶","oror;":"⩖","orslope;":"⩗","orv;":"⩛","oS;":"Ⓢ","Oscr;":"𝒪","oscr;":"ℴ","Oslash;":"Ø",Oslash:"Ø","oslash;":"ø",oslash:"ø","osol;":"⊘","Otilde;":"Õ",Otilde:"Õ","otilde;":"õ",otilde:"õ","Otimes;":"⨷","otimes;":"⊗","otimesas;":"⨶","Ouml;":"Ö",Ouml:"Ö","ouml;":"ö",ouml:"ö","ovbar;":"⌽","OverBar;":"‾","OverBrace;":"⏞","OverBracket;":"⎴","OverParenthesis;":"⏜","par;"
Line truncated
|
||||
|
||||
`),n?i.value+=t.references.map(r=>`[${r.name}](${r.url})`).join(" | "):i.value+=t.references.map(r=>`${r.name}: ${r.url}`).join(`
|
||||
`)),i.value!=="")return i}class pc{constructor(e,n){this.dataManager=e,this.readDirectory=n,this.atributeCompletions=[]}onHtmlAttributeValue(e){this.dataManager.isPathAttribute(e.tag,e.attribute)&&this.atributeCompletions.push(e)}async computeCompletions(e,n){const i={items:[],isIncomplete:!1};for(const r of this.atributeCompletions){const s=bc(e.getText(r.range));if(wc(s))if(s==="."||s==="..")i.isIncomplete=!0;else{const a=_c(r.value,s,r.range),l=await this.providePathSuggestions(r.value,a,e,n);for(const o of l)i.items.push(o)}}return i}async providePathSuggestions(e,n,i,r){const s=e.substring(0,e.lastIndexOf("/")+1);let a=r.resolveReference(s||".",i.uri);if(a)try{const l=[],o=await this.readDirectory(a);for(const[u,c]of o)u.charCodeAt(0)!==gc&&l.push(vc(u,c===Ci.Directory,n));return l}catch{}return[]}}const gc=46;function bc(t){return Ge(t,"'")||Ge(t,'"')?t.slice(1,-1):t}function wc(t){return!(Ge(t,"http")||Ge(t,"https")||Ge(t,"//"))}function _c(t,e,n){let i;const r=t.lastIndexOf("/");if(r===-1)i=yc(n,1,-1);else{const s=e.slice(r+1),a=Wt(n.end,-1-s.length),l=s.indexOf(" ");let o;l!==-1?o=Wt(a,l):o=Wt(n.end,-1),i=J.create(a,o)}return i}function vc(t,e,n){return e?(t=t+"/",{label:t,kind:fe.Folder,textEdit:oe.replace(n,t),command:{title:"Suggest",command:"editor.action.triggerSuggest"}}):{label:t,kind:fe.File,textEdit:oe.replace(n,t)}}function Wt(t,e){return se.create(t.line,t.character+e)}function yc(t,e,n){const i=Wt(t.start,e),r=Wt(t.end,n);return J.create(i,r)}class Tc{constructor(e,n){this.lsOptions=e,this.dataManager=n,this.completionParticipants=[]}setCompletionParticipants(e){this.completionParticipants=e||[]}async doComplete2(e,n,i,r,s){if(!this.lsOptions.fileSystemProvider||!this.lsOptions.fileSystemProvider.readDirectory)return this.doComplete(e,n,i,s);const a=new pc(this.dataManager,this.lsOptions.fileSystemProvider.readDirectory),l=this.completionParticipants;this.completionParticipants=[a].concat(l);const o=this.doComplete(e,n,i,s);try{const u=await a.computeCompletions(e,r);return{isIncomplete:o.isIncomplete||u.isIncomplete,items:u.items.concat(o.items)}}finally{this.completionParticipants=l}}doComplete(e,n,i,r){const s=this._doComplete(e,n,i,r);return this.convertCompletionList(s)}_doComplete(e,n,i,r){const s={isIncomplete:!1,items:[]},a=this.completionParticipants,l=this.dataManager.getDataProviders().filter(k=>k.isApplicable(e.languageId)&&(!r||r[k.getId()]!==!1)),o=this.dataManager.getVoidElements(l),u=this.doesSupportMarkdown(),c=e.getText(),d=e.offsetAt(n),m=i.findNodeBefore(d);if(!m)return s;const f=be(c,m.start);let w="",p;function x(k,R=d){return k>d&&(k=d),{start:e.positionAt(k),end:e.positionAt(R)}}function T(k,R){const M=x(k,R);return l.forEach(W=>{W.provideTags().forEach(F=>{s.items.push({label:F.name,kind:fe.Property,documentation:Ze(F,void 0,u),textEdit:oe.replace(M,F.name),insertTextFormat:Ae.PlainText})})}),s}function y(k){let R=k;for(;R>0;){const M=c.charAt(R-1);if(`
|
||||
\r`.indexOf(M)>=0)return c.substring(R,k);if(!wn(M))return null;R--}return c.substring(0,k)}function A(k,R,M=d){const W=x(k,M),F=Va(c,M,V.WithinEndTag,z.EndTagClose)?"":">";let U=m;for(R&&(U=U.parent);U;){const O=U.tag;if(O&&(!U.closed||U.endTagStart&&U.endTagStart>d)){const Y={label:"/"+O,kind:fe.Property,filterText:"/"+O,textEdit:oe.replace(W,"/"+O+F),insertTextFormat:Ae.PlainText},Z=y(U.start),xe=y(k-1);if(Z!==null&&xe!==null&&Z!==xe){const Ce=Z+"</"+O+F;Y.textEdit=oe.replace(x(k-1-xe.length),Ce),Y.filterText=xe+"</"+O}return s.items.push(Y),s}U=U.parent}return R||l.forEach(O=>{O.provideTags().forEach(Y=>{s.items.push({label:"/"+Y.name,kind:fe.Property,documentation:Ze(Y,void 0,u),filterText:"/"+Y.name+F,textEdit:oe.replace(W,"/"+Y.name+F),insertTextFormat:Ae.PlainText})})}),s}const I=(k,R)=>{if(r&&r.hideAutoCompleteProposals)return s;if(!this.dataManager.isVoidElement(R,o)){const M=e.positionAt(k);s.items.push({label:"</"+R+">",kind:fe.Property,filterText:"</"+R+">",textEdit:oe.insert(M,"$0</"+R+">"),insertTextFormat:Ae.Snippet})}return s};function H(k,R){return T(k,R),A(k,!0,R),s}function P(){const k=Object.create(null);return m.attributeNames.forEach(R=>{k[R]=!0}),k}function b(k,R=d){let M=d;for(;M<R&&c[M]!=="<";)M++;const W=c.substring(k,R),F=x(k,M);let U="";if(!Va(c,R,V.AfterAttributeName,z.DelimiterAssign)){const Y=r?.attributeDefaultValue??"doublequotes";Y==="empty"?U="=$1":Y==="singlequotes"?U="='$1'":U='="$1"'}const O=P();return O[W]=!1,l.forEach(Y=>{Y.provideAttributes(w).forEach(Z=>{if(O[Z.name])return;O[Z.name]=!0;let xe=Z.name,Ce;Z.valueSet!=="v"&&U.length&&(xe=xe+U,(Z.valueSet||Z.name==="style")&&(Ce={title:"Suggest",command:"editor.action.triggerSuggest"})),s.items.push({label:Z.name,kind:Z.valueSet==="handler"?fe.Function:fe.Value,documentation:Ze(Z,void 0,u),textEdit:oe.replace(F,xe),insertTextFormat:Ae.Snippet,command:Ce})})}),g(F,O),s}function g(k,R){const M="data-",W={};W[M]=`${M}$1="$2"`;function F(U){U.attributeNames.forEach(O=>{Ge(O,M)&&!W[O]&&!R[O]&&(W[O]=O+'="$1"')}),U.children.forEach(O=>F(O))}i&&i.roots.forEach(U=>F(U)),Object.keys(W).forEach(U=>s.items.push({label:U,kind:fe.Value,textEdit:oe.replace(k,W[U]),insertTextFormat:Ae.Snippet}))}function v(k,R=d){let M,W,F;if(d>k&&d<=R&&xc(c[k])){const U=k+1;let O=R;R>k&&c[R-1]===c[k]&&O--;const Y=kc(c,d,U),Z=Sc(c,d,O);M=x(Y,Z),F=d>=U&&d<=O?c.substring(U,d):"",W=!1}else M=x(k,R),F=c.substring(k,d),W=!0;if(a.length>0){const U=w.toLowerCase(),O=p.toLowerCase(),Y=x(k,R);for(const Z of a)Z.onHtmlAttributeValue&&Z.onHtmlAttributeValue({document:e,position:n,tag:U,attribute:O,value:F,range:Y})}return l.forEach(U=>{U.provideValues(w,p).forEach(O=>{const Y=W?'"'+O.name+'"':O.name;s.items.push({label:O.name,filterText:Y,kind:fe.Unit,documentation:Ze(O,void 0,u),textEdit:oe.replace(M,Y),insertTextFormat:Ae.PlainText})})}),_(),s}function N(k){return d===f.getTokenEnd()&&(D=f.scan(),D===k&&f.getTokenOffset()===d)?f.getTokenEnd():d}function S(){for(const k of a)k.onHtmlContent&&k.onHtmlContent({document:e,position:n});return _()}function _(){let k=d-1,R=n.character;for(;k>=0&&Pt(c,k);)k--,R--;if(k>=0&&c[k]==="&"){const M=J.create(se.create(n.line,R-1),n);for(const W in Ut)if(oc(W,";")){const F="&"+W;s.items.push({label:F,kind:fe.Keyword,documentation:Se("Character entity representing '{0}'",Ut[W]),textEdit:oe.replace(M,F),insertTextFormat:Ae.PlainText})}}return s}function L(k,R){const M=x(k,R);s.items.push({label:"!DOCTYPE",kind:fe.Property,documentation:"A preamble for an HTML document.",textEdit:oe.replace(M,"!DOCTYPE html>"),insertTextFormat:Ae.PlainText})}let D=f.scan();for(;D!==z.EOS&&f.getTokenOffset()<=d;){switch(D){case z.StartTagOpen:if(f.getTokenEnd()===d){const k=N(z.StartTag);return n.line===0&&L(d,k),H(d,k)}break;case z.StartTag:if(f.getTokenOffset()<=d&&d<=f.getTokenEnd())return T(f.getTokenOffset(),f.getTokenEnd());w=f.getTokenText();break;case z.AttributeName:if(f.getTokenOffset()<=d&&d<=f.getTokenEnd())return b(f.getTokenOffset(),f.getTokenEnd());p=f.getTokenText();break;case z.DelimiterAssign:if(f.getTokenEnd()===d){const k=N(z.AttributeValue);return v(d,k)}break;case z.AttributeValue:if(f.getTokenOffset()<=d&&d<=f.getTokenEnd())return v(f.getTokenOffset(),f.getTokenEnd());break;case z.Whitespace:if(d<=f.getTokenEnd())switch(f.getScannerState()){case V.AfterOpeningStartTag:const k=f.getTokenOffset(),R=N(z.StartTag);return H(k,R);case V.WithinTag:case V.AfterAttributeName:return b(f.getTokenEnd());case V.BeforeAttributeValue:return v(f.getTokenEnd());case V.AfterOpeningEndTag:return A(f.getTokenOffset()-1,!1);case V.WithinContent:return S()}break;case z.EndTagOpen:if(d<=f.getTokenEnd()){const k=f.getTokenOffset()+1,R=N(z.EndTag);return A(k,!1,R)}break;case z.EndTag:if(d<=f.getTokenEnd()){let k=f.getTokenOffset()-1;for(;k>=0;){const R=c.charAt(k);if(R==="/")return A(k,!1,f.getTokenEnd());if(!wn(R))break;k--}}break;case z.StartTagClose:if(d<=f.getTokenEnd()&&w)return I(f.getTokenEnd(),w);break;case z.Content:if(d<=f.getTokenEnd())r
Line truncated
|
||||
`);u!==-1?this.__character_count=o.length-u:this.__character_count+=o.length},s.prototype.pop=function(){var o=null;return this.is_empty()||(o=this.__items.pop(),this.__character_count-=o.length),o},s.prototype._remove_indent=function(){this.__indent_count>0&&(this.__indent_count-=1,this.__character_count-=this.__parent.indent_size)},s.prototype._remove_wrap_indent=function(){this.__wrap_point_indent_count>0&&(this.__wrap_point_indent_count-=1)},s.prototype.trim=function(){for(;this.last()===" ";)this.__items.pop(),this.__character_count-=1},s.prototype.toString=function(){var o="";return this.is_empty()?this.__parent.indent_empty_lines&&(o=this.__parent.get_indent_string(this.__indent_count)):(o=this.__parent.get_indent_string(this.__indent_count,this.__alignment_count),o+=this.__items.join("")),o};function a(o,u){this.__cache=[""],this.__indent_size=o.indent_size,this.__indent_string=o.indent_char,o.indent_with_tabs||(this.__indent_string=new Array(o.indent_size+1).join(o.indent_char)),u=u||"",o.indent_level>0&&(u=new Array(o.indent_level+1).join(this.__indent_string)),this.__base_string=u,this.__base_string_length=u.length}a.prototype.get_indent_size=function(o,u){var c=this.__base_string_length;return u=u||0,o<0&&(c=0),c+=o*this.__indent_size,c+=u,c},a.prototype.get_indent_string=function(o,u){var c=this.__base_string;return u=u||0,o<0&&(o=0,c=""),u+=o*this.__indent_size,this.__ensure_cache(u),c+=this.__cache[u],c},a.prototype.__ensure_cache=function(o){for(;o>=this.__cache.length;)this.__add_column()},a.prototype.__add_column=function(){var o=this.__cache.length,u=0,c="";this.__indent_size&&o>=this.__indent_size&&(u=Math.floor(o/this.__indent_size),o-=u*this.__indent_size,c=new Array(u+1).join(this.__indent_string)),o&&(c+=new Array(o+1).join(" ")),this.__cache.push(c)};function l(o,u){this.__indent_cache=new a(o,u),this.raw=!1,this._end_with_newline=o.end_with_newline,this.indent_size=o.indent_size,this.wrap_line_length=o.wrap_line_length,this.indent_empty_lines=o.indent_empty_lines,this.__lines=[],this.previous_line=null,this.current_line=null,this.next_line=new s(this),this.space_before_token=!1,this.non_breaking_space=!1,this.previous_token_wrapped=!1,this.__add_outputline()}l.prototype.__add_outputline=function(){this.previous_line=this.current_line,this.current_line=this.next_line.clone_empty(),this.__lines.push(this.current_line)},l.prototype.get_line_number=function(){return this.__lines.length},l.prototype.get_indent_string=function(o,u){return this.__indent_cache.get_indent_string(o,u)},l.prototype.get_indent_size=function(o,u){return this.__indent_cache.get_indent_size(o,u)},l.prototype.is_empty=function(){return!this.previous_line&&this.current_line.is_empty()},l.prototype.add_new_line=function(o){return this.is_empty()||!o&&this.just_added_newline()?!1:(this.raw||this.__add_outputline(),!0)},l.prototype.get_code=function(o){this.trim(!0);var u=this.current_line.pop();u&&(u[u.length-1]===`
|
||||
`&&(u=u.replace(/\n+$/g,"")),this.current_line.push(u)),this._end_with_newline&&this.__add_outputline();var c=this.__lines.join(`
|
||||
`);return o!==`
|
||||
`&&(c=c.replace(/[\n]/g,o)),c},l.prototype.set_wrap_point=function(){this.current_line._set_wrap_point()},l.prototype.set_indent=function(o,u){return o=o||0,u=u||0,this.next_line.set_indent(o,u),this.__lines.length>1?(this.current_line.set_indent(o,u),!0):(this.current_line.set_indent(),!1)},l.prototype.add_raw_token=function(o){for(var u=0;u<o.newlines;u++)this.__add_outputline();this.current_line.set_indent(-1),this.current_line.push(o.whitespace_before),this.current_line.push(o.text),this.space_before_token=!1,this.non_breaking_space=!1,this.previous_token_wrapped=!1},l.prototype.add_token=function(o){this.__add_space_before_token(),this.current_line.push(o),this.space_before_token=!1,this.non_breaking_space=!1,this.previous_token_wrapped=this.current_line._allow_wrap()},l.prototype.__add_space_before_token=function(){this.space_before_token&&!this.just_added_newline()&&(this.non_breaking_space||this.set_wrap_point(),this.current_line.push(" "))},l.prototype.remove_indent=function(o){for(var u=this.__lines.length;o<u;)this.__lines[o]._remove_indent(),o++;this.current_line._remove_wrap_indent()},l.prototype.trim=function(o){for(o=o===void 0?!1:o,this.current_line.trim();o&&this.__lines.length>1&&this.current_line.is_empty();)this.__lines.pop(),this.current_line=this.__lines[this.__lines.length-1],this.current_line.trim();this.previous_line=this.__lines.length>1?this.__lines[this.__lines.length-2]:null},l.prototype.just_added_newline=function(){return this.current_line.is_empty()},l.prototype.just_added_blankline=function(){return this.is_empty()||this.current_line.is_empty()&&this.previous_line.is_empty()},l.prototype.ensure_empty_line_above=function(o,u){for(var c=this.__lines.length-2;c>=0;){var d=this.__lines[c];if(d.is_empty())break;if(d.item(0).indexOf(o)!==0&&d.item(-1)!==u){this.__lines.splice(c+1,0,new s(this)),this.previous_line=this.__lines[this.__lines.length-2];break}c--}},r.exports.Output=l}),,,,(function(r){function s(o,u){this.raw_options=a(o,u),this.disabled=this._get_boolean("disabled"),this.eol=this._get_characters("eol","auto"),this.end_with_newline=this._get_boolean("end_with_newline"),this.indent_size=this._get_number("indent_size",4),this.indent_char=this._get_characters("indent_char"," "),this.indent_level=this._get_number("indent_level"),this.preserve_newlines=this._get_boolean("preserve_newlines",!0),this.max_preserve_newlines=this._get_number("max_preserve_newlines",32786),this.preserve_newlines||(this.max_preserve_newlines=0),this.indent_with_tabs=this._get_boolean("indent_with_tabs",this.indent_char===" "),this.indent_with_tabs&&(this.indent_char=" ",this.indent_size===1&&(this.indent_size=4)),this.wrap_line_length=this._get_number("wrap_line_length",this._get_number("max_char")),this.indent_empty_lines=this._get_boolean("indent_empty_lines"),this.templating=this._get_selection_list("templating",["auto","none","angular","django","erb","handlebars","php","smarty"],["auto"])}s.prototype._get_array=function(o,u){var c=this.raw_options[o],d=u||[];return typeof c=="object"?c!==null&&typeof c.concat=="function"&&(d=c.concat()):typeof c=="string"&&(d=c.split(/[^a-zA-Z0-9_\/\-]+/)),d},s.prototype._get_boolean=function(o,u){var c=this.raw_options[o],d=c===void 0?!!u:!!c;return d},s.prototype._get_characters=function(o,u){var c=this.raw_options[o],d=u||"";return typeof c=="string"&&(d=c.replace(/\\r/,"\r").replace(/\\n/,`
|
||||
`).replace(/\\t/," ")),d},s.prototype._get_number=function(o,u){var c=this.raw_options[o];u=parseInt(u,10),isNaN(u)&&(u=0);var d=parseInt(c,10);return isNaN(d)&&(d=u),d},s.prototype._get_selection=function(o,u,c){var d=this._get_selection_list(o,u,c);if(d.length!==1)throw new Error("Invalid Option Value: The option '"+o+`' can only be one of the following values:
|
||||
`+u+`
|
||||
You passed in: '`+this.raw_options[o]+"'");return d[0]},s.prototype._get_selection_list=function(o,u,c){if(!u||u.length===0)throw new Error("Selection list cannot be empty.");if(c=c||[u[0]],!this._is_valid_selection(c,u))throw new Error("Invalid Default Value!");var d=this._get_array(o,c);if(!this._is_valid_selection(d,u))throw new Error("Invalid Option Value: The option '"+o+`' can contain only the following values:
|
||||
`+u+`
|
||||
You passed in: '`+this.raw_options[o]+"'");return d},s.prototype._is_valid_selection=function(o,u){return o.length&&u.length&&!o.some(function(c){return u.indexOf(c)===-1})};function a(o,u){var c={};o=l(o);var d;for(d in o)d!==u&&(c[d]=o[d]);if(u&&o[u])for(d in o[u])c[d]=o[u][d];return c}function l(o){var u={},c;for(c in o){var d=c.replace(/-/g,"_");u[d]=o[c]}return u}r.exports.Options=s,r.exports.normalizeOpts=l,r.exports.mergeOpts=a}),,(function(r){var s=RegExp.prototype.hasOwnProperty("sticky");function a(l){this.__input=l||"",this.__input_length=this.__input.length,this.__position=0}a.prototype.restart=function(){this.__position=0},a.prototype.back=function(){this.__position>0&&(this.__position-=1)},a.prototype.hasNext=function(){return this.__position<this.__input_length},a.prototype.next=function(){var l=null;return this.hasNext()&&(l=this.__input.charAt(this.__position),this.__position+=1),l},a.prototype.peek=function(l){var o=null;return l=l||0,l+=this.__position,l>=0&&l<this.__input_length&&(o=this.__input.charAt(l)),o},a.prototype.__match=function(l,o){l.lastIndex=o;var u=l.exec(this.__input);return u&&!(s&&l.sticky)&&u.index!==o&&(u=null),u},a.prototype.test=function(l,o){return o=o||0,o+=this.__position,o>=0&&o<this.__input_length?!!this.__match(l,o):!1},a.prototype.testChar=function(l,o){var u=this.peek(o);return l.lastIndex=0,u!==null&&l.test(u)},a.prototype.match=function(l){var o=this.__match(l,this.__position);return o?this.__position+=o[0].length:o=null,o},a.prototype.read=function(l,o,u){var c="",d;return l&&(d=this.match(l),d&&(c+=d[0])),o&&(d||!l)&&(c+=this.readUntil(o,u)),c},a.prototype.readUntil=function(l,o){var u="",c=this.__position;l.lastIndex=this.__position;var d=l.exec(this.__input);return d?(c=d.index,o&&(c+=d[0].length)):c=this.__input_length,u=this.__input.substring(this.__position,c),this.__position=c,u},a.prototype.readUntilAfter=function(l){return this.readUntil(l,!0)},a.prototype.get_regexp=function(l,o){var u=null,c="g";return o&&s&&(c="y"),typeof l=="string"&&l!==""?u=new RegExp(l,c):l&&(u=new RegExp(l.source,c)),u},a.prototype.get_literal_regexp=function(l){return RegExp(l.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&"))},a.prototype.peekUntilAfter=function(l){var o=this.__position,u=this.readUntilAfter(l);return this.__position=o,u},a.prototype.lookBack=function(l){var o=this.__position-1;return o>=l.length&&this.__input.substring(o-l.length,o).toLowerCase()===l},r.exports.InputScanner=a}),,,,,(function(r){function s(a,l){a=typeof a=="string"?a:a.source,l=typeof l=="string"?l:l.source,this.__directives_block_pattern=new RegExp(a+/ beautify( \w+[:]\w+)+ /.source+l,"g"),this.__directive_pattern=/ (\w+)[:](\w+)/g,this.__directives_end_ignore_pattern=new RegExp(a+/\sbeautify\signore:end\s/.source+l,"g")}s.prototype.get_directives=function(a){if(!a.match(this.__directives_block_pattern))return null;var l={};this.__directive_pattern.lastIndex=0;for(var o=this.__directive_pattern.exec(a);o;)l[o[1]]=o[2],o=this.__directive_pattern.exec(a);return l},s.prototype.readIgnored=function(a){return a.readUntilAfter(this.__directives_end_ignore_pattern)},r.exports.Directives=s}),,(function(r,s,a){var l=a(16).Beautifier,o=a(17).Options;function u(c,d){var m=new l(c,d);return m.beautify()}r.exports=u,r.exports.defaultOptions=function(){return new o}}),(function(r,s,a){var l=a(17).Options,o=a(2).Output,u=a(8).InputScanner,c=a(13).Directives,d=new c(/\/\*/,/\*\//),m=/\r\n|[\r\n]/,f=/\r\n|[\r\n]/g,w=/\s/,p=/(?:\s|\n)+/g,x=/\/\*(?:[\s\S]*?)((?:\*\/)|$)/g,T=/\/\/(?:[^\n\r\u2028\u2029]*)/g;function y(A,I){this._source_text=A||"",this._options=new l(I),this._ch=null,this._input=null,this.NESTED_AT_RULE={page:!0,"font-face":!0,keyframes:!0,media:!0,supports:!0,document:!0},this.CONDITIONAL_GROUP_RULE={media:!0,supports:!0,document:!0},this.NON_SEMICOLON_NEWLINE_PROPERTY=["grid-template-areas","grid-template"]}y.prototype.eatString=function(A){var I="";for(this._ch=this._input.next();this._ch;){if(I+=this._ch,this._ch==="\\")I+=this._input.next();else if(A.indexOf(this._ch)!==-1||this._ch===`
|
||||
`)break;this._ch=this._input.next()}return I},y.prototype.eatWhitespace=function(A){for(var I=w.test(this._input.peek()),H=0;w.test(this._input.peek());)this._ch=this._input.next(),A&&this._ch===`
|
||||
`&&(H===0||H<this._options.max_preserve_newlines)&&(H++,this._output.add_new_line(!0));return I},y.prototype.foundNestedPseudoClass=function(){for(var A=0,I=1,H=this._input.peek(I);H;){if(H==="{")return!0;if(H==="(")A+=1;else if(H===")"){if(A===0)return!1;A-=1}else if(H===";"||H==="}")return!1;I++,H=this._input.peek(I)}return!1},y.prototype.print_string=function(A){this._output.set_indent(this._indentLevel),this._output.non_breaking_space=!0,this._output.add_token(A)},y.prototype.preserveSingleSpace=function(A){A&&(this._output.space_before_token=!0)},y.prototype.indent=function(){this._indentLevel++},y.prototype.outdent=function(){this._indentLevel>0&&this._indentLevel--},y.prototype.beautify=function(){if(this._options.disabled)return this._source_text;var A=this._source_text,I=this._options.eol;I==="auto"&&(I=`
|
||||
`,A&&m.test(A||"")&&(I=A.match(m)[0])),A=A.replace(f,`
|
||||
`);var H=A.match(/^[\t ]*/)[0];this._output=new o(this._options,H),this._input=new u(A),this._indentLevel=0,this._nestedLevel=0,this._ch=null;for(var P=0,b=!1,g=!1,v=!1,N=!1,S=!1,_=this._ch,L=!1,D,k,R;D=this._input.read(p),k=D!=="",R=_,this._ch=this._input.next(),this._ch==="\\"&&this._input.hasNext()&&(this._ch+=this._input.next()),_=this._ch,this._ch;)if(this._ch==="/"&&this._input.peek()==="*"){this._output.add_new_line(),this._input.back();var M=this._input.read(x),W=d.get_directives(M);W&&W.ignore==="start"&&(M+=d.readIgnored(this._input)),this.print_string(M),this.eatWhitespace(!0),this._output.add_new_line()}else if(this._ch==="/"&&this._input.peek()==="/")this._output.space_before_token=!0,this._input.back(),this.print_string(this._input.read(T)),this.eatWhitespace(!0);else if(this._ch==="$"){this.preserveSingleSpace(k),this.print_string(this._ch);var F=this._input.peekUntilAfter(/[: ,;{}()[\]\/='"]/g);F.match(/[ :]$/)&&(F=this.eatString(": ").replace(/\s+$/,""),this.print_string(F),this._output.space_before_token=!0),P===0&&F.indexOf(":")!==-1&&(g=!0,this.indent())}else if(this._ch==="@")if(this.preserveSingleSpace(k),this._input.peek()==="{")this.print_string(this._ch+this.eatString("}"));else{this.print_string(this._ch);var U=this._input.peekUntilAfter(/[: ,;{}()[\]\/='"]/g);U.match(/[ :]$/)&&(U=this.eatString(": ").replace(/\s+$/,""),this.print_string(U),this._output.space_before_token=!0),P===0&&U.indexOf(":")!==-1?(g=!0,this.indent()):U in this.NESTED_AT_RULE?(this._nestedLevel+=1,U in this.CONDITIONAL_GROUP_RULE&&(v=!0)):P===0&&!g&&(N=!0)}else if(this._ch==="#"&&this._input.peek()==="{")this.preserveSingleSpace(k),this.print_string(this._ch+this.eatString("}"));else if(this._ch==="{")g&&(g=!1,this.outdent()),N=!1,v?(v=!1,b=this._indentLevel>=this._nestedLevel):b=this._indentLevel>=this._nestedLevel-1,this._options.newline_between_rules&&b&&this._output.previous_line&&this._output.previous_line.item(-1)!=="{"&&this._output.ensure_empty_line_above("/",","),this._output.space_before_token=!0,this._options.brace_style==="expand"?(this._output.add_new_line(),this.print_string(this._ch),this.indent(),this._output.set_indent(this._indentLevel)):(R==="("?this._output.space_before_token=!1:R!==","&&this.indent(),this.print_string(this._ch)),this.eatWhitespace(!0),this._output.add_new_line();else if(this._ch==="}")this.outdent(),this._output.add_new_line(),R==="{"&&this._output.trim(!0),g&&(this.outdent(),g=!1),this.print_string(this._ch),b=!1,this._nestedLevel&&this._nestedLevel--,this.eatWhitespace(!0),this._output.add_new_line(),this._options.newline_between_rules&&!this._output.just_added_blankline()&&this._input.peek()!=="}"&&this._output.add_new_line(!0),this._input.peek()===")"&&(this._output.trim(!0),this._options.brace_style==="expand"&&this._output.add_new_line(!0));else if(this._ch===":"){for(var O=0;O<this.NON_SEMICOLON_NEWLINE_PROPERTY.length;O++)if(this._input.lookBack(this.NON_SEMICOLON_NEWLINE_PROPERTY[O])){L=!0;break}(b||v)&&!(this._input.lookBack("&")||this.foundNestedPseudoClass())&&!this._input.lookBack("(")&&!N&&P===0?(this.print_string(":"),g||(g=!0,this._output.space_before_token=!0,this.eatWhitespace(!0),this.indent())):(this._input.lookBack(" ")&&(this._output.space_before_token=!0),this._input.peek()===":"?(this._ch=this._input.next(),this.print_string("::")):this.print_string(":"))}else if(this._ch==='"'||this._ch==="'"){var Y=R==='"'||R==="'";this.preserveSingleSpace(Y||k),this.print_string(this._ch+this.eatString(this._ch)),this.eatWhitespace(!0)}else if(this._ch===";")L=!1,P===0?(g&&(this.outdent(),g=!1),N=!1,this.print_string(this._ch),this.eatWhitespace(!0),this._input.peek()!=="/"&&this._output.add_new_line()):(this.print_string(this._ch),this.eatWhitespace(!0),this._output.space_before_token=!0);else if(this._ch==="(")if(this._input.lookBack("url"))this.print_string(this._ch),this.eatWhitespace(),P++,this.indent(),this._ch=this._input.next(),this._ch===")"||this._ch==='"'||this._ch==="'"?this._input.back():this._ch&&(this.print_string(this._ch+this.eatString(")")),P&&(P--,this.outdent()));else{var Z=!1;this._input.lookBack("with")&&(Z=!0),this.preserveSingleSpace(k||Z),this.print_string(this._ch),g&&R==="$"&&this._options.selector_separator_newline?(this._output.add_new_line(),S=!0):(this.eatWhitespace(),P++,this.indent())}else if(this._ch===")")P&&(P--,this.outdent()),S&&this._input.peek()===";"&&this._options.selector_separator_newline&&(S=!1,this.outdent(),this._output.add_new_line()),this.print_string(this._ch);else if(this._ch===",")this.print_string(this._ch),this.eatWhitespace(!0),this._options.selector_separator_newline&&(!g||S)&&P===0&&!N?this._output.add_new_line():this._output.space_before_token=!0;else if((this._ch===">"||this._ch==="+"||this._ch==="~")&&!g&&P===0)this._options.space_around_combinator?(this._output.space_before_token=!0,this.print_string(this._ch),this._output.space_before_token=!0):(this.print_string(this._ch),this.eatWhitespace(),this._c
Line truncated
|
||||
`&&L&&this._output.add_new_line()}var Ce=this._output.get_code(I);return Ce},r.exports.Beautifier=y}),(function(r,s,a){var l=a(6).Options;function o(u){l.call(this,u,"css"),this.selector_separator_newline=this._get_boolean("selector_separator_newline",!0),this.newline_between_rules=this._get_boolean("newline_between_rules",!0);var c=this._get_boolean("space_around_selector_separator");this.space_around_combinator=this._get_boolean("space_around_combinator")||c;var d=this._get_selection_list("brace_style",["collapse","expand","end-expand","none","preserve-inline"]);this.brace_style="collapse";for(var m=0;m<d.length;m++)d[m]!=="expand"?this.brace_style="collapse":this.brace_style=d[m]}o.prototype=new l,r.exports.Options=o})],e={};function n(r){var s=e[r];if(s!==void 0)return s.exports;var a=e[r]={exports:{}};return t[r](a,a.exports,n),a.exports}var i=n(15);ja=i})();var Ec=ja,$a;(function(){var t=[,,(function(r){function s(o){this.__parent=o,this.__character_count=0,this.__indent_count=-1,this.__alignment_count=0,this.__wrap_point_index=0,this.__wrap_point_character_count=0,this.__wrap_point_indent_count=-1,this.__wrap_point_alignment_count=0,this.__items=[]}s.prototype.clone_empty=function(){var o=new s(this.__parent);return o.set_indent(this.__indent_count,this.__alignment_count),o},s.prototype.item=function(o){return o<0?this.__items[this.__items.length+o]:this.__items[o]},s.prototype.has_match=function(o){for(var u=this.__items.length-1;u>=0;u--)if(this.__items[u].match(o))return!0;return!1},s.prototype.set_indent=function(o,u){this.is_empty()&&(this.__indent_count=o||0,this.__alignment_count=u||0,this.__character_count=this.__parent.get_indent_size(this.__indent_count,this.__alignment_count))},s.prototype._set_wrap_point=function(){this.__parent.wrap_line_length&&(this.__wrap_point_index=this.__items.length,this.__wrap_point_character_count=this.__character_count,this.__wrap_point_indent_count=this.__parent.next_line.__indent_count,this.__wrap_point_alignment_count=this.__parent.next_line.__alignment_count)},s.prototype._should_wrap=function(){return this.__wrap_point_index&&this.__character_count>this.__parent.wrap_line_length&&this.__wrap_point_character_count>this.__parent.next_line.__character_count},s.prototype._allow_wrap=function(){if(this._should_wrap()){this.__parent.add_new_line();var o=this.__parent.current_line;return o.set_indent(this.__wrap_point_indent_count,this.__wrap_point_alignment_count),o.__items=this.__items.slice(this.__wrap_point_index),this.__items=this.__items.slice(0,this.__wrap_point_index),o.__character_count+=this.__character_count-this.__wrap_point_character_count,this.__character_count=this.__wrap_point_character_count,o.__items[0]===" "&&(o.__items.splice(0,1),o.__character_count-=1),!0}return!1},s.prototype.is_empty=function(){return this.__items.length===0},s.prototype.last=function(){return this.is_empty()?null:this.__items[this.__items.length-1]},s.prototype.push=function(o){this.__items.push(o);var u=o.lastIndexOf(`
|
||||
`);u!==-1?this.__character_count=o.length-u:this.__character_count+=o.length},s.prototype.pop=function(){var o=null;return this.is_empty()||(o=this.__items.pop(),this.__character_count-=o.length),o},s.prototype._remove_indent=function(){this.__indent_count>0&&(this.__indent_count-=1,this.__character_count-=this.__parent.indent_size)},s.prototype._remove_wrap_indent=function(){this.__wrap_point_indent_count>0&&(this.__wrap_point_indent_count-=1)},s.prototype.trim=function(){for(;this.last()===" ";)this.__items.pop(),this.__character_count-=1},s.prototype.toString=function(){var o="";return this.is_empty()?this.__parent.indent_empty_lines&&(o=this.__parent.get_indent_string(this.__indent_count)):(o=this.__parent.get_indent_string(this.__indent_count,this.__alignment_count),o+=this.__items.join("")),o};function a(o,u){this.__cache=[""],this.__indent_size=o.indent_size,this.__indent_string=o.indent_char,o.indent_with_tabs||(this.__indent_string=new Array(o.indent_size+1).join(o.indent_char)),u=u||"",o.indent_level>0&&(u=new Array(o.indent_level+1).join(this.__indent_string)),this.__base_string=u,this.__base_string_length=u.length}a.prototype.get_indent_size=function(o,u){var c=this.__base_string_length;return u=u||0,o<0&&(c=0),c+=o*this.__indent_size,c+=u,c},a.prototype.get_indent_string=function(o,u){var c=this.__base_string;return u=u||0,o<0&&(o=0,c=""),u+=o*this.__indent_size,this.__ensure_cache(u),c+=this.__cache[u],c},a.prototype.__ensure_cache=function(o){for(;o>=this.__cache.length;)this.__add_column()},a.prototype.__add_column=function(){var o=this.__cache.length,u=0,c="";this.__indent_size&&o>=this.__indent_size&&(u=Math.floor(o/this.__indent_size),o-=u*this.__indent_size,c=new Array(u+1).join(this.__indent_string)),o&&(c+=new Array(o+1).join(" ")),this.__cache.push(c)};function l(o,u){this.__indent_cache=new a(o,u),this.raw=!1,this._end_with_newline=o.end_with_newline,this.indent_size=o.indent_size,this.wrap_line_length=o.wrap_line_length,this.indent_empty_lines=o.indent_empty_lines,this.__lines=[],this.previous_line=null,this.current_line=null,this.next_line=new s(this),this.space_before_token=!1,this.non_breaking_space=!1,this.previous_token_wrapped=!1,this.__add_outputline()}l.prototype.__add_outputline=function(){this.previous_line=this.current_line,this.current_line=this.next_line.clone_empty(),this.__lines.push(this.current_line)},l.prototype.get_line_number=function(){return this.__lines.length},l.prototype.get_indent_string=function(o,u){return this.__indent_cache.get_indent_string(o,u)},l.prototype.get_indent_size=function(o,u){return this.__indent_cache.get_indent_size(o,u)},l.prototype.is_empty=function(){return!this.previous_line&&this.current_line.is_empty()},l.prototype.add_new_line=function(o){return this.is_empty()||!o&&this.just_added_newline()?!1:(this.raw||this.__add_outputline(),!0)},l.prototype.get_code=function(o){this.trim(!0);var u=this.current_line.pop();u&&(u[u.length-1]===`
|
||||
`&&(u=u.replace(/\n+$/g,"")),this.current_line.push(u)),this._end_with_newline&&this.__add_outputline();var c=this.__lines.join(`
|
||||
`);return o!==`
|
||||
`&&(c=c.replace(/[\n]/g,o)),c},l.prototype.set_wrap_point=function(){this.current_line._set_wrap_point()},l.prototype.set_indent=function(o,u){return o=o||0,u=u||0,this.next_line.set_indent(o,u),this.__lines.length>1?(this.current_line.set_indent(o,u),!0):(this.current_line.set_indent(),!1)},l.prototype.add_raw_token=function(o){for(var u=0;u<o.newlines;u++)this.__add_outputline();this.current_line.set_indent(-1),this.current_line.push(o.whitespace_before),this.current_line.push(o.text),this.space_before_token=!1,this.non_breaking_space=!1,this.previous_token_wrapped=!1},l.prototype.add_token=function(o){this.__add_space_before_token(),this.current_line.push(o),this.space_before_token=!1,this.non_breaking_space=!1,this.previous_token_wrapped=this.current_line._allow_wrap()},l.prototype.__add_space_before_token=function(){this.space_before_token&&!this.just_added_newline()&&(this.non_breaking_space||this.set_wrap_point(),this.current_line.push(" "))},l.prototype.remove_indent=function(o){for(var u=this.__lines.length;o<u;)this.__lines[o]._remove_indent(),o++;this.current_line._remove_wrap_indent()},l.prototype.trim=function(o){for(o=o===void 0?!1:o,this.current_line.trim();o&&this.__lines.length>1&&this.current_line.is_empty();)this.__lines.pop(),this.current_line=this.__lines[this.__lines.length-1],this.current_line.trim();this.previous_line=this.__lines.length>1?this.__lines[this.__lines.length-2]:null},l.prototype.just_added_newline=function(){return this.current_line.is_empty()},l.prototype.just_added_blankline=function(){return this.is_empty()||this.current_line.is_empty()&&this.previous_line.is_empty()},l.prototype.ensure_empty_line_above=function(o,u){for(var c=this.__lines.length-2;c>=0;){var d=this.__lines[c];if(d.is_empty())break;if(d.item(0).indexOf(o)!==0&&d.item(-1)!==u){this.__lines.splice(c+1,0,new s(this)),this.previous_line=this.__lines[this.__lines.length-2];break}c--}},r.exports.Output=l}),(function(r){function s(a,l,o,u){this.type=a,this.text=l,this.comments_before=null,this.newlines=o||0,this.whitespace_before=u||"",this.parent=null,this.next=null,this.previous=null,this.opened=null,this.closed=null,this.directives=null}r.exports.Token=s}),,,(function(r){function s(o,u){this.raw_options=a(o,u),this.disabled=this._get_boolean("disabled"),this.eol=this._get_characters("eol","auto"),this.end_with_newline=this._get_boolean("end_with_newline"),this.indent_size=this._get_number("indent_size",4),this.indent_char=this._get_characters("indent_char"," "),this.indent_level=this._get_number("indent_level"),this.preserve_newlines=this._get_boolean("preserve_newlines",!0),this.max_preserve_newlines=this._get_number("max_preserve_newlines",32786),this.preserve_newlines||(this.max_preserve_newlines=0),this.indent_with_tabs=this._get_boolean("indent_with_tabs",this.indent_char===" "),this.indent_with_tabs&&(this.indent_char=" ",this.indent_size===1&&(this.indent_size=4)),this.wrap_line_length=this._get_number("wrap_line_length",this._get_number("max_char")),this.indent_empty_lines=this._get_boolean("indent_empty_lines"),this.templating=this._get_selection_list("templating",["auto","none","angular","django","erb","handlebars","php","smarty"],["auto"])}s.prototype._get_array=function(o,u){var c=this.raw_options[o],d=u||[];return typeof c=="object"?c!==null&&typeof c.concat=="function"&&(d=c.concat()):typeof c=="string"&&(d=c.split(/[^a-zA-Z0-9_\/\-]+/)),d},s.prototype._get_boolean=function(o,u){var c=this.raw_options[o],d=c===void 0?!!u:!!c;return d},s.prototype._get_characters=function(o,u){var c=this.raw_options[o],d=u||"";return typeof c=="string"&&(d=c.replace(/\\r/,"\r").replace(/\\n/,`
|
||||
`).replace(/\\t/," ")),d},s.prototype._get_number=function(o,u){var c=this.raw_options[o];u=parseInt(u,10),isNaN(u)&&(u=0);var d=parseInt(c,10);return isNaN(d)&&(d=u),d},s.prototype._get_selection=function(o,u,c){var d=this._get_selection_list(o,u,c);if(d.length!==1)throw new Error("Invalid Option Value: The option '"+o+`' can only be one of the following values:
|
||||
`+u+`
|
||||
You passed in: '`+this.raw_options[o]+"'");return d[0]},s.prototype._get_selection_list=function(o,u,c){if(!u||u.length===0)throw new Error("Selection list cannot be empty.");if(c=c||[u[0]],!this._is_valid_selection(c,u))throw new Error("Invalid Default Value!");var d=this._get_array(o,c);if(!this._is_valid_selection(d,u))throw new Error("Invalid Option Value: The option '"+o+`' can contain only the following values:
|
||||
`+u+`
|
||||
You passed in: '`+this.raw_options[o]+"'");return d},s.prototype._is_valid_selection=function(o,u){return o.length&&u.length&&!o.some(function(c){return u.indexOf(c)===-1})};function a(o,u){var c={};o=l(o);var d;for(d in o)d!==u&&(c[d]=o[d]);if(u&&o[u])for(d in o[u])c[d]=o[u][d];return c}function l(o){var u={},c;for(c in o){var d=c.replace(/-/g,"_");u[d]=o[c]}return u}r.exports.Options=s,r.exports.normalizeOpts=l,r.exports.mergeOpts=a}),,(function(r){var s=RegExp.prototype.hasOwnProperty("sticky");function a(l){this.__input=l||"",this.__input_length=this.__input.length,this.__position=0}a.prototype.restart=function(){this.__position=0},a.prototype.back=function(){this.__position>0&&(this.__position-=1)},a.prototype.hasNext=function(){return this.__position<this.__input_length},a.prototype.next=function(){var l=null;return this.hasNext()&&(l=this.__input.charAt(this.__position),this.__position+=1),l},a.prototype.peek=function(l){var o=null;return l=l||0,l+=this.__position,l>=0&&l<this.__input_length&&(o=this.__input.charAt(l)),o},a.prototype.__match=function(l,o){l.lastIndex=o;var u=l.exec(this.__input);return u&&!(s&&l.sticky)&&u.index!==o&&(u=null),u},a.prototype.test=function(l,o){return o=o||0,o+=this.__position,o>=0&&o<this.__input_length?!!this.__match(l,o):!1},a.prototype.testChar=function(l,o){var u=this.peek(o);return l.lastIndex=0,u!==null&&l.test(u)},a.prototype.match=function(l){var o=this.__match(l,this.__position);return o?this.__position+=o[0].length:o=null,o},a.prototype.read=function(l,o,u){var c="",d;return l&&(d=this.match(l),d&&(c+=d[0])),o&&(d||!l)&&(c+=this.readUntil(o,u)),c},a.prototype.readUntil=function(l,o){var u="",c=this.__position;l.lastIndex=this.__position;var d=l.exec(this.__input);return d?(c=d.index,o&&(c+=d[0].length)):c=this.__input_length,u=this.__input.substring(this.__position,c),this.__position=c,u},a.prototype.readUntilAfter=function(l){return this.readUntil(l,!0)},a.prototype.get_regexp=function(l,o){var u=null,c="g";return o&&s&&(c="y"),typeof l=="string"&&l!==""?u=new RegExp(l,c):l&&(u=new RegExp(l.source,c)),u},a.prototype.get_literal_regexp=function(l){return RegExp(l.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&"))},a.prototype.peekUntilAfter=function(l){var o=this.__position,u=this.readUntilAfter(l);return this.__position=o,u},a.prototype.lookBack=function(l){var o=this.__position-1;return o>=l.length&&this.__input.substring(o-l.length,o).toLowerCase()===l},r.exports.InputScanner=a}),(function(r,s,a){var l=a(8).InputScanner,o=a(3).Token,u=a(10).TokenStream,c=a(11).WhitespacePattern,d={START:"TK_START",RAW:"TK_RAW",EOF:"TK_EOF"},m=function(f,w){this._input=new l(f),this._options=w||{},this.__tokens=null,this._patterns={},this._patterns.whitespace=new c(this._input)};m.prototype.tokenize=function(){this._input.restart(),this.__tokens=new u,this._reset();for(var f,w=new o(d.START,""),p=null,x=[],T=new u;w.type!==d.EOF;){for(f=this._get_next_token(w,p);this._is_comment(f);)T.add(f),f=this._get_next_token(w,p);T.isEmpty()||(f.comments_before=T,T=new u),f.parent=p,this._is_opening(f)?(x.push(p),p=f):p&&this._is_closing(f,p)&&(f.opened=p,p.closed=f,p=x.pop(),f.parent=p),f.previous=w,w.next=f,this.__tokens.add(f),w=f}return this.__tokens},m.prototype._is_first_token=function(){return this.__tokens.isEmpty()},m.prototype._reset=function(){},m.prototype._get_next_token=function(f,w){this._readWhitespace();var p=this._input.read(/.+/g);return p?this._create_token(d.RAW,p):this._create_token(d.EOF,"")},m.prototype._is_comment=function(f){return!1},m.prototype._is_opening=function(f){return!1},m.prototype._is_closing=function(f,w){return!1},m.prototype._create_token=function(f,w){var p=new o(f,w,this._patterns.whitespace.newline_count,this._patterns.whitespace.whitespace_before_token);return p},m.prototype._readWhitespace=function(){return this._patterns.whitespace.read()},r.exports.Tokenizer=m,r.exports.TOKEN=d}),(function(r){function s(a){this.__tokens=[],this.__tokens_length=this.__tokens.length,this.__position=0,this.__parent_token=a}s.prototype.restart=function(){this.__position=0},s.prototype.isEmpty=function(){return this.__tokens_length===0},s.prototype.hasNext=function(){return this.__position<this.__tokens_length},s.prototype.next=function(){var a=null;return this.hasNext()&&(a=this.__tokens[this.__position],this.__position+=1),a},s.prototype.peek=function(a){var l=null;return a=a||0,a+=this.__position,a>=0&&a<this.__tokens_length&&(l=this.__tokens[a]),l},s.prototype.add=function(a){this.__parent_token&&(a.parent=this.__parent_token),this.__tokens.push(a),this.__tokens_length+=1},r.exports.TokenStream=s}),(function(r,s,a){var l=a(12).Pattern;function o(u,c){l.call(this,u,c),c?this._line_regexp=this._input.get_regexp(c._line_regexp):this.__set_whitespace_patterns("",""),this.newline_count=0,this.whitespace_before_token=""}o.prototype=new l,o.prototype.__set_whitespace_patterns=function(u,c){u+="\\t ",c+="\\n\\r",this._match_pattern=this._input.get_regexp("["+u+c+"]+",!0)Line truncated
|
||||
`,b&&d.test(b)&&(g=b.match(d)[0])),b=b.replace(m,`
|
||||
`);var v=b.match(/^[\t ]*/)[0],N={text:"",type:""},S=new I,_=new f(this._options,v),L=new u(b,this._options).tokenize();this._tag_stack=new y(_);for(var D=null,k=L.next();k.type!==c.EOF;)k.type===c.TAG_OPEN||k.type===c.COMMENT?(D=this._handle_tag_open(_,k,S,N,L),S=D):k.type===c.ATTRIBUTE||k.type===c.EQUALS||k.type===c.VALUE||k.type===c.TEXT&&!S.tag_complete?D=this._handle_inside_tag(_,k,S,N):k.type===c.TAG_CLOSE?D=this._handle_tag_close(_,k,S):k.type===c.TEXT?D=this._handle_text(_,k,S):k.type===c.CONTROL_FLOW_OPEN?D=this._handle_control_flow_open(_,k):k.type===c.CONTROL_FLOW_CLOSE?D=this._handle_control_flow_close(_,k):_.add_raw_token(k),N=D,k=L.next();var R=_._output.get_code(g);return R},A.prototype._handle_control_flow_open=function(b,g){var v={text:g.text,type:g.type};return b.set_space_before_token(g.newlines||g.whitespace_before!=="",!0),g.newlines?b.print_preserved_newlines(g):b.set_space_before_token(g.newlines||g.whitespace_before!=="",!0),b.print_token(g),b.indent(),v},A.prototype._handle_control_flow_close=function(b,g){var v={text:g.text,type:g.type};return b.deindent(),g.newlines?b.print_preserved_newlines(g):b.set_space_before_token(g.newlines||g.whitespace_before!=="",!0),b.print_token(g),v},A.prototype._handle_tag_close=function(b,g,v){var N={text:g.text,type:g.type};return b.alignment_size=0,v.tag_complete=!0,b.set_space_before_token(g.newlines||g.whitespace_before!=="",!0),v.is_unformatted?b.add_raw_token(g):(v.tag_start_char==="<"&&(b.set_space_before_token(g.text[0]==="/",!0),this._is_wrap_attributes_force_expand_multiline&&v.has_wrapped_attrs&&b.print_newline(!1)),b.print_token(g)),v.indent_content&&!(v.is_unformatted||v.is_content_unformatted)&&(b.indent(),v.indent_content=!1),!v.is_inline_element&&!(v.is_unformatted||v.is_content_unformatted)&&b.set_wrap_point(),N},A.prototype._handle_inside_tag=function(b,g,v,N){var S=v.has_wrapped_attrs,_={text:g.text,type:g.type};return b.set_space_before_token(g.newlines||g.whitespace_before!=="",!0),v.is_unformatted?b.add_raw_token(g):v.tag_start_char==="{"&&g.type===c.TEXT?b.print_preserved_newlines(g)?(g.newlines=0,b.add_raw_token(g)):b.print_token(g):(g.type===c.ATTRIBUTE?b.set_space_before_token(!0):(g.type===c.EQUALS||g.type===c.VALUE&&g.previous.type===c.EQUALS)&&b.set_space_before_token(!1),g.type===c.ATTRIBUTE&&v.tag_start_char==="<"&&((this._is_wrap_attributes_preserve||this._is_wrap_attributes_preserve_aligned)&&(b.traverse_whitespace(g),S=S||g.newlines!==0),this._is_wrap_attributes_force&&v.attr_count>=this._options.wrap_attributes_min_attrs&&(N.type!==c.TAG_OPEN||this._is_wrap_attributes_force_expand_multiline)&&(b.print_newline(!1),S=!0)),b.print_token(g),S=S||b.previous_token_wrapped(),v.has_wrapped_attrs=S),_},A.prototype._handle_text=function(b,g,v){var N={text:g.text,type:"TK_CONTENT"};return v.custom_beautifier_name?this._print_custom_beatifier_text(b,g,v):v.is_unformatted||v.is_content_unformatted?b.add_raw_token(g):(b.traverse_whitespace(g),b.print_token(g)),N},A.prototype._print_custom_beatifier_text=function(b,g,v){var N=this;if(g.text!==""){var S=g.text,_,L=1,D="",k="";v.custom_beautifier_name==="javascript"&&typeof this._js_beautify=="function"?_=this._js_beautify:v.custom_beautifier_name==="css"&&typeof this._css_beautify=="function"?_=this._css_beautify:v.custom_beautifier_name==="html"&&(_=function(O,Y){var Z=new A(O,Y,N._js_beautify,N._css_beautify);return Z.beautify()}),this._options.indent_scripts==="keep"?L=0:this._options.indent_scripts==="separate"&&(L=-b.indent_level);var R=b.get_full_indent(L);if(S=S.replace(/\n[ \t]*$/,""),v.custom_beautifier_name!=="html"&&S[0]==="<"&&S.match(/^(<!--|<!\[CDATA\[)/)){var M=/^(<!--[^\n]*|<!\[CDATA\[)(\n?)([ \t\n]*)([\s\S]*)(-->|]]>)$/.exec(S);if(!M){b.add_raw_token(g);return}D=R+M[1]+`
|
||||
`,S=M[4],M[5]&&(k=R+M[5]),S=S.replace(/\n[ \t]*$/,""),(M[2]||M[3].indexOf(`
|
||||
`)!==-1)&&(M=M[3].match(/[ \t]+$/),M&&(g.whitespace_before=M[0]))}if(S)if(_){var W=function(){this.eol=`
|
||||
`};W.prototype=this._options.raw_options;var F=new W;S=_(R+S,F)}else{var U=g.whitespace_before;U&&(S=S.replace(new RegExp(`
|
||||
(`+U+")?","g"),`
|
||||
`)),S=R+S.replace(/\n/g,`
|
||||
`+R)}D&&(S?S=D+S+`
|
||||
`+k:S=D+k),b.print_newline(!1),S&&(g.text=S,g.whitespace_before="",g.newlines=0,b.add_raw_token(g),b.print_newline(!0))}},A.prototype._handle_tag_open=function(b,g,v,N,S){var _=this._get_tag_open_token(g);if((v.is_unformatted||v.is_content_unformatted)&&!v.is_empty_element&&g.type===c.TAG_OPEN&&!_.is_start_tag?(b.add_raw_token(g),_.start_tag_token=this._tag_stack.try_pop(_.tag_name)):(b.traverse_whitespace(g),this._set_tag_position(b,g,_,v,N),_.is_inline_element||b.set_wrap_point(),b.print_token(g)),_.is_start_tag&&this._is_wrap_attributes_force){var L=0,D;do D=S.peek(L),D.type===c.ATTRIBUTE&&(_.attr_count+=1),L+=1;while(D.type!==c.EOF&&D.type!==c.TAG_CLOSE)}return(this._is_wrap_attributes_force_aligned||this._is_wrap_attributes_aligned_multiple||this._is_wrap_attributes_preserve_aligned)&&(_.alignment_size=g.text.length+1),!_.tag_complete&&!_.is_unformatted&&(b.alignment_size=_.alignment_size),_};var I=function(b,g){if(this.parent=b||null,this.text="",this.type="TK_TAG_OPEN",this.tag_name="",this.is_inline_element=!1,this.is_unformatted=!1,this.is_content_unformatted=!1,this.is_empty_element=!1,this.is_start_tag=!1,this.is_end_tag=!1,this.indent_content=!1,this.multiline_content=!1,this.custom_beautifier_name=null,this.start_tag_token=null,this.attr_count=0,this.has_wrapped_attrs=!1,this.alignment_size=0,this.tag_complete=!1,this.tag_start_char="",this.tag_check="",!g)this.tag_complete=!0;else{var v;this.tag_start_char=g.text[0],this.text=g.text,this.tag_start_char==="<"?(v=g.text.match(/^<([^\s>]*)/),this.tag_check=v?v[1]:""):(v=g.text.match(/^{{~?(?:[\^]|#\*?)?([^\s}]+)/),this.tag_check=v?v[1]:"",(g.text.startsWith("{{#>")||g.text.startsWith("{{~#>"))&&this.tag_check[0]===">"&&(this.tag_check===">"&&g.next!==null?this.tag_check=g.next.text.split(" ")[0]:this.tag_check=g.text.split(">")[1])),this.tag_check=this.tag_check.toLowerCase(),g.type===c.COMMENT&&(this.tag_complete=!0),this.is_start_tag=this.tag_check.charAt(0)!=="/",this.tag_name=this.is_start_tag?this.tag_check:this.tag_check.substr(1),this.is_end_tag=!this.is_start_tag||g.closed&&g.closed.text==="/>";var N=2;this.tag_start_char==="{"&&this.text.length>=3&&this.text.charAt(2)==="~"&&(N=3),this.is_end_tag=this.is_end_tag||this.tag_start_char==="{"&&(this.text.length<3||/[^#\^]/.test(this.text.charAt(N)))}};A.prototype._get_tag_open_token=function(b){var g=new I(this._tag_stack.get_parser_token(),b);return g.alignment_size=this._options.wrap_attributes_indent_size,g.is_end_tag=g.is_end_tag||x(g.tag_check,this._options.void_elements),g.is_empty_element=g.tag_complete||g.is_start_tag&&g.is_end_tag,g.is_unformatted=!g.tag_complete&&x(g.tag_check,this._options.unformatted),g.is_content_unformatted=!g.is_empty_element&&x(g.tag_check,this._options.content_unformatted),g.is_inline_element=x(g.tag_name,this._options.inline)||this._options.inline_custom_elements&&g.tag_name.includes("-")||g.tag_start_char==="{",g},A.prototype._set_tag_position=function(b,g,v,N,S){if(v.is_empty_element||(v.is_end_tag?v.start_tag_token=this._tag_stack.try_pop(v.tag_name):(this._do_optional_end_element(v)&&(v.is_inline_element||b.print_newline(!1)),this._tag_stack.record_tag(v),(v.tag_name==="script"||v.tag_name==="style")&&!(v.is_unformatted||v.is_content_unformatted)&&(v.custom_beautifier_name=p(v.tag_check,g)))),x(v.tag_check,this._options.extra_liners)&&(b.print_newline(!1),b._output.just_added_blankline()||b.print_newline(!0)),v.is_empty_element){if(v.tag_start_char==="{"&&v.tag_check==="else"){this._tag_stack.indent_to_tag(["if","unless","each"]),v.indent_content=!0;var _=b.current_line_has_match(/{{#if/);_||b.print_newline(!1)}v.tag_name==="!--"&&S.type===c.TAG_CLOSE&&N.is_end_tag&&v.text.indexOf(`
|
||||
`)===-1||(v.is_inline_element||v.is_unformatted||b.print_newline(!1),this._calcluate_parent_multiline(b,v))}else if(v.is_end_tag){var L=!1;L=v.start_tag_token&&v.start_tag_token.multiline_content,L=L||!v.is_inline_element&&!(N.is_inline_element||N.is_unformatted)&&!(S.type===c.TAG_CLOSE&&v.start_tag_token===N)&&S.type!=="TK_CONTENT",(v.is_content_unformatted||v.is_unformatted)&&(L=!1),L&&b.print_newline(!1)}else v.indent_content=!v.custom_beautifier_name,v.tag_start_char==="<"&&(v.tag_name==="html"?v.indent_content=this._options.indent_inner_html:v.tag_name==="head"?v.indent_content=this._options.indent_head_inner_html:v.tag_name==="body"&&(v.indent_content=this._options.indent_body_inner_html)),!(v.is_inline_element||v.is_unformatted)&&(S.type!=="TK_CONTENT"||v.is_content_unformatted)&&b.print_newline(!1),this._calcluate_parent_multiline(b,v)},A.prototype._calcluate_parent_multiline=function(b,g){g.parent&&b._output.just_added_newline()&&!((g.is_inline_element||g.is_unformatted)&&g.parent.is_inline_element)&&(g.parent.multiline_content=!0)};var H=["address","article","aside","blockquote","details","div","dl","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hr","main","menu","nav","ol","p","pre","section","table","ul"],P=["a","audio","del","ins","map","noscript","video"];A.prototype._do_optional_end_element=function(b){var g=null;if(!(b.is_empty_element||!b.is_start_tag||!b.parent)){if(b.tag_name==="body")g=g||this._tag_stack.try_pop("head");else if(b.tag_name==="li")g=g||this._tag_stack.try_pop("li",["ol","ul","menu"]);else if(b.tag_name==="dd"||b.tag_name==="dt")g=g||this._tag_stack.try_pop("dt",["dl"]),g=g||this._tag_stack.try_pop("dd",["dl"]);else if(b.parent.tag_name==="p"&&H.indexOf(b.tag_name)!==-1){var v=b.parent.parent;(!v||P.indexOf(v.tag_name)===-1)&&(g=g||this._tag_stack.try_pop("p"))}else b.tag_name==="rp"||b.tag_name==="rt"?(g=g||this._tag_stack.try_pop("rt",["ruby","rtc"]),g=g||this._tag_stack.try_pop("rp",["ruby","rtc"])):b.tag_name==="optgroup"?g=g||this._tag_stack.try_pop("optgroup",["select"]):b.tag_name==="option"?g=g||this._tag_stack.try_pop("option",["select","datalist","optgroup"]):b.tag_name==="colgroup"?g=g||this._tag_stack.try_pop("caption",["table"]):b.tag_name==="thead"?(g=g||this._tag_stack.try_pop("caption",["table"]),g=g||this._tag_stack.try_pop("colgroup",["table"])):b.tag_name==="tbody"||b.tag_name==="tfoot"?(g=g||this._tag_stack.try_pop("caption",["table"]),g=g||this._tag_stack.try_pop("colgroup",["table"]),g=g||this._tag_stack.try_pop("thead",["table"]),g=g||this._tag_stack.try_pop("tbody",["table"])):b.tag_name==="tr"?(g=g||this._tag_stack.try_pop("caption",["table"]),g=g||this._tag_stack.try_pop("colgroup",["table"]),g=g||this._tag_stack.try_pop("tr",["table","thead","tbody","tfoot"])):(b.tag_name==="th"||b.tag_name==="td")&&(g=g||this._tag_stack.try_pop("td",["table","thead","tbody","tfoot","tr"]),g=g||this._tag_stack.try_pop("th",["table","thead","tbody","tfoot","tr"]));return b.parent=this._tag_stack.get_parser_token(),g}},r.exports.Beautifier=A}),(function(r,s,a){var l=a(6).Options;function o(u){l.call(this,u,"html"),this.templating.length===1&&this.templating[0]==="auto"&&(this.templating=["django","erb","handlebars","php"]),this.indent_inner_html=this._get_boolean("indent_inner_html"),this.indent_body_inner_html=this._get_boolean("indent_body_inner_html",!0),this.indent_head_inner_html=this._get_boolean("indent_head_inner_html",!0),this.indent_handlebars=this._get_boolean("indent_handlebars",!0),this.wrap_attributes=this._get_selection("wrap_attributes",["auto","force","force-aligned","force-expand-multiline","aligned-multiple","preserve","preserve-aligned"]),this.wrap_attributes_min_attrs=this._get_number("wrap_attributes_min_attrs",2),this.wrap_attributes_indent_size=this._get_number("wrap_attributes_indent_size",this.indent_size),this.extra_liners=this._get_array("extra_liners",["head","body","/html"]),this.inline=this._get_array("inline",["a","abbr","area","audio","b","bdi","bdo","br","button","canvas","cite","code","data","datalist","del","dfn","em","embed","i","iframe","img","input","ins","kbd","keygen","label","map","mark","math","meter","noscript","object","output","progress","q","ruby","s","samp","select","small","span","strong","sub","sup","svg","template","textarea","time","u","var","video","wbr","text","acronym","big","strike","tt"]),this.inline_custom_elements=this._get_boolean("inline_custom_elements",!0),this.void_elements=this._get_array("void_elements",["area","base","br","col","embed","hr","img","input","keygen","link","menuitem","meta","param","source","track","wbr","!doctype","?xml","basefont","isindex"]),this.unformatted=this._get_array("unformatted",[]),this.content_unformatted=this._get_array("content_unformatted",["pre","textarea"]),this.unformatted_content_delimiter=this._get_characters("unformatted_content_delimiter"),this.indent_scripts=this._get_selection("indent_scripts",["normal","keep","separat
Line truncated
|
||||
`,indent_scripts:we(n,"indentScripts","normal"),templating:Nc(n,"all"),unformatted_content_delimiter:we(n,"unformattedContentDelimiter","")};let o=Rc(Mc(i),l);if(s>0){const u=n.insertSpaces?qa(" ",a*s):qa(" ",s);o=o.split(`
|
||||
`).join(`
|
||||
`+u),e.start.character===0&&(o=u+o)}return[{range:e,newText:o}]}function Mc(t){return t.replace(/^\s+/,"")}function we(t,e,n){if(t&&t.hasOwnProperty(e)){const i=t[e];if(i!==null)return i}return n}function Ri(t,e,n){const i=we(t,e,null);return typeof i=="string"?i.length>0?i.split(",").map(r=>r.trim().toLowerCase()):[]:n}function Nc(t,e){const n=we(t,"templating",e);return n===!0?["auto"]:n===!1||n===e||Array.isArray(n)===!1?["none"]:n}function Ic(t,e,n){let i=e,r=0;const s=n.tabSize||4;for(;i<t.length;){const a=t.charAt(i);if(a===" ")r++;else if(a===" ")r+=s;else break;i++}return Math.floor(r/s)}function Ga(t,e){return`\r
|
||||
`.indexOf(t.charAt(e))!==-1}function Xa(t,e){return" ".indexOf(t.charAt(e))!==-1}var Ja;(()=>{var t={470:r=>{function s(o){if(typeof o!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(o))}function a(o,u){for(var c,d="",m=0,f=-1,w=0,p=0;p<=o.length;++p){if(p<o.length)c=o.charCodeAt(p);else{if(c===47)break;c=47}if(c===47){if(!(f===p-1||w===1))if(f!==p-1&&w===2){if(d.length<2||m!==2||d.charCodeAt(d.length-1)!==46||d.charCodeAt(d.length-2)!==46){if(d.length>2){var x=d.lastIndexOf("/");if(x!==d.length-1){x===-1?(d="",m=0):m=(d=d.slice(0,x)).length-1-d.lastIndexOf("/"),f=p,w=0;continue}}else if(d.length===2||d.length===1){d="",m=0,f=p,w=0;continue}}u&&(d.length>0?d+="/..":d="..",m=2)}else d.length>0?d+="/"+o.slice(f+1,p):d=o.slice(f+1,p),m=p-f-1;f=p,w=0}else c===46&&w!==-1?++w:w=-1}return d}var l={resolve:function(){for(var o,u="",c=!1,d=arguments.length-1;d>=-1&&!c;d--){var m;d>=0?m=arguments[d]:(o===void 0&&(o=process.cwd()),m=o),s(m),m.length!==0&&(u=m+"/"+u,c=m.charCodeAt(0)===47)}return u=a(u,!c),c?u.length>0?"/"+u:"/":u.length>0?u:"."},normalize:function(o){if(s(o),o.length===0)return".";var u=o.charCodeAt(0)===47,c=o.charCodeAt(o.length-1)===47;return(o=a(o,!u)).length!==0||u||(o="."),o.length>0&&c&&(o+="/"),u?"/"+o:o},isAbsolute:function(o){return s(o),o.length>0&&o.charCodeAt(0)===47},join:function(){if(arguments.length===0)return".";for(var o,u=0;u<arguments.length;++u){var c=arguments[u];s(c),c.length>0&&(o===void 0?o=c:o+="/"+c)}return o===void 0?".":l.normalize(o)},relative:function(o,u){if(s(o),s(u),o===u||(o=l.resolve(o))===(u=l.resolve(u)))return"";for(var c=1;c<o.length&&o.charCodeAt(c)===47;++c);for(var d=o.length,m=d-c,f=1;f<u.length&&u.charCodeAt(f)===47;++f);for(var w=u.length-f,p=m<w?m:w,x=-1,T=0;T<=p;++T){if(T===p){if(w>p){if(u.charCodeAt(f+T)===47)return u.slice(f+T+1);if(T===0)return u.slice(f+T)}else m>p&&(o.charCodeAt(c+T)===47?x=T:T===0&&(x=0));break}var y=o.charCodeAt(c+T);if(y!==u.charCodeAt(f+T))break;y===47&&(x=T)}var A="";for(T=c+x+1;T<=d;++T)T!==d&&o.charCodeAt(T)!==47||(A.length===0?A+="..":A+="/..");return A.length>0?A+u.slice(f+x):(f+=x,u.charCodeAt(f)===47&&++f,u.slice(f))},_makeLong:function(o){return o},dirname:function(o){if(s(o),o.length===0)return".";for(var u=o.charCodeAt(0),c=u===47,d=-1,m=!0,f=o.length-1;f>=1;--f)if((u=o.charCodeAt(f))===47){if(!m){d=f;break}}else m=!1;return d===-1?c?"/":".":c&&d===1?"//":o.slice(0,d)},basename:function(o,u){if(u!==void 0&&typeof u!="string")throw new TypeError('"ext" argument must be a string');s(o);var c,d=0,m=-1,f=!0;if(u!==void 0&&u.length>0&&u.length<=o.length){if(u.length===o.length&&u===o)return"";var w=u.length-1,p=-1;for(c=o.length-1;c>=0;--c){var x=o.charCodeAt(c);if(x===47){if(!f){d=c+1;break}}else p===-1&&(f=!1,p=c+1),w>=0&&(x===u.charCodeAt(w)?--w==-1&&(m=c):(w=-1,m=p))}return d===m?m=p:m===-1&&(m=o.length),o.slice(d,m)}for(c=o.length-1;c>=0;--c)if(o.charCodeAt(c)===47){if(!f){d=c+1;break}}else m===-1&&(f=!1,m=c+1);return m===-1?"":o.slice(d,m)},extname:function(o){s(o);for(var u=-1,c=0,d=-1,m=!0,f=0,w=o.length-1;w>=0;--w){var p=o.charCodeAt(w);if(p!==47)d===-1&&(m=!1,d=w+1),p===46?u===-1?u=w:f!==1&&(f=1):u!==-1&&(f=-1);else if(!m){c=w+1;break}}return u===-1||d===-1||f===0||f===1&&u===d-1&&u===c+1?"":o.slice(u,d)},format:function(o){if(o===null||typeof o!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof o);return(function(u,c){var d=c.dir||c.root,m=c.base||(c.name||"")+(c.ext||"");return d?d===c.root?d+m:d+"/"+m:m})(0,o)},parse:function(o){s(o);var u={root:"",dir:"",base:"",ext:"",name:""};if(o.length===0)return u;var c,d=o.charCodeAt(0),m=d===47;m?(u.root="/",c=1):c=0;for(var f=-1,w=0,p=-1,x=!0,T=o.length-1,y=0;T>=c;--T)if((d=o.charCodeAt(T))!==47)p===-1&&(x=!1,p=T+1),d===46?f===-1?f=T:y!==1&&(y=1):f!==-1&&(y=-1);else if(!x){w=T+1;break}return f===-1||p===-1||y===0||y===1&&f===p-1&&f===w+1?p!==-1&&(u.base=u.name=w===0&&m?o.slice(1,p):o.slice(w,p)):(w===0&&m?(u.name=o.slice(1,f),u.base=o.slice(1,p)):(u.name=o.slice(w,f),u.base=o.slice(w,p)),u.ext=o.slice(f,p)),w>0?u.dir=o.slice(0,w-1):m&&(u.dir="/"),u},sep:"/",delimiter:":",win32:null,posix:null};l.posix=l,r.exports=l}},e={};function n(r){var s=e[r];if(s!==void 0)return s.exports;var a=e[r]={exports:{}};return t[r](a,a.exports,n),a.exports}n.d=(r,s)=>{for(var a in s)n.o(s,a)&&!n.o(r,a)&&Object.defineProperty(r,a,{enumerable:!0,get:s[a]})},n.o=(r,s)=>Object.prototype.hasOwnProperty.call(r,s),n.r=r=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(r,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(r,"__esModule",{value:!0})};var i={};(()=>{let r;n.r(i),n.d(i,{URI:()=>m,Utils:()=>N}),typeof process=="object"?r=process.platform==="win32":typeof navigator=="object"&&(r=navigator.userAgent.indexOf("Windows")>=0);const s=/^\w[\w\d+.-]*$/,a=/^\//,l=/^\/\//;function o(S,_){if(!S.scheme&&_)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${S.authoriLine truncated
|
||||
|
||||
This metadata name is associated with the value contained by the [\`content\`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta#attr-content) attribute. The possible values for the name attribute are:
|
||||
|
||||
* \`application-name\` which defines the name of the application running in the web page.
|
||||
|
||||
**Note:**
|
||||
|
||||
* Browsers may use this to identify the application. It is different from the [\`<title>\`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/title "The HTML Title element (<title>) defines the document's title that is shown in a browser's title bar or a page's tab.") element, which usually contain the application name, but may also contain information like the document name or a status.
|
||||
* Simple web pages shouldn't define an application-name.
|
||||
|
||||
* \`author\` which defines the name of the document's author.
|
||||
* \`description\` which contains a short and accurate summary of the content of the page. Several browsers, like Firefox and Opera, use this as the default description of bookmarked pages.
|
||||
* \`generator\` which contains the identifier of the software that generated the page.
|
||||
* \`keywords\` which contains words relevant to the page's content separated by commas.
|
||||
* \`referrer\` which controls the [\`Referer\` HTTP header](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referer) attached to requests sent from the document:
|
||||
|
||||
Values for the \`content\` attribute of \`<meta name="referrer">\`
|
||||
|
||||
\`no-referrer\`
|
||||
|
||||
Do not send a HTTP \`Referrer\` header.
|
||||
|
||||
\`origin\`
|
||||
|
||||
Send the [origin](https://developer.mozilla.org/en-US/docs/Glossary/Origin) of the document.
|
||||
|
||||
\`no-referrer-when-downgrade\`
|
||||
|
||||
Send the [origin](https://developer.mozilla.org/en-US/docs/Glossary/Origin) as a referrer to URLs as secure as the current page, (https→https), but does not send a referrer to less secure URLs (https→http). This is the default behaviour.
|
||||
|
||||
\`origin-when-cross-origin\`
|
||||
|
||||
Send the full URL (stripped of parameters) for same-origin requests, but only send the [origin](https://developer.mozilla.org/en-US/docs/Glossary/Origin) for other cases.
|
||||
|
||||
\`same-origin\`
|
||||
|
||||
A referrer will be sent for [same-site origins](https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy), but cross-origin requests will contain no referrer information.
|
||||
|
||||
\`strict-origin\`
|
||||
|
||||
Only send the origin of the document as the referrer to a-priori as-much-secure destination (HTTPS->HTTPS), but don't send it to a less secure destination (HTTPS->HTTP).
|
||||
|
||||
\`strict-origin-when-cross-origin\`
|
||||
|
||||
Send a full URL when performing a same-origin request, only send the origin of the document to a-priori as-much-secure destination (HTTPS->HTTPS), and send no header to a less secure destination (HTTPS->HTTP).
|
||||
|
||||
\`unsafe-URL\`
|
||||
|
||||
Send the full URL (stripped of parameters) for same-origin or cross-origin requests.
|
||||
|
||||
**Notes:**
|
||||
|
||||
* Some browsers support the deprecated values of \`always\`, \`default\`, and \`never\` for referrer.
|
||||
* Dynamically inserting \`<meta name="referrer">\` (with [\`document.write\`](https://developer.mozilla.org/en-US/docs/Web/API/Document/write) or [\`appendChild\`](https://developer.mozilla.org/en-US/docs/Web/API/Node/appendChild)) makes the referrer behaviour unpredictable.
|
||||
* When several conflicting policies are defined, the no-referrer policy is applied.
|
||||
|
||||
|
||||
This attribute may also have a value taken from the extended list defined on [WHATWG Wiki MetaExtensions page](https://wiki.whatwg.org/wiki/MetaExtensions). Although none have been formally accepted yet, a few commonly used names are:
|
||||
|
||||
* \`creator\` which defines the name of the creator of the document, such as an organization or institution. If there are more than one, several [\`<meta>\`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta "The HTML <meta> element represents metadata that cannot be represented by other HTML meta-related elements, like <base>, <link>, <script>, <style> or <title>.") elements should be used.
|
||||
* \`googlebot\`, a synonym of \`robots\`, is only followed by Googlebot (the indexing crawler for Google).
|
||||
* \`publisher\` which defines the name of the document's publisher.
|
||||
* \`robots\` which defines the behaviour that cooperative crawlers, or "robots", should use with the page. It is a comma-separated list of the values below:
|
||||
|
||||
Values for the content of \`<meta name="robots">\`
|
||||
|
||||
Value
|
||||
|
||||
Description
|
||||
|
||||
Used by
|
||||
|
||||
\`index\`
|
||||
|
||||
Allows the robot to index the page (default).
|
||||
|
||||
All
|
||||
|
||||
\`noindex\`
|
||||
|
||||
Requests the robot to not index the page.
|
||||
|
||||
All
|
||||
|
||||
\`follow\`
|
||||
|
||||
Allows the robot to follow the links on the page (default).
|
||||
|
||||
All
|
||||
|
||||
\`nofollow\`
|
||||
|
||||
Requests the robot to not follow the links on the page.
|
||||
|
||||
All
|
||||
|
||||
\`none\`
|
||||
|
||||
Equivalent to \`noindex, nofollow\`
|
||||
|
||||
[Google](https://support.google.com/webmasters/answer/79812)
|
||||
|
||||
\`noodp\`
|
||||
|
||||
Prevents using the [Open Directory Project](https://www.dmoz.org/) description, if any, as the page description in search engine results.
|
||||
|
||||
[Google](https://support.google.com/webmasters/answer/35624#nodmoz), [Yahoo](https://help.yahoo.com/kb/search-for-desktop/meta-tags-robotstxt-yahoo-search-sln2213.html#cont5), [Bing](https://www.bing.com/webmaster/help/which-robots-metatags-does-bing-support-5198d240)
|
||||
|
||||
\`noarchive\`
|
||||
|
||||
Requests the search engine not to cache the page content.
|
||||
|
||||
[Google](https://developers.google.com/webmasters/control-crawl-index/docs/robots_meta_tag#valid-indexing--serving-directives), [Yahoo](https://help.yahoo.com/kb/search-for-desktop/SLN2213.html), [Bing](https://www.bing.com/webmaster/help/which-robots-metatags-does-bing-support-5198d240)
|
||||
|
||||
\`nosnippet\`
|
||||
|
||||
Prevents displaying any description of the page in search engine results.
|
||||
|
||||
[Google](https://developers.google.com/webmasters/control-crawl-index/docs/robots_meta_tag#valid-indexing--serving-directives), [Bing](https://www.bing.com/webmaster/help/which-robots-metatags-does-bing-support-5198d240)
|
||||
|
||||
\`noimageindex\`
|
||||
|
||||
Requests this page not to appear as the referring page of an indexed image.
|
||||
|
||||
[Google](https://developers.google.com/webmasters/control-crawl-index/docs/robots_meta_tag#valid-indexing--serving-directives)
|
||||
|
||||
\`nocache\`
|
||||
|
||||
Synonym of \`noarchive\`.
|
||||
|
||||
[Bing](https://www.bing.com/webmaster/help/which-robots-metatags-does-bing-support-5198d240)
|
||||
|
||||
**Notes:**
|
||||
|
||||
* Only cooperative robots follow these rules. Do not expect to prevent e-mail harvesters with them.
|
||||
* The robot still needs to access the page in order to read these rules. To prevent bandwidth consumption, use a _[robots.txt](https://developer.mozilla.org/en-US/docs/Glossary/robots.txt "robots.txt: Robots.txt is a file which is usually placed in the root of any website. It decides whether crawlers are permitted or forbidden access to the web site.")_ file.
|
||||
* If you want to remove a page, \`noindex\` will work, but only after the robot visits the page again. Ensure that the \`robots.txt\` file is not preventing revisits.
|
||||
* Some values are mutually exclusive, like \`index\` and \`noindex\`, or \`follow\` and \`nofollow\`. In these cases the robot's behaviour is undefined and may vary between them.
|
||||
* Some crawler robots, like Google, Yahoo and Bing, support the same values for the HTTP header \`X-Robots-Tag\`; this allows non-HTML documents like images to use these rules.
|
||||
|
||||
* \`slurp\`, is a synonym of \`robots\`, but only for Slurp - the crawler for Yahoo Search.
|
||||
* \`viewport\`, which gives hints about the size of the initial size of the [viewport](https://developer.mozilla.org/en-US/docs/Glossary/viewport "viewport: A viewport represents a polygonal (normally rectangular) area in computer graphics that is currently being viewed. In web browser terms, it refers to the part of the document you're viewing which is currently visible in its window (or the screen, if the document is being viewed in full screen mode). Content outside the viewport is not visible onscreen until scrolled into view."). Used by mobile devices only.
|
||||
|
||||
Values for the content of \`<meta name="viewport">\`
|
||||
|
||||
Value
|
||||
|
||||
Possible subvalues
|
||||
|
||||
Description
|
||||
|
||||
\`width\`
|
||||
|
||||
A positive integer number, or the text \`device-width\`
|
||||
|
||||
Defines the pixel width of the viewport that you want the web site to be rendered at.
|
||||
|
||||
\`height\`
|
||||
|
||||
A positive integer, or the text \`device-height\`
|
||||
|
||||
Defines the height of the viewport. Not used by any browser.
|
||||
|
||||
\`initial-scale\`
|
||||
|
||||
A positive number between \`0.0\` and \`10.0\`
|
||||
|
||||
Defines the ratio between the device width (\`device-width\` in portrait mode or \`device-height\` in landscape mode) and the viewport size.
|
||||
|
||||
\`maximum-scale\`
|
||||
|
||||
A positive number between \`0.0\` and \`10.0\`
|
||||
|
||||
Defines the maximum amount to zoom in. It must be greater or equal to the \`minimum-scale\` or the behaviour is undefined. Browser settings can ignore this rule and iOS10+ ignores it by default.
|
||||
|
||||
\`minimum-scale\`
|
||||
|
||||
A positive number between \`0.0\` and \`10.0\`
|
||||
|
||||
Defines the minimum zoom level. It must be smaller or equal to the \`maximum-scale\` or the behaviour is undefined. Browser settings can ignore this rule and iOS10+ ignores it by default.
|
||||
|
||||
\`user-scalable\`
|
||||
|
||||
\`yes\` or \`no\`
|
||||
|
||||
If set to \`no\`, the user is not able to zoom in the webpage. The default is \`yes\`. Browser settings can ignore this rule, and iOS10+ ignores it by default.
|
||||
|
||||
Specification
|
||||
|
||||
Status
|
||||
|
||||
Comment
|
||||
|
||||
[CSS Device Adaptation
|
||||
The definition of '<meta name="viewport">' in that specification.](https://drafts.csswg.org/css-device-adapt/#viewport-meta)
|
||||
|
||||
Working Draft
|
||||
|
||||
Non-normatively describes the Viewport META element
|
||||
|
||||
See also: [\`@viewport\`](https://developer.mozilla.org/en-US/docs/Web/CSS/@viewport "The @viewport CSS at-rule lets you configure the viewport through which the document is viewed. It's primarily used for mobile devices, but is also used by desktop browsers that support features like "snap to edge" (such as Microsoft Edge).")
|
||||
|
||||
**Notes:**
|
||||
|
||||
* Though unstandardized, this declaration is respected by most mobile browsers due to de-facto dominance.
|
||||
* The default values may vary between devices and browsers.
|
||||
* To learn about this declaration in Firefox for Mobile, see [this article](https://developer.mozilla.org/en-US/docs/Mobile/Viewport_meta_tag "Mobile/Viewport meta tag").`}},{name:"http-equiv",description:{kind:"markdown",value:'Defines a pragma directive. The attribute is named `**http-equiv**(alent)` because all the allowed values are names of particular HTTP headers:\n\n* `"content-language"` \n Defines the default language of the page. It can be overridden by the [lang](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/lang) attribute on any element.\n \n **Warning:** Do not use this value, as it is obsolete. Prefer the `lang` attribute on the [`<html>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/html "The HTML <html> element represents the root (top-level element) of an HTML document, so it is also referred to as the root element. All other elements must be descendants of this element.") element.\n \n* `"content-security-policy"` \n Allows page authors to define a [content policy](https://developer.mozilla.org/en-US/docs/Web/Security/CSP/CSP_policy_directives) for the current page. Content policies mostly specify allowed server origins and script endpoints which help guard against cross-site scripting attacks.\n* `"content-type"` \n Defines the [MIME type](https://developer.mozilla.org/en-US/docs/Glossary/MIME_type) of the document, followed by its character encoding. It follows the same syntax as the HTTP `content-type` entity-header field, but as it is inside a HTML page, most values other than `text/html` are impossible. Therefore the valid syntax for its `content` is the string \'`text/html`\' followed by a character set with the following syntax: \'`; charset=_IANAcharset_`\', where `IANAcharset` is the _preferred MIME name_ for a character set as [defined by the IANA.](https://www.iana.org/assignments/character-sets)\n \n **Warning:** Do not use this value, as it is obsolete. Use the [`charset`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta#attr-charset) attribute on the [`<meta>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta "The HTML <meta> element represents metadata that cannot be represented by other HTML meta-related elements, like <base>, <link>, <script>, <style> or <title>.") element.\n \n **Note:** As [`<meta>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta "The HTML <meta> element represents metadata that cannot be represented by other HTML meta-related elements, like <base>, <link>, <script>, <style> or <title>.") can\'t change documents\' types in XHTML or HTML5\'s XHTML serialization, never set the MIME type to an XHTML MIME type with `<meta>`.\n \n* `"refresh"` \n This instruction specifies:\n * The number of seconds until the page should be reloaded - only if the [`content`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta#attr-content) attribute contains a positive integer.\n * The number of seconds until the page should redirect to another - only if the [`content`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta#attr-content) attribute contains a positive integer followed by the string \'`;url=`\', and a valid URL.\n* `"set-cookie"` \n Defines a [cookie](https://developer.mozilla.org/en-US/docs/cookie) for the page. Its content must follow the syntax defined in the [IETF HTTP Cookie Specification](https://tools.ietf.org/html/draft-ietf-httpstate-cookie-14).\n \n **Warning:** Do not use this instruction, as it is obsolete. Use the HTTP header [`Set-Cookie`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie) instead.'}},{name:"content",description:{kind:"markdown",value:"This attribute contains the value for the [`http-equiv`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta#attr-http-equiv) or [`name`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta#attr-name) attribute, depending on which is used."}},{name:"charset",description:{kind:"markdown",value:'This attribute declares the page\'s character encoding. It must contain a [standard IANA MIME name for character encodings](https://www.iana.org/assignments/character-sets). Although the standard doesn\'t request a specific encoding, it suggests:\n\n* Authors are encouraged to use [`UTF-8`](https://developer.mozilla.org/en-US/docs/Glossary/UTF-8).\n* Authors should not use ASCII-incompatible encodings to avoid security risk: browsers not supporting them may interpret harmful content as HTML. This happens with the `JIS_C6226-1983`, `JIS_X0212-1990`, `HZ-GB-2312`, `JOHAB`, the ISO-2022 family and the EBCDIC family.\n\n**Note:** ASCII-incompatible encodings are those that don\'t map the 8-bit code points `0x20` to `0x7E` to the `0x0020` to `0x007E` Unicode code points)\n\n* Authors **must not** use `CESU-8`, `UTF-7`, `BOCU-1` and/or `SCSU` as [cross-site scripting](https://developer.mozilla.org
Line truncated
|
||||
\`sync\`
|
||||
|
||||
Decode the image synchronously for atomic presentation with other content.
|
||||
|
||||
\`async\`
|
||||
|
||||
Decode the image asynchronously to reduce delay in presenting other content.
|
||||
|
||||
\`auto\`
|
||||
|
||||
Default mode, which indicates no preference for the decoding mode. The browser decides what is best for the user.`}},{name:"loading",valueSet:"loading",description:{kind:"markdown",value:"Indicates how the browser should load the image."}},{name:"referrerpolicy",valueSet:"referrerpolicy",description:{kind:"markdown",value:"A string indicating which referrer to use when fetching the resource:\n\n* `no-referrer:` The [`Referer`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referer \"The Referer request header contains the address of the previous web page from which a link to the currently requested page was followed. The Referer header allows servers to identify where people are visiting them from and may use that data for analytics, logging, or optimized caching, for example.\") header will not be sent.\n* `no-referrer-when-downgrade:` No `Referer` header will be sent when navigating to an origin without TLS (HTTPS). This is a user agent’s default behavior if no policy is otherwise specified.\n* `origin:` The `Referer` header will include the page of origin's scheme, the host, and the port.\n* `origin-when-cross-origin:` Navigating to other origins will limit the included referral data to the scheme, the host and the port, while navigating from the same origin will include the referrer's full path.\n* `unsafe-url:` The `Referer` header will include the origin and the path, but not the fragment, password, or username. This case is unsafe because it can leak origins and paths from TLS-protected resources to insecure origins."}},{name:"sizes",description:{kind:"markdown",value:"A list of one or more strings separated by commas indicating a set of source sizes. Each source size consists of:\n\n1. a media condition. This must be omitted for the last item.\n2. a source size value.\n\nSource size values specify the intended display size of the image. User agents use the current source size to select one of the sources supplied by the `srcset` attribute, when those sources are described using width ('`w`') descriptors. The selected source size affects the intrinsic size of the image (the image’s display size if no CSS styling is applied). If the `srcset` attribute is absent, or contains no values with a width (`w`) descriptor, then the `sizes` attribute has no effect."}},{name:"importance",description:"Indicates the relative importance of the resource. Priority hints are delegated using the values:"},{name:"importance",description:"`auto`: Indicates **no preference**. The browser may use its own heuristics to decide the priority of the image.\n\n`high`: Indicates to the browser that the image is of **high** priority.\n\n`low`: Indicates to the browser that the image is of **low** priority."},{name:"intrinsicsize",description:"This attribute tells the browser to ignore the actual intrinsic size of the image and pretend it’s the size specified in the attribute. Specifically, the image would raster at these dimensions and `naturalWidth`/`naturalHeight` on images would return the values specified in this attribute. [Explainer](https://github.com/ojanvafai/intrinsicsize-attribute), [examples](https://googlechrome.github.io/samples/intrinsic-size/index.html)"}],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/img"}]},{name:"iframe",description:{kind:"markdown",value:"The iframe element represents a nested browsing context."},attributes:[{name:"src",description:{kind:"markdown",value:'The URL of the page to embed. Use a value of `about:blank` to embed an empty page that conforms to the [same-origin policy](https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy#Inherited_origins). Also note that programatically removing an `<iframe>`\'s src attribute (e.g. via [`Element.removeAttribute()`](https://developer.mozilla.org/en-US/docs/Web/API/Element/removeAttribute "The Element method removeAttribute() removes the attribute with the specified name from the element.")) causes `about:blank` to be loaded in the frame in Firefox (from version 65), Chromium-based browsers, and Safari/iOS.'}},{name:"srcdoc",description:{kind:"markdown",value:"Inline HTML to embed, overriding the `src` attribute. If a browser does not support the `srcdoc` attribute, it will fall back to the URL in the `src` attribute."}},{name:"name",description:{kind:"markdown",value:'A targetable name for the embedded browsing context. This can be used in the `target` attribute of the [`<a>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a "The HTML <a> element (or anchor element) creates a hyperlink to other web pages, files, locations within the same page, email addresses, or any other URL."), [`<form>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form "The HTML <form> element represents a document section that contains interactive controls for submitting information to a web server."), or [`<base>`](https://developer.mozilla.org/en-US/doc
Line truncated
|
||||
|
||||
\`auto\` (default)
|
||||
|
||||
No preference. The browser uses its own heuristics to decide the priority of the resource.
|
||||
|
||||
\`high\`
|
||||
|
||||
The resource should be downloaded before other lower-priority page resources.
|
||||
|
||||
\`low\`
|
||||
|
||||
The resource should be downloaded after other higher-priority page resources.`},{name:"referrerpolicy",description:'Indicates which [referrer](https://developer.mozilla.org/en-US/docs/Web/API/Document/referrer) to send when fetching the frame\'s resource:\n\n* `no-referrer`: The [`Referer`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referer "The Referer request header contains the address of the previous web page from which a link to the currently requested page was followed. The Referer header allows servers to identify where people are visiting them from and may use that data for analytics, logging, or optimized caching, for example.") header will not be sent.\n* `no-referrer-when-downgrade` (default): The [`Referer`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referer "The Referer request header contains the address of the previous web page from which a link to the currently requested page was followed. The Referer header allows servers to identify where people are visiting them from and may use that data for analytics, logging, or optimized caching, for example.") header will not be sent to [origin](https://developer.mozilla.org/en-US/docs/Glossary/origin "origin: Web content\'s origin is defined by the scheme (protocol), host (domain), and port of the URL used to access it. Two objects have the same origin only when the scheme, host, and port all match.")s without [TLS](https://developer.mozilla.org/en-US/docs/Glossary/TLS "TLS: Transport Layer Security (TLS), previously known as Secure Sockets Layer (SSL), is a protocol used by applications to communicate securely across a network, preventing tampering with and eavesdropping on email, web browsing, messaging, and other protocols.") ([HTTPS](https://developer.mozilla.org/en-US/docs/Glossary/HTTPS "HTTPS: HTTPS (HTTP Secure) is an encrypted version of the HTTP protocol. It usually uses SSL or TLS to encrypt all communication between a client and a server. This secure connection allows clients to safely exchange sensitive data with a server, for example for banking activities or online shopping.")).\n* `origin`: The sent referrer will be limited to the origin of the referring page: its [scheme](https://developer.mozilla.org/en-US/docs/Archive/Mozilla/URIScheme), [host](https://developer.mozilla.org/en-US/docs/Glossary/host "host: A host is a device connected to the Internet (or a local network). Some hosts called servers offer additional services like serving webpages or storing files and emails."), and [port](https://developer.mozilla.org/en-US/docs/Glossary/port "port: For a computer connected to a network with an IP address, a port is a communication endpoint. Ports are designated by numbers, and below 1024 each port is associated by default with a specific protocol.").\n* `origin-when-cross-origin`: The referrer sent to other origins will be limited to the scheme, the host, and the port. Navigations on the same origin will still include the path.\n* `same-origin`: A referrer will be sent for [same origin](https://developer.mozilla.org/en-US/docs/Glossary/Same-origin_policy "same origin: The same-origin policy is a critical security mechanism that restricts how a document or script loaded from one origin can interact with a resource from another origin."), but cross-origin requests will contain no referrer information.\n* `strict-origin`: Only send the origin of the document as the referrer when the protocol security level stays the same (HTTPS→HTTPS), but don\'t send it to a less secure destination (HTTPS→HTTP).\n* `strict-origin-when-cross-origin`: Send a full URL when performing a same-origin request, only send the origin when the protocol security level stays the same (HTTPS→HTTPS), and send no header to a less secure destination (HTTPS→HTTP).\n* `unsafe-url`: The referrer will include the origin _and_ the path (but not the [fragment](https://developer.mozilla.org/en-US/docs/Web/API/HTMLHyperlinkElementUtils/hash), [password](https://developer.mozilla.org/en-US/docs/Web/API/HTMLHyperlinkElementUtils/password), or [username](https://developer.mozilla.org/en-US/docs/Web/API/HTMLHyperlinkElementUtils/username)). **This value is unsafe**, because it leaks origins and paths from TLS-protected resources to insecure origins.'}],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/iframe"}]},{name:"embed",description:{kind:"markdown",value:"The embed element provides an integration point for an external (typically non-HTML) application or interactive content."},void:!0,attributes:[{name:"src",description:{kind:"markdown",value:"The URL of the resource being embedded."}},{name:"type",description:{kind:"markdown",value:"The MIME type to use to select the plug-in to instantiate."}},{name:"width",description:{kind:"markdown",value:"The displayed width of the resource, in [CSS pixels](https://drafts.csswg.org/css-values/#px). This must be an absolute value; percentage
Line truncated
|
||||
|
||||
* data: Default value. The value is passed to the object's implementation as a string.
|
||||
* ref: The value is a URI to a resource where run-time values are stored.
|
||||
* object: An ID of another [\`<object>\`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/object "The HTML <object> element represents an external resource, which can be treated as an image, a nested browsing context, or a resource to be handled by a plugin.") in the same document.`}],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/param"}]},{name:"video",description:{kind:"markdown",value:"A video element is used for playing videos or movies, and audio files with captions."},attributes:[{name:"src"},{name:"crossorigin",valueSet:"xo"},{name:"poster"},{name:"preload",valueSet:"pl"},{name:"autoplay",valueSet:"v",description:{kind:"markdown",value:'A Boolean attribute; if specified, the video automatically begins to play back as soon as it can do so without stopping to finish loading the data.\n**Note**: Sites that automatically play audio (or video with an audio track) can be an unpleasant experience for users, so it should be avoided when possible. If you must offer autoplay functionality, you should make it opt-in (requiring a user to specifically enable it). However, this can be useful when creating media elements whose source will be set at a later time, under user control.\n\nTo disable video autoplay, `autoplay="false"` will not work; the video will autoplay if the attribute is there in the `<video>` tag at all. To remove autoplay the attribute needs to be removed altogether.\n\nIn some browsers (e.g. Chrome 70.0) autoplay is not working if no `muted` attribute is present.'}},{name:"mediagroup"},{name:"loop",valueSet:"v"},{name:"muted",valueSet:"v"},{name:"controls",valueSet:"v"},{name:"width"},{name:"height"}],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/video"}]},{name:"audio",description:{kind:"markdown",value:"An audio element represents a sound or audio stream."},attributes:[{name:"src",description:{kind:"markdown",value:'The URL of the audio to embed. This is subject to [HTTP access controls](https://developer.mozilla.org/en-US/docs/HTTP_access_control). This is optional; you may instead use the [`<source>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/source "The HTML <source> element specifies multiple media resources for the <picture>, the <audio> element, or the <video> element.") element within the audio block to specify the audio to embed.'}},{name:"crossorigin",valueSet:"xo",description:{kind:"markdown",value:'This enumerated attribute indicates whether to use CORS to fetch the related image. [CORS-enabled resources](https://developer.mozilla.org/en-US/docs/CORS_Enabled_Image) can be reused in the [`<canvas>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/canvas "Use the HTML <canvas> element with either the canvas scripting API or the WebGL API to draw graphics and animations.") element without being _tainted_. The allowed values are:\n\nanonymous\n\nSends a cross-origin request without a credential. In other words, it sends the `Origin:` HTTP header without a cookie, X.509 certificate, or performing HTTP Basic authentication. If the server does not give credentials to the origin site (by not setting the `Access-Control-Allow-Origin:` HTTP header), the image will be _tainted_, and its usage restricted.\n\nuse-credentials\n\nSends a cross-origin request with a credential. In other words, it sends the `Origin:` HTTP header with a cookie, a certificate, or performing HTTP Basic authentication. If the server does not give credentials to the origin site (through `Access-Control-Allow-Credentials:` HTTP header), the image will be _tainted_ and its usage restricted.\n\nWhen not present, the resource is fetched without a CORS request (i.e. without sending the `Origin:` HTTP header), preventing its non-tainted used in [`<canvas>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/canvas "Use the HTML <canvas> element with either the canvas scripting API or the WebGL API to draw graphics and animations.") elements. If invalid, it is handled as if the enumerated keyword **anonymous** was used. See [CORS settings attributes](https://developer.mozilla.org/en-US/docs/HTML/CORS_settings_attributes) for additional information.'}},{name:"preload",valueSet:"pl",description:{kind:"markdown",value:"This enumerated attribute is intended to provide a hint to the browser about what the author thinks will lead to the best user experience. It may have one of the following values:\n\n* `none`: Indicates that the audio should not be preloaded.\n* `metadata`: Indicates that only audio metadata (e.g. length) is fetched.\n* `auto`: Indicates that the whole audio file can be downloaded, even if the user is not expected to use it.\n* _empty string_: A synonym of the `auto` value.\n\nIf not set, `preload`'s default value is browser-defined (i.e. each browser may have its own default value). The spec advises it to be set to `metadata`.\n\n**Usage notes:**\n\n* The `autoplay` attriLine truncated
|
||||
|
||||
**Note**: Sites that automatically play audio (or videos with an audio track) can be an unpleasant experience for users, so should be avoided when possible. If you must offer autoplay functionality, you should make it opt-in (requiring a user to specifically enable it). However, this can be useful when creating media elements whose source will be set at a later time, under user control.`}},{name:"mediagroup"},{name:"loop",valueSet:"v",description:{kind:"markdown",value:"A Boolean attribute: if specified, the audio player will automatically seek back to the start upon reaching the end of the audio."}},{name:"muted",valueSet:"v",description:{kind:"markdown",value:"A Boolean attribute that indicates whether the audio will be initially silenced. Its default value is `false`."}},{name:"controls",valueSet:"v",description:{kind:"markdown",value:"If this attribute is present, the browser will offer controls to allow the user to control audio playback, including volume, seeking, and pause/resume playback."}}],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/audio"}]},{name:"source",description:{kind:"markdown",value:"The source element allows authors to specify multiple alternative media resources for media elements. It does not represent anything on its own."},void:!0,attributes:[{name:"src",description:{kind:"markdown",value:'Required for [`<audio>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/audio "The HTML <audio> element is used to embed sound content in documents. It may contain one or more audio sources, represented using the src attribute or the <source> element: the browser will choose the most suitable one. It can also be the destination for streamed media, using a MediaStream.") and [`<video>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/video "The HTML Video element (<video>) embeds a media player which supports video playback into the document."), address of the media resource. The value of this attribute is ignored when the `<source>` element is placed inside a [`<picture>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/picture "The HTML <picture> element contains zero or more <source> elements and one <img> element to provide versions of an image for different display/device scenarios.") element.'}},{name:"type",description:{kind:"markdown",value:"The MIME-type of the resource, optionally with a `codecs` parameter. See [RFC 4281](https://tools.ietf.org/html/rfc4281) for information about how to specify codecs."}},{name:"sizes",description:'Is a list of source sizes that describes the final rendered width of the image represented by the source. Each source size consists of a comma-separated list of media condition-length pairs. This information is used by the browser to determine, before laying the page out, which image defined in [`srcset`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/source#attr-srcset) to use. \nThe `sizes` attribute has an effect only when the [`<source>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/source "The HTML <source> element specifies multiple media resources for the <picture>, the <audio> element, or the <video> element.") element is the direct child of a [`<picture>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/picture "The HTML <picture> element contains zero or more <source> elements and one <img> element to provide versions of an image for different display/device scenarios.") element.'},{name:"srcset",description:"A list of one or more strings separated by commas indicating a set of possible images represented by the source for the browser to use. Each string is composed of:\n\n1. one URL to an image,\n2. a width descriptor, that is a positive integer directly followed by `'w'`. The default value, if missing, is the infinity.\n3. a pixel density descriptor, that is a positive floating number directly followed by `'x'`. The default value, if missing, is `1x`.\n\nEach string in the list must have at least a width descriptor or a pixel density descriptor to be valid. Among the list, there must be only one string containing the same tuple of width descriptor and pixel density descriptor. \nThe browser chooses the most adequate image to display at a given point of time. \nThe `srcset` attribute has an effect only when the [`<source>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/source \"The HTML <source> element specifies multiple media resources for the <picture>, the <audio> element, or the <video> element.\") element is the direct child of a [`<picture>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/picture \"The HTML <picture> element contains zero or more <source> elements and one <img> element to provide versions of an image for different display/device scenarios.\") element."},{name:"media",description:'[Media query](https://developer.mozilla.org/en-US/docs/CSS/Media_queries) of the resource\'s intended med
Line truncated
|
||||
|
||||
\`left\`
|
||||
|
||||
The caption is displayed to the left of the table.
|
||||
|
||||
\`top\`
|
||||
|
||||
The caption is displayed above the table.
|
||||
|
||||
\`right\`
|
||||
|
||||
The caption is displayed to the right of the table.
|
||||
|
||||
\`bottom\`
|
||||
|
||||
The caption is displayed below the table.
|
||||
|
||||
**Usage note:** Do not use this attribute, as it has been deprecated. The [\`<caption>\`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/caption "The HTML Table Caption element (<caption>) specifies the caption (or title) of a table, and if used is always the first child of a <table>.") element should be styled using the [CSS](https://developer.mozilla.org/en-US/docs/CSS) properties [\`caption-side\`](https://developer.mozilla.org/en-US/docs/Web/CSS/caption-side "The caption-side CSS property puts the content of a table's <caption> on the specified side. The values are relative to the writing-mode of the table.") and [\`text-align\`](https://developer.mozilla.org/en-US/docs/Web/CSS/text-align "The text-align CSS property sets the horizontal alignment of an inline or table-cell box. This means it works like vertical-align but in the horizontal direction.").`}],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/caption"}]},{name:"colgroup",description:{kind:"markdown",value:"The colgroup element represents a group of one or more columns in the table that is its parent, if it has a parent and that is a table element."},attributes:[{name:"span"},{name:"align",description:'This enumerated attribute specifies how horizontal alignment of each column cell content will be handled. Possible values are:\n\n* `left`, aligning the content to the left of the cell\n* `center`, centering the content in the cell\n* `right`, aligning the content to the right of the cell\n* `justify`, inserting spaces into the textual content so that the content is justified in the cell\n* `char`, aligning the textual content on a special character with a minimal offset, defined by the [`char`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/col#attr-char) and [`charoff`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/col#attr-charoff) attributes Unimplemented (see [bug 2212](https://bugzilla.mozilla.org/show_bug.cgi?id=2212 "character alignment not implemented (align=char, charoff=, text-align:<string>)")).\n\nIf this attribute is not set, the `left` value is assumed. The descendant [`<col>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/col "The HTML <col> element defines a column within a table and is used for defining common semantics on all common cells. It is generally found within a <colgroup> element.") elements may override this value using their own [`align`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/col#attr-align) attribute.\n\n**Note:** Do not use this attribute as it is obsolete (not supported) in the latest standard.\n\n* To achieve the same effect as the `left`, `center`, `right` or `justify` values:\n * Do not try to set the [`text-align`](https://developer.mozilla.org/en-US/docs/Web/CSS/text-align "The text-align CSS property sets the horizontal alignment of an inline or table-cell box. This means it works like vertical-align but in the horizontal direction.") property on a selector giving a [`<colgroup>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/colgroup "The HTML <colgroup> element defines a group of columns within a table.") element. Because [`<td>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/td "The HTML <td> element defines a cell of a table that contains data. It participates in the table model.") elements are not descendant of the [`<colgroup>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/colgroup "The HTML <colgroup> element defines a group of columns within a table.") element, they won\'t inherit it.\n * If the table doesn\'t use a [`colspan`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/td#attr-colspan) attribute, use one `td:nth-child(an+b)` CSS selector per column, where a is the total number of the columns in the table and b is the ordinal position of this column in the table. Only after this selector the [`text-align`](https://developer.mozilla.org/en-US/docs/Web/CSS/text-align "The text-align CSS property sets the horizontal alignment of an inline or table-cell box. This means it works like vertical-align but in the horizontal direction.") property can be used.\n * If the table does use a [`colspan`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/td#attr-colspan) attribute, the effect can be achieved by combining adequate CSS attribute selectors like `[colspan=n]`, though this is not trivial.\n* To achieve the same effect as the `char` value, in CSS3, you can use the value of the [`char`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/colgroup#attr-char) as the value of the [`text-align`](https://developer.mozilla.org/en-US/docs/Web/CSS/text-align "The text-align CSS property sets the horizontal alignment of an inline or table-cell box. This means it works like vertical-align but in the horizontal direction.") property Unimplemented.'}],references:[{name:"MDN Reference",url:"https://developer.mozilla.o
Line truncated
|
||||
|
||||
**Note:** Do not use this attribute as it is obsolete in the latest standard. Alternatively, you can put the abbreviated description inside the cell and place the long content in the **title** attribute.`},{name:"align",description:'This enumerated attribute specifies how the cell content\'s horizontal alignment will be handled. Possible values are:\n\n* `left`: The content is aligned to the left of the cell.\n* `center`: The content is centered in the cell.\n* `right`: The content is aligned to the right of the cell.\n* `justify` (with text only): The content is stretched out inside the cell so that it covers its entire width.\n* `char` (with text only): The content is aligned to a character inside the `<th>` element with minimal offset. This character is defined by the [`char`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/td#attr-char) and [`charoff`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/td#attr-charoff) attributes Unimplemented (see [bug 2212](https://bugzilla.mozilla.org/show_bug.cgi?id=2212 "character alignment not implemented (align=char, charoff=, text-align:<string>)")).\n\nThe default value when this attribute is not specified is `left`.\n\n**Note:** Do not use this attribute as it is obsolete in the latest standard.\n\n* To achieve the same effect as the `left`, `center`, `right` or `justify` values, apply the CSS [`text-align`](https://developer.mozilla.org/en-US/docs/Web/CSS/text-align "The text-align CSS property sets the horizontal alignment of an inline or table-cell box. This means it works like vertical-align but in the horizontal direction.") property to the element.\n* To achieve the same effect as the `char` value, give the [`text-align`](https://developer.mozilla.org/en-US/docs/Web/CSS/text-align "The text-align CSS property sets the horizontal alignment of an inline or table-cell box. This means it works like vertical-align but in the horizontal direction.") property the same value you would use for the [`char`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/td#attr-char). Unimplemented in CSS3.'},{name:"axis",description:"This attribute contains a list of space-separated strings. Each string is the `id` of a group of cells that this header applies to.\n\n**Note:** Do not use this attribute as it is obsolete in the latest standard."},{name:"bgcolor",description:`This attribute defines the background color of each cell in a column. It consists of a 6-digit hexadecimal code as defined in [sRGB](https://www.w3.org/Graphics/Color/sRGB) and is prefixed by '#'. This attribute may be used with one of sixteen predefined color strings:
|
||||
|
||||
|
||||
|
||||
\`black\` = "#000000"
|
||||
|
||||
|
||||
|
||||
\`green\` = "#008000"
|
||||
|
||||
|
||||
|
||||
\`silver\` = "#C0C0C0"
|
||||
|
||||
|
||||
|
||||
\`lime\` = "#00FF00"
|
||||
|
||||
|
||||
|
||||
\`gray\` = "#808080"
|
||||
|
||||
|
||||
|
||||
\`olive\` = "#808000"
|
||||
|
||||
|
||||
|
||||
\`white\` = "#FFFFFF"
|
||||
|
||||
|
||||
|
||||
\`yellow\` = "#FFFF00"
|
||||
|
||||
|
||||
|
||||
\`maroon\` = "#800000"
|
||||
|
||||
|
||||
|
||||
\`navy\` = "#000080"
|
||||
|
||||
|
||||
|
||||
\`red\` = "#FF0000"
|
||||
|
||||
|
||||
|
||||
\`blue\` = "#0000FF"
|
||||
|
||||
|
||||
|
||||
\`purple\` = "#800080"
|
||||
|
||||
|
||||
|
||||
\`teal\` = "#008080"
|
||||
|
||||
|
||||
|
||||
\`fuchsia\` = "#FF00FF"
|
||||
|
||||
|
||||
|
||||
\`aqua\` = "#00FFFF"
|
||||
|
||||
**Note:** Do not use this attribute, as it is non-standard and only implemented in some versions of Microsoft Internet Explorer: The [\`<td>\`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/td "The HTML <td> element defines a cell of a table that contains data. It participates in the table model.") element should be styled using [CSS](https://developer.mozilla.org/en-US/docs/CSS). To create a similar effect use the [\`background-color\`](https://developer.mozilla.org/en-US/docs/Web/CSS/background-color "The background-color CSS property sets the background color of an element.") property in [CSS](https://developer.mozilla.org/en-US/docs/CSS) instead.`}],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/td"}]},{name:"th",description:{kind:"markdown",value:"The th element represents a header cell in a table."},attributes:[{name:"colspan"},{name:"rowspan"},{name:"headers"},{name:"scope",valueSet:"s"},{name:"sorted"},{name:"abbr",description:{kind:"markdown",value:"This attribute contains a short abbreviated description of the cell's content. Some user-agents, such as speech readers, may present this description before the content itself."}},{name:"align",description:'This enumerated attribute specifies how the cell content\'s horizontal alignment will be handled. Possible values are:\n\n* `left`: The content is aligned to the left of the cell.\n* `center`: The content is centered in the cell.\n* `right`: The content is aligned to the right of the cell.\n* `justify` (with text only): The content is stretched out inside the cell so that it covers its entire width.\n* `char` (with text only): The content is aligned to a character inside the `<th>` element with minimal offset. This character is defined by the [`char`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/th#attr-char) and [`charoff`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/th#attr-charoff) attributes.\n\nThe default value when this attribute is not specified is `left`.\n\n**Note:** Do not use this attribute as it is obsolete in the latest standard.\n\n* To achieve the same effect as the `left`, `center`, `right` or `justify` values, apply the CSS [`text-align`](https://developer.mozilla.org/en-US/docs/Web/CSS/text-align "The text-align CSS property sets the horizontal alignment of an inline or table-cell box. This means it works like vertical-align but in the horizontal direction.") property to the element.\n* To achieve the same effect as the `char` value, give the [`text-align`](https://developer.mozilla.org/en-US/docs/Web/CSS/text-align "The text-align CSS property sets the horizontal alignment of an inline or table-cell box. This means it works like vertical-align but in the horizontal direction.") property the same value you would use for the [`char`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/th#attr-char). Unimplemented in CSS3.'},{name:"axis",description:"This attribute contains a list of space-separated strings. Each string is the `id` of a group of cells that this header applies to.\n\n**Note:** Do not use this attribute as it is obsolete in the latest standard: use the [`scope`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/th#attr-scope) attribute instead."},{name:"bgcolor",description:`This attribute defines the background color of each cell in a column. It consists of a 6-digit hexadecimal code as defined in [sRGB](https://www.w3.org/Graphics/Color/sRGB) and is prefixed by '#'. This attribute may be used with one of sixteen predefined color strings:
|
||||
|
||||
|
||||
|
||||
\`black\` = "#000000"
|
||||
|
||||
|
||||
|
||||
\`green\` = "#008000"
|
||||
|
||||
|
||||
|
||||
\`silver\` = "#C0C0C0"
|
||||
|
||||
|
||||
|
||||
\`lime\` = "#00FF00"
|
||||
|
||||
|
||||
|
||||
\`gray\` = "#808080"
|
||||
|
||||
|
||||
|
||||
\`olive\` = "#808000"
|
||||
|
||||
|
||||
|
||||
\`white\` = "#FFFFFF"
|
||||
|
||||
|
||||
|
||||
\`yellow\` = "#FFFF00"
|
||||
|
||||
|
||||
|
||||
\`maroon\` = "#800000"
|
||||
|
||||
|
||||
|
||||
\`navy\` = "#000080"
|
||||
|
||||
|
||||
|
||||
\`red\` = "#FF0000"
|
||||
|
||||
|
||||
|
||||
\`blue\` = "#0000FF"
|
||||
|
||||
|
||||
|
||||
\`purple\` = "#800080"
|
||||
|
||||
|
||||
|
||||
\`teal\` = "#008080"
|
||||
|
||||
|
||||
|
||||
\`fuchsia\` = "#FF00FF"
|
||||
|
||||
|
||||
|
||||
\`aqua\` = "#00FFFF"
|
||||
|
||||
**Note:** Do not use this attribute, as it is non-standard and only implemented in some versions of Microsoft Internet Explorer: The [\`<th>\`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/th "The HTML <th> element defines a cell as header of a group of table cells. The exact nature of this group is defined by the scope and headers attributes.") element should be styled using [CSS](https://developer.mozilla.org/en-US/docs/Web/CSS). To create a similar effect use the [\`background-color\`](https://developer.mozilla.org/en-US/docs/Web/CSS/background-color "The background-color CSS property sets the background color of an element.") property in [CSS](https://developer.mozilla.org/en-US/docs/Web/CSS) instead.`}],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/th"}]},{name:"form",description:{kind:"markdown",value:"The form element represents a collection of form-associated elements, some of which can represent editable values that can be submitted to a server for processing."},attributes:[{name:"accept-charset",description:{kind:"markdown",value:'A space- or comma-delimited list of character encodings that the server accepts. The browser uses them in the order in which they are listed. The default value, the reserved string `"UNKNOWN"`, indicates the same encoding as that of the document containing the form element. \nIn previous versions of HTML, the different character encodings could be delimited by spaces or commas. In HTML5, only spaces are allowed as delimiters.'}},{name:"action",description:{kind:"markdown",value:'The URI of a program that processes the form information. This value can be overridden by a [`formaction`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#attr-formaction) attribute on a [`<button>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button "The HTML <button> element represents a clickable button, which can be used in forms or anywhere in a document that needs simple, standard button functionality.") or [`<input>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input "The HTML <input> element is used to create interactive controls for web-based forms in order to accept data from the user; a wide variety of types of input data and control widgets are available, depending on the device and user agent.") element.'}},{name:"autocomplete",valueSet:"o",description:{kind:"markdown",value:"Indicates whether input elements can by default have their values automatically completed by the browser. This setting can be overridden by an `autocomplete` attribute on an element belonging to the form. Possible values are:\n\n* `off`: The user must explicitly enter a value into each field for every use, or the document provides its own auto-completion method; the browser does not automatically complete entries.\n* `on`: The browser can automatically complete values based on values that the user has previously entered in the form.\n\nFor most modern browsers (including Firefox 38+, Google Chrome 34+, IE 11+) setting the autocomplete attribute will not prevent a browser's password manager from asking the user if they want to store login fields (username and password), if the user permits the storage the browser will autofill the login the next time the user visits the page. See [The autocomplete attribute and login fields](https://developer.mozilla.org/en-US/docs/Web/Security/Securing_your_site/Turning_off_form_autocompletion#The_autocomplete_attribute_and_login_fields).\n**Note:** If you set `autocomplete` to `off` in a form because the document provides its own auto-completion, then you should also set `autocomplete` to `off` for each of the form's `input` elements that the document can auto-complete. For details, see the note regarding Google Chrome in the [Browser Compatibility chart](#compatChart)."}},{name:"enctype",valueSet:"et",description:{kind:"markdown",value:'When the value of the `method` attribute is `post`, enctype is the [MIME type](https://en.wikipedia.org/wiki/Mime_type) of content that is used to submit the form to the server. Possible values are:\n\n* `application/x-www-form-urlencoded`: The default value if the attribute is not specified.\n* `multipart/form-data`: The value used for an [`<input>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input "The HTML <input> element is used to create interactive controls for web-based forms in order to accept data from the user; a wide variety of types of input data and control widgets are available, depending on the device and user agent.") element with the `type` attribute set to "file".\n* `text/plain`: (HTML5)\n\nThis value can be overridden by a [`formenctype`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#attr-formenctype) attribute on a [`<button>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button "The HTML <button> element represents a clickable button, which can be used in forms or
Line truncated
|
||||
|
||||
This attribute must not be used if the \`src\` attribute is absent (i.e. for inline scripts). If it is included in this case it will have no effect.
|
||||
|
||||
Browsers usually assume the worst case scenario and load scripts synchronously, (i.e. \`async="false"\`) during HTML parsing.
|
||||
|
||||
Dynamically inserted scripts (using [\`document.createElement()\`](https://developer.mozilla.org/en-US/docs/Web/API/Document/createElement "In an HTML document, the document.createElement() method creates the HTML element specified by tagName, or an HTMLUnknownElement if tagName isn't recognized.")) load asynchronously by default, so to turn on synchronous loading (i.e. scripts load in the order they were inserted) set \`async="false"\`.
|
||||
|
||||
See [Browser compatibility](#Browser_compatibility) for notes on browser support. See also [Async scripts for asm.js](https://developer.mozilla.org/en-US/docs/Games/Techniques/Async_scripts).`}},{name:"defer",valueSet:"v",description:{kind:"markdown",value:'This Boolean attribute is set to indicate to a browser that the script is meant to be executed after the document has been parsed, but before firing [`DOMContentLoaded`](https://developer.mozilla.org/en-US/docs/Web/Events/DOMContentLoaded "/en-US/docs/Web/Events/DOMContentLoaded").\n\nScripts with the `defer` attribute will prevent the `DOMContentLoaded` event from firing until the script has loaded and finished evaluating.\n\nThis attribute must not be used if the `src` attribute is absent (i.e. for inline scripts), in this case it would have no effect.\n\nTo achieve a similar effect for dynamically inserted scripts use `async="false"` instead. Scripts with the `defer` attribute will execute in the order in which they appear in the document.'}},{name:"crossorigin",valueSet:"xo",description:{kind:"markdown",value:'Normal `script` elements pass minimal information to the [`window.onerror`](https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/onerror "The onerror property of the GlobalEventHandlers mixin is an EventHandler that processes error events.") for scripts which do not pass the standard [CORS](https://developer.mozilla.org/en-US/docs/Glossary/CORS "CORS: CORS (Cross-Origin Resource Sharing) is a system, consisting of transmitting HTTP headers, that determines whether browsers block frontend JavaScript code from accessing responses for cross-origin requests.") checks. To allow error logging for sites which use a separate domain for static media, use this attribute. See [CORS settings attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_settings_attributes) for a more descriptive explanation of its valid arguments.'}},{name:"nonce",description:{kind:"markdown",value:"A cryptographic nonce (number used once) to list the allowed inline scripts in a [script-src Content-Security-Policy](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/script-src). The server must generate a unique nonce value each time it transmits a policy. It is critical to provide a nonce that cannot be guessed as bypassing a resource's policy is otherwise trivial."}},{name:"integrity",description:"This attribute contains inline metadata that a user agent can use to verify that a fetched resource has been delivered free of unexpected manipulation. See [Subresource Integrity](https://developer.mozilla.org/en-US/docs/Web/Security/Subresource_Integrity)."},{name:"nomodule",description:"This Boolean attribute is set to indicate that the script should not be executed in browsers that support [ES2015 modules](https://hacks.mozilla.org/2015/08/es6-in-depth-modules/) — in effect, this can be used to serve fallback scripts to older browsers that do not support modular JavaScript code."},{name:"referrerpolicy",description:'Indicates which [referrer](https://developer.mozilla.org/en-US/docs/Web/API/Document/referrer) to send when fetching the script, or resources fetched by the script:\n\n* `no-referrer`: The [`Referer`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referer "The Referer request header contains the address of the previous web page from which a link to the currently requested page was followed. The Referer header allows servers to identify where people are visiting them from and may use that data for analytics, logging, or optimized caching, for example.") header will not be sent.\n* `no-referrer-when-downgrade` (default): The [`Referer`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referer "The Referer request header contains the address of the previous web page from which a link to the currently requested page was followed. The Referer header allows servers to identify where people are visiting them from and may use that data for analytics, logging, or optimized caching, for example.") header will not be sent to [origin](https://developer.mozilla.org/en-US/docs/Glossary/origin "origin: Web content\'s origin is defined by the scheme (protocol), host (domain), and port of the URL used to access it. Two objects have the same origin only when the scheme, host, and port all match.")s without [TLS](https://developer.mozilla.org/en-US/docs/Glossary/TLS "TLS: Transport Layer Security (TLS), previously known as Secure Sockets Layer (SSL), is a protocol used by applications to communicate securely across a network, preventing tampering with and eavesdropping on email, web browsing, messaging, and other protocols.") ([HTTPS](https://developer.mozilla.org/en-US/docs/Glossary/HTTPS "HTTPS: HTTPS (HTTP Secure) is an encrypted version of the HTTP protocol. It usually uses SSL or TLS to encrypt all communication between a client and a server. This secure connection allows clients to safely exchange s
Line truncated
|
||||
|
||||
* a _negative value_ means that the element should be focusable, but should not be reachable via sequential keyboard navigation;
|
||||
* \`0\` means that the element should be focusable and reachable via sequential keyboard navigation, but its relative order is defined by the platform convention;
|
||||
* a _positive value_ means that the element should be focusable and reachable via sequential keyboard navigation; the order in which the elements are focused is the increasing value of the [**tabindex**](#attr-tabindex). If several elements share the same tabindex, their relative order follows their relative positions in the document.`},references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Global_attributes/tabindex"}]},{name:"title",description:{kind:"markdown",value:"Contains a text representing advisory information related to the element it belongs to. Such information can typically, but not necessarily, be presented to the user as a tooltip."},references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Global_attributes/title"}]},{name:"translate",description:{kind:"markdown",value:"An enumerated attribute that is used to specify whether an element's attribute values and the values of its [`Text`](https://developer.mozilla.org/docs/Web/API/Text \"The Text interface represents the textual content of Element or Attr. If an element has no markup within its content, it has a single child implementing Text that contains the element's text. However, if the element contains markup, it is parsed into information items and Text nodes that form its children.\") node children are to be translated when the page is localized, or whether to leave them unchanged. It can have the following values:\n\n* empty string and `yes`, which indicates that the element will be translated.\n* `no`, which indicates that the element will not be translated."},valueSet:"y",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Global_attributes/translate"}]},{name:"onabort",description:{kind:"markdown",value:"The loading of a resource has been aborted."}},{name:"onblur",description:{kind:"markdown",value:"An element has lost focus (does not bubble)."}},{name:"oncanplay",description:{kind:"markdown",value:"The user agent can play the media, but estimates that not enough data has been loaded to play the media up to its end without having to stop for further buffering of content."}},{name:"oncanplaythrough",description:{kind:"markdown",value:"The user agent can play the media up to its end without having to stop for further buffering of content."}},{name:"onchange",description:{kind:"markdown",value:"The change event is fired for <input>, <select>, and <textarea> elements when a change to the element's value is committed by the user."}},{name:"onclick",description:{kind:"markdown",value:"A pointing device button has been pressed and released on an element."}},{name:"oncontextmenu",description:{kind:"markdown",value:"The right button of the mouse is clicked (before the context menu is displayed)."}},{name:"ondblclick",description:{kind:"markdown",value:"A pointing device button is clicked twice on an element."}},{name:"ondrag",description:{kind:"markdown",value:"An element or text selection is being dragged (every 350ms)."}},{name:"ondragend",description:{kind:"markdown",value:"A drag operation is being ended (by releasing a mouse button or hitting the escape key)."}},{name:"ondragenter",description:{kind:"markdown",value:"A dragged element or text selection enters a valid drop target."}},{name:"ondragleave",description:{kind:"markdown",value:"A dragged element or text selection leaves a valid drop target."}},{name:"ondragover",description:{kind:"markdown",value:"An element or text selection is being dragged over a valid drop target (every 350ms)."}},{name:"ondragstart",description:{kind:"markdown",value:"The user starts dragging an element or text selection."}},{name:"ondrop",description:{kind:"markdown",value:"An element is dropped on a valid drop target."}},{name:"ondurationchange",description:{kind:"markdown",value:"The duration attribute has been updated."}},{name:"onemptied",description:{kind:"markdown",value:"The media has become empty; for example, this event is sent if the media has already been loaded (or partially loaded), and the load() method is called to reload it."}},{name:"onended",description:{kind:"markdown",value:"Playback has stopped because the end of the media was reached."}},{name:"onerror",description:{kind:"markdown",value:"A resource failed to load."}},{name:"onfocus",description:{kind:"markdown",value:"An element has received focus (does not bubble)."}},{name:"onformchange"},{name:"onforminput"},{name:"oninput",description:{kind:"markdown",value:"The value of an element changes or the content of an element with the attribute contenteditable is modified."}},{name:"oninvalid",description:{kind:"markdown",value:"A submittable element has been checked and doesn't satisfy its constraints."}},{name:"onkeydown",description:{kind:"markdown",value:"A key is pressed down."}},{name:"onkeypress",description:{kind:"markdown",value:"A key is pressed down and that key normally produces a character value (use input instead)."}},{name:"onkeyup
Line truncated
|
||||
@@ -0,0 +1,58 @@
|
||||
(function(){"use strict";var he,J;class $o{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout(()=>{throw e.stack?ft.isErrorNoTelemetry(e)?new ft(e.message+`
|
||||
|
||||
`+e.stack):new Error(e.message+`
|
||||
|
||||
`+e.stack):e},0)}}emit(e){this.listeners.forEach(n=>{n(e)})}onUnexpectedError(e){this.unexpectedErrorHandler(e),this.emit(e)}onUnexpectedExternalError(e){this.unexpectedErrorHandler(e)}}const Bo=new $o;function ln(t){Uo(t)||Bo.onUnexpectedError(t)}function Wn(t){if(t instanceof Error){const{name:e,message:n,cause:r}=t,i=t.stacktrace||t.stack;return{$isError:!0,name:e,message:n,stack:i,noTelemetry:ft.isErrorNoTelemetry(t),cause:r?Wn(r):void 0,code:t.code}}return t}const Hn="Canceled";function Uo(t){return t instanceof si?!0:t instanceof Error&&t.name===Hn&&t.message===Hn}class si extends Error{constructor(){super(Hn),this.name=this.message}}class ft extends Error{constructor(e){super(e),this.name="CodeExpectedError"}static fromError(e){if(e instanceof ft)return e;const n=new ft;return n.message=e.message,n.stack=e.stack,n}static isErrorNoTelemetry(e){return e.name==="CodeExpectedError"}}class le extends Error{constructor(e){super(e||"An unexpected bug occurred."),Object.setPrototypeOf(this,le.prototype)}}function qo(t,e="Unreachable"){throw new Error(e)}function jo(t,e="unexpected state"){if(!t)throw typeof e=="string"?new le(`Assertion Failed: ${e}`):e}function un(t){if(!t()){debugger;t(),ln(new le("Assertion Failed"))}}function ai(t,e){let n=0;for(;n<t.length-1;){const r=t[n],i=t[n+1];if(!e(r,i))return!1;n++}return!0}function Wo(t){return typeof t=="string"}function Ho(t){return!!t&&typeof t[Symbol.iterator]=="function"}var cn;(function(t){function e(L){return!!L&&typeof L=="object"&&typeof L[Symbol.iterator]=="function"}t.is=e;const n=Object.freeze([]);function r(){return n}t.empty=r;function*i(L){yield L}t.single=i;function s(L){return e(L)?L:i(L)}t.wrap=s;function a(L){return L||n}t.from=a;function*o(L){for(let S=L.length-1;S>=0;S--)yield L[S]}t.reverse=o;function u(L){return!L||L[Symbol.iterator]().next().done===!0}t.isEmpty=u;function l(L){return L[Symbol.iterator]().next().value}t.first=l;function h(L,S){let P=0;for(const D of L)if(S(D,P++))return!0;return!1}t.some=h;function f(L,S){let P=0;for(const D of L)if(!S(D,P++))return!1;return!0}t.every=f;function m(L,S){for(const P of L)if(S(P))return P}t.find=m;function*g(L,S){for(const P of L)S(P)&&(yield P)}t.filter=g;function*d(L,S){let P=0;for(const D of L)yield S(D,P++)}t.map=d;function*p(L,S){let P=0;for(const D of L)yield*S(D,P++)}t.flatMap=p;function*y(...L){for(const S of L)Ho(S)?yield*S:yield S}t.concat=y;function x(L,S,P){let D=P;for(const T of L)D=S(D,T);return D}t.reduce=x;function v(L){let S=0;for(const P of L)S++;return S}t.length=v;function*b(L,S,P=L.length){for(S<-L.length&&(S=0),S<0&&(S+=L.length),P<0?P+=L.length:P>L.length&&(P=L.length);S<P;S++)yield L[S]}t.slice=b;function _(L,S=Number.POSITIVE_INFINITY){const P=[];if(S===0)return[P,L];const D=L[Symbol.iterator]();for(let T=0;T<S;T++){const w=D.next();if(w.done)return[P,t.empty()];P.push(w.value)}return[P,{[Symbol.iterator](){return D}}]}t.consume=_;async function N(L){const S=[];for await(const P of L)S.push(P);return S}t.asyncToArray=N;async function E(L){let S=[];for await(const P of L)S=S.concat(P);return S}t.asyncToArrayFlat=E})(cn||(cn={}));function O1(t,e){}function oi(t){if(cn.is(t)){const e=[];for(const n of t)if(n)try{n.dispose()}catch(r){e.push(r)}if(e.length===1)throw e[0];if(e.length>1)throw new AggregateError(e,"Encountered errors while disposing of store");return Array.isArray(t)?[]:t}else if(t)return t.dispose(),t}function zo(...t){return fn(()=>oi(t))}class Go{constructor(e){this._isDisposed=!1,this._fn=e}dispose(){if(!this._isDisposed){if(!this._fn)throw new Error("Unbound disposable context: Need to use an arrow function to preserve the value of this");this._isDisposed=!0,this._fn()}}}function fn(t){return new Go(t)}const Vn=class Vn{constructor(){this._toDispose=new Set,this._isDisposed=!1}dispose(){this._isDisposed||(this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(this._toDispose.size!==0)try{oi(this._toDispose)}finally{this._toDispose.clear()}}add(e){if(!e||e===et.None)return e;if(e===this)throw new Error("Cannot register a disposable on itself!");return this._isDisposed?Vn.DISABLE_DISPOSED_WARNING||console.warn(new Error("Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!").stack):this._toDispose.add(e),e}delete(e){if(e){if(e===this)throw new Error("Cannot dispose a disposable on itself!");this._toDispose.delete(e),e.dispose()}}};Vn.DISABLE_DISPOSED_WARNING=!1;let Ot=Vn;const ri=class ri{constructor(){this._store=new Ot,this._store}dispose(){this._store.dispose()}_register(e){if(e===this)throw new Error("Cannot register a disposable on itself!");return this._store.add(e)}};ri.None=Object.freeze({dispose(){}});let et=ri;const Ct=class Ct{constructor(e){this.element=e,this.next=Ct.Undefined,this.prev=Ct.Undefined}};Ct.Undefined=new Ct(void 0);let Y=Ct;class Jo{constructor(){this._first=Y.Undefined,this._last=Y.Undefined,this._size=0}get size(){return this._size}is
Line truncated
|
||||
`).slice(2).join(`
|
||||
`))}}class Zo extends Error{constructor(e,n){super(e),this.name="ListenerLeakError",this.stack=n}}class Yo extends Error{constructor(e,n){super(e),this.name="ListenerRefusalError",this.stack=n}}class Qn{constructor(e){this.value=e}}const Ko=2;class Pe{constructor(e){this._size=0,this._options=e,this._leakageMon=this._options?.leakWarningThreshold?new Jn(e?.onListenerError??ln,this._options?.leakWarningThreshold??Qo):void 0,this._perfMon=this._options?._profName?new Gn(this._options._profName):void 0,this._deliveryQueue=this._options?.deliveryQueue}dispose(){this._disposed||(this._disposed=!0,this._deliveryQueue?.current===this&&this._deliveryQueue.reset(),this._listeners&&(this._listeners=void 0,this._size=0),this._options?.onDidRemoveLastListener?.(),this._leakageMon?.dispose())}get event(){return this._event??=(e,n,r)=>{if(this._leakageMon&&this._size>this._leakageMon.threshold**2){const o=`[${this._leakageMon.name}] REFUSES to accept new listeners because it exceeded its threshold by far (${this._size} vs ${this._leakageMon.threshold})`;console.warn(o);const u=this._leakageMon.getMostFrequentStack()??["UNKNOWN stack",-1],l=new Yo(`${o}. HINT: Stack shows most frequent listener (${u[1]}-times)`,u[0]);return(this._options?.onListenerError||ln)(l),et.None}if(this._disposed)return et.None;n&&(e=e.bind(n));const i=new Qn(e);let s;this._leakageMon&&this._size>=Math.ceil(this._leakageMon.threshold*.2)&&(i.stack=Xn.create(),s=this._leakageMon.check(i.stack,this._size+1)),this._listeners?this._listeners instanceof Qn?(this._deliveryQueue??=new el,this._listeners=[this._listeners,i]):this._listeners.push(i):(this._options?.onWillAddFirstListener?.(this),this._listeners=i,this._options?.onDidAddFirstListener?.(this)),this._options?.onDidAddListener?.(this),this._size++;const a=fn(()=>{s?.(),this._removeListener(i)});return r instanceof Ot?r.add(a):Array.isArray(r)&&r.push(a),a},this._event}_removeListener(e){if(this._options?.onWillRemoveListener?.(this),!this._listeners)return;if(this._size===1){this._listeners=void 0,this._options?.onDidRemoveLastListener?.(this),this._size=0;return}const n=this._listeners,r=n.indexOf(e);if(r===-1)throw console.log("disposed?",this._disposed),console.log("size?",this._size),console.log("arr?",JSON.stringify(this._listeners)),new Error("Attempted to dispose unknown listener");this._size--,n[r]=void 0;const i=this._deliveryQueue.current===this;if(this._size*Ko<=n.length){let s=0;for(let a=0;a<n.length;a++)n[a]?n[s++]=n[a]:i&&s<this._deliveryQueue.end&&(this._deliveryQueue.end--,s<this._deliveryQueue.i&&this._deliveryQueue.i--);n.length=s}}_deliver(e,n){if(!e)return;const r=this._options?.onListenerError||ln;if(!r){e.value(n);return}try{e.value(n)}catch(i){r(i)}}_deliverQueue(e){const n=e.current._listeners;for(;e.i<e.end;)this._deliver(n[e.i++],e.value);e.reset()}fire(e){if(this._deliveryQueue?.current&&(this._deliverQueue(this._deliveryQueue),this._perfMon?.stop()),this._perfMon?.start(this._size),this._listeners)if(this._listeners instanceof Qn)this._deliver(this._listeners,e);else{const n=this._deliveryQueue;n.enqueue(this,e,this._listeners.length),this._deliverQueue(n)}this._perfMon?.stop()}hasListeners(){return this._size>0}}class el{constructor(){this.i=-1,this.end=0}enqueue(e,n,r){this.i=0,this.end=r,this.current=e,this.value=n}reset(){this.i=this.end,this.current=void 0,this.value=void 0}}function tl(){return globalThis._VSCODE_NLS_MESSAGES}function li(){return globalThis._VSCODE_NLS_LANGUAGE}const nl=li()==="pseudo"||typeof document<"u"&&document.location&&typeof document.location.hash=="string"&&document.location.hash.indexOf("pseudo=true")>=0;function ui(t,e){let n;return e.length===0?n=t:n=t.replace(/\{(\d+)\}/g,(r,i)=>{const s=i[0],a=e[s];let o=r;return typeof a=="string"?o=a:(typeof a=="number"||typeof a=="boolean"||a===void 0||a===null)&&(o=String(a)),o}),nl&&(n="["+n.replace(/[aouei]/g,"$&$&")+"]"),n}function $(t,e,...n){return ui(typeof t=="number"?rl(t,e):e,n)}function rl(t,e){const n=tl()?.[t];if(typeof n!="string"){if(typeof e=="string")return e;throw new Error(`!!! NLS MISSING: ${t} !!!`)}return n}const ht="en";let Zn=!1,Yn=!1,Kn=!1,mn,er=ht,ci=ht,il,$e;const tt=globalThis;let me;typeof tt.vscode<"u"&&typeof tt.vscode.process<"u"?me=tt.vscode.process:typeof process<"u"&&typeof process?.versions?.node=="string"&&(me=process);const sl=typeof me?.versions?.electron=="string"&&me?.type==="renderer";if(typeof me=="object"){Zn=me.platform==="win32",Yn=me.platform==="darwin",Kn=me.platform==="linux",Kn&&me.env.SNAP&&me.env.SNAP_REVISION,me.env.CI||me.env.BUILD_ARTIFACTSTAGINGDIRECTORY||me.env.GITHUB_WORKSPACE,mn=ht,er=ht;const t=me.env.VSCODE_NLS_CONFIG;if(t)try{const e=JSON.parse(t);mn=e.userLocale,ci=e.osLocale,er=e.resolvedLanguage||ht,il=e.languagePack?.translationsConfigFile}catch{}}else typeof navigator=="object"&&!sl?($e=navigator.userAgent,Zn=$e.indexOf("Windows")>=0,Yn=$e.indexOf("Macintosh")>=0,($e.indexOf("Macintosh")>=0||$e.indexOf("iPad")>=0||$e.inde
Line truncated
|
||||
`||t===" "}class vn{constructor(e,n,r){this.changes=e,this.moves=n,this.hitTimeout=r}}class ku{constructor(e,n){this.lineRangeMapping=e,this.changes=n}}function Ru(t,e,n=(r,i)=>r===i){if(t===e)return!0;if(!t||!e||t.length!==e.length)return!1;for(let r=0,i=t.length;r<i;r++)if(!n(t[r],e[r]))return!1;return!0}function*Eu(t,e){let n,r;for(const i of t)r!==void 0&&e(r,i)?n.push(i):(n&&(yield n),n=[i]),r=i;n&&(yield n)}function Mu(t,e){for(let n=0;n<=t.length;n++)e(n===0?void 0:t[n-1],n===t.length?void 0:t[n])}function Tu(t,e){for(let n=0;n<t.length;n++)e(n===0?void 0:t[n-1],t[n],n+1===t.length?void 0:t[n+1])}function Pu(t,e){for(const n of e)t.push(n)}var vr;(function(t){function e(s){return s<0}t.isLessThan=e;function n(s){return s<=0}t.isLessThanOrEqual=n;function r(s){return s>0}t.isGreaterThan=r;function i(s){return s===0}t.isNeitherLessOrGreaterThan=i,t.greaterThan=1,t.lessThan=-1,t.neitherLessOrGreaterThan=0})(vr||(vr={}));function jt(t,e){return(n,r)=>e(t(n),t(r))}const Wt=(t,e)=>t-e;function Cu(t){return(e,n)=>-t(e,n)}const Dt=class Dt{constructor(e){this.iterate=e}toArray(){const e=[];return this.iterate(n=>(e.push(n),!0)),e}filter(e){return new Dt(n=>this.iterate(r=>e(r)?n(r):!0))}map(e){return new Dt(n=>this.iterate(r=>n(e(r))))}findLast(e){let n;return this.iterate(r=>(e(r)&&(n=r),!0)),n}findLastMaxBy(e){let n,r=!0;return this.iterate(i=>((r||vr.isGreaterThan(e(i,n)))&&(r=!1,n=i),!0)),n}};Dt.empty=new Dt(e=>{});let js=Dt;class j{static fromTo(e,n){return new j(e,n)}static addRange(e,n){let r=0;for(;r<n.length&&n[r].endExclusive<e.start;)r++;let i=r;for(;i<n.length&&n[i].start<=e.endExclusive;)i++;if(r===i)n.splice(r,0,e);else{const s=Math.min(e.start,n[r].start),a=Math.max(e.endExclusive,n[i-1].endExclusive);n.splice(r,i-r,new j(s,a))}}static tryCreate(e,n){if(!(e>n))return new j(e,n)}static ofLength(e){return new j(0,e)}static ofStartAndLength(e,n){return new j(e,e+n)}static emptyAt(e){return new j(e,e)}constructor(e,n){if(this.start=e,this.endExclusive=n,e>n)throw new le(`Invalid range: ${this.toString()}`)}get isEmpty(){return this.start===this.endExclusive}delta(e){return new j(this.start+e,this.endExclusive+e)}deltaStart(e){return new j(this.start+e,this.endExclusive)}deltaEnd(e){return new j(this.start,this.endExclusive+e)}get length(){return this.endExclusive-this.start}toString(){return`[${this.start}, ${this.endExclusive})`}equals(e){return this.start===e.start&&this.endExclusive===e.endExclusive}contains(e){return this.start<=e&&e<this.endExclusive}join(e){return new j(Math.min(this.start,e.start),Math.max(this.endExclusive,e.endExclusive))}intersect(e){const n=Math.max(this.start,e.start),r=Math.min(this.endExclusive,e.endExclusive);if(n<=r)return new j(n,r)}intersectionLength(e){const n=Math.max(this.start,e.start),r=Math.min(this.endExclusive,e.endExclusive);return Math.max(0,r-n)}intersects(e){const n=Math.max(this.start,e.start),r=Math.min(this.endExclusive,e.endExclusive);return n<r}intersectsOrTouches(e){const n=Math.max(this.start,e.start),r=Math.min(this.endExclusive,e.endExclusive);return n<=r}isBefore(e){return this.endExclusive<=e.start}isAfter(e){return this.start>=e.endExclusive}slice(e){return e.slice(this.start,this.endExclusive)}substring(e){return e.substring(this.start,this.endExclusive)}clip(e){if(this.isEmpty)throw new le(`Invalid clipping range: ${this.toString()}`);return Math.max(this.start,Math.min(this.endExclusive-1,e))}clipCyclic(e){if(this.isEmpty)throw new le(`Invalid clipping range: ${this.toString()}`);return e<this.start?this.endExclusive-(this.start-e)%this.length:e>=this.endExclusive?this.start+(e-this.start)%this.length:e}forEach(e){for(let n=this.start;n<this.endExclusive;n++)e(n)}joinRightTouching(e){if(this.endExclusive!==e.start)throw new le(`Invalid join: ${this.toString()} and ${e.toString()}`);return new j(this.start,e.endExclusive)}}function yt(t,e){const n=wt(t,e);return n===-1?void 0:t[n]}function wt(t,e,n=0,r=t.length){let i=n,s=r;for(;i<s;){const a=Math.floor((i+s)/2);e(t[a])?i=a+1:s=a}return i-1}function Iu(t,e){const n=Lr(t,e);return n===t.length?void 0:t[n]}function Lr(t,e,n=0,r=t.length){let i=n,s=r;for(;i<s;){const a=Math.floor((i+s)/2);e(t[a])?s=a:i=a+1}return i}const $n=class $n{constructor(e){this._array=e,this._findLastMonotonousLastIdx=0}findLastMonotonous(e){if($n.assertInvariants){if(this._prevFindLastPredicate){for(const r of this._array)if(this._prevFindLastPredicate(r)&&!e(r))throw new Error("MonotonousArray: current predicate must be weaker than (or equal to) the previous predicate.")}this._prevFindLastPredicate=e}const n=wt(this._array,e,this._findLastMonotonousLastIdx);return this._findLastMonotonousLastIdx=n+1,n===-1?void 0:this._array[n]}};$n.assertInvariants=!1;let Ln=$n;const ve=class ve{static ofLength(e,n){return new ve(e,e+n)}static fromRange(e){return new ve(e.startLineNumber,e.endLineNumber)}static fromRangeInclusive(e){return new ve(e.startLineNumber,e.endLineNumber+1)}static joinMany(e){if(e.length===0)return[];le
Line truncated
|
||||
`?(n++,r=0):r++;return new Te(n,r)}constructor(e,n){this.lineCount=e,this.columnCount=n}isGreaterThanOrEqualTo(e){return this.lineCount!==e.lineCount?this.lineCount>e.lineCount:this.columnCount>=e.columnCount}add(e){return e.lineCount===0?new Te(this.lineCount,this.columnCount+e.columnCount):new Te(this.lineCount+e.lineCount,e.columnCount)}createRange(e){return this.lineCount===0?new B(e.lineNumber,e.column,e.lineNumber,e.column+this.columnCount):new B(e.lineNumber,e.column,e.lineNumber+this.lineCount,this.columnCount+1)}toRange(){return new B(1,1,this.lineCount+1,this.columnCount+1)}toLineRange(){return H.ofLength(1,this.lineCount+1)}addToPosition(e){return this.lineCount===0?new Q(e.lineNumber,e.column+this.columnCount):new Q(e.lineNumber+this.lineCount,this.columnCount+1)}toString(){return`${this.lineCount},${this.columnCount}`}};Te.zero=new Te(0,0);let Ht=Te;class Fu{getOffsetRange(e){return new j(this.getOffset(e.getStartPosition()),this.getOffset(e.getEndPosition()))}getRange(e){return B.fromPositions(this.getPosition(e.start),this.getPosition(e.endExclusive))}getStringReplacement(e){return new xt.deps.StringReplacement(this.getOffsetRange(e.range),e.text)}getTextReplacement(e){return new xt.deps.TextReplacement(this.getRange(e.replaceRange),e.newText)}getTextEdit(e){const n=e.replacements.map(r=>this.getTextReplacement(r));return new xt.deps.TextEdit(n)}}const ii=class ii{static get deps(){if(!this._deps)throw new Error("Dependencies not set. Call _setDependencies first.");return this._deps}};ii._deps=void 0;let xt=ii;class Vu extends Fu{constructor(e){super(),this.text=e,this.lineStartOffsetByLineIdx=[],this.lineEndOffsetByLineIdx=[],this.lineStartOffsetByLineIdx.push(0);for(let n=0;n<e.length;n++)e.charAt(n)===`
|
||||
`&&(this.lineStartOffsetByLineIdx.push(n+1),n>0&&e.charAt(n-1)==="\r"?this.lineEndOffsetByLineIdx.push(n-1):this.lineEndOffsetByLineIdx.push(n));this.lineEndOffsetByLineIdx.push(e.length)}getOffset(e){const n=this._validatePosition(e);return this.lineStartOffsetByLineIdx[n.lineNumber-1]+n.column-1}_validatePosition(e){if(e.lineNumber<1)return new Q(1,1);const n=this.textLength.lineCount+1;if(e.lineNumber>n){const i=this.getLineLength(n);return new Q(n,i+1)}if(e.column<1)return new Q(e.lineNumber,1);const r=this.getLineLength(e.lineNumber);return e.column-1>r?new Q(e.lineNumber,r+1):e}getPosition(e){const n=wt(this.lineStartOffsetByLineIdx,s=>s<=e),r=n+1,i=e-this.lineStartOffsetByLineIdx[n]+1;return new Q(r,i)}get textLength(){const e=this.lineStartOffsetByLineIdx.length-1;return new xt.deps.TextLength(e,this.text.length-this.lineStartOffsetByLineIdx[e])}getLineLength(e){return this.lineEndOffsetByLineIdx[e-1]-this.lineStartOffsetByLineIdx[e-1]}}class Du{constructor(){this._transformer=void 0}get endPositionExclusive(){return this.length.addToPosition(new Q(1,1))}get lineRange(){return this.length.toLineRange()}getValue(){return this.getValueOfRange(this.length.toRange())}getValueOfOffsetRange(e){return this.getValueOfRange(this.getTransformer().getRange(e))}getLineLength(e){return this.getValueOfRange(new B(e,1,e,Number.MAX_SAFE_INTEGER)).length}getTransformer(){return this._transformer||(this._transformer=new Vu(this.getValue())),this._transformer}getLineAt(e){return this.getValueOfRange(new B(e,1,e,Number.MAX_SAFE_INTEGER))}}class Ou extends Du{constructor(e,n){jo(n>=1),super(),this._getLineContent=e,this._lineCount=n}getValueOfRange(e){if(e.startLineNumber===e.endLineNumber)return this._getLineContent(e.startLineNumber).substring(e.startColumn-1,e.endColumn-1);let n=this._getLineContent(e.startLineNumber).substring(e.startColumn-1);for(let r=e.startLineNumber+1;r<e.endLineNumber;r++)n+=`
|
||||
`+this._getLineContent(r);return n+=`
|
||||
`+this._getLineContent(e.endLineNumber).substring(0,e.endColumn-1),n}getLineLength(e){return this._getLineContent(e).length}get length(){const e=this._getLineContent(this._lineCount);return new Ht(this._lineCount-1,e.length)}}class Nn extends Ou{constructor(e){super(n=>e[n-1],e.length)}}class Xe{static joinReplacements(e,n){if(e.length===0)throw new le;if(e.length===1)return e[0];const r=e[0].range.getStartPosition(),i=e[e.length-1].range.getEndPosition();let s="";for(let a=0;a<e.length;a++){const o=e[a];if(s+=o.text,a<e.length-1){const u=e[a+1],l=B.fromPositions(o.range.getEndPosition(),u.range.getStartPosition()),h=n.getValueOfRange(l);s+=h}}return new Xe(B.fromPositions(r,i),s)}static fromStringReplacement(e,n){return new Xe(n.getTransformer().getRange(e.replaceRange),e.newText)}static delete(e){return new Xe(e,"")}constructor(e,n){this.range=e,this.text=n}get isEmpty(){return this.range.isEmpty()&&this.text.length===0}static equals(e,n){return e.range.equalsRange(n.range)&&e.text===n.text}equals(e){return Xe.equals(this,e)}removeCommonPrefixAndSuffix(e){return this.removeCommonPrefix(e).removeCommonSuffix(e)}removeCommonPrefix(e){const n=e.getValueOfRange(this.range).replaceAll(`\r
|
||||
`,`
|
||||
`),r=this.text.replaceAll(`\r
|
||||
`,`
|
||||
`),i=pl(n,r),s=Ht.ofText(n.substring(0,i)).addToPosition(this.range.getStartPosition()),a=r.substring(i),o=B.fromPositions(s,this.range.getEndPosition());return new Xe(o,a)}removeCommonSuffix(e){const n=e.getValueOfRange(this.range).replaceAll(`\r
|
||||
`,`
|
||||
`),r=this.text.replaceAll(`\r
|
||||
`,`
|
||||
`),i=bl(n,r),s=Ht.ofText(n.substring(0,n.length-i)).addToPosition(this.range.getStartPosition()),a=r.substring(0,r.length-i),o=B.fromPositions(this.range.getStartPosition(),s);return new Xe(o,a)}toString(){const e=this.range.getStartPosition(),n=this.range.getEndPosition();return`(${e.lineNumber},${e.column} -> ${n.lineNumber},${n.column}): "${this.text}"`}}class Le{static inverse(e,n,r){const i=[];let s=1,a=1;for(const u of e){const l=new Le(new H(s,u.original.startLineNumber),new H(a,u.modified.startLineNumber));l.modified.isEmpty||i.push(l),s=u.original.endLineNumberExclusive,a=u.modified.endLineNumberExclusive}const o=new Le(new H(s,n+1),new H(a,r+1));return o.modified.isEmpty||i.push(o),i}static clip(e,n,r){const i=[];for(const s of e){const a=s.original.intersect(n),o=s.modified.intersect(r);a&&!a.isEmpty&&o&&!o.isEmpty&&i.push(new Le(a,o))}return i}constructor(e,n){this.original=e,this.modified=n}toString(){return`{${this.original.toString()}->${this.modified.toString()}}`}flip(){return new Le(this.modified,this.original)}join(e){return new Le(this.original.join(e.original),this.modified.join(e.modified))}toRangeMapping(){const e=this.original.toInclusiveRange(),n=this.modified.toInclusiveRange();if(e&&n)return new Ne(e,n);if(this.original.startLineNumber===1||this.modified.startLineNumber===1){if(!(this.modified.startLineNumber===1&&this.original.startLineNumber===1))throw new le("not a valid diff");return new Ne(new B(this.original.startLineNumber,1,this.original.endLineNumberExclusive,1),new B(this.modified.startLineNumber,1,this.modified.endLineNumberExclusive,1))}else return new Ne(new B(this.original.startLineNumber-1,Number.MAX_SAFE_INTEGER,this.original.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),new B(this.modified.startLineNumber-1,Number.MAX_SAFE_INTEGER,this.modified.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER))}toRangeMapping2(e,n){if(Ws(this.original.endLineNumberExclusive,e)&&Ws(this.modified.endLineNumberExclusive,n))return new Ne(new B(this.original.startLineNumber,1,this.original.endLineNumberExclusive,1),new B(this.modified.startLineNumber,1,this.modified.endLineNumberExclusive,1));if(!this.original.isEmpty&&!this.modified.isEmpty)return new Ne(B.fromPositions(new Q(this.original.startLineNumber,1),vt(new Q(this.original.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),e)),B.fromPositions(new Q(this.modified.startLineNumber,1),vt(new Q(this.modified.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),n)));if(this.original.startLineNumber>1&&this.modified.startLineNumber>1)return new Ne(B.fromPositions(vt(new Q(this.original.startLineNumber-1,Number.MAX_SAFE_INTEGER),e),vt(new Q(this.original.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),e)),B.fromPositions(vt(new Q(this.modified.startLineNumber-1,Number.MAX_SAFE_INTEGER),n),vt(new Q(this.modified.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),n)));throw new le}}function vt(t,e){if(t.lineNumber<1)return new Q(1,1);if(t.lineNumber>e.length)return new Q(e.length,e[e.length-1].length+1);const n=e[t.lineNumber-1];return t.column>n.length+1?new Q(t.lineNumber,n.length+1):t}function Ws(t,e){return t>=1&&t<=e.length}class qe extends Le{static fromRangeMappings(e){const n=H.join(e.map(i=>H.fromRangeInclusive(i.originalRange))),r=H.join(e.map(i=>H.fromRangeInclusive(i.modifiedRange)));return new qe(n,r,e)}constructor(e,n,r){super(e,n),this.innerChanges=r}flip(){return new qe(this.modified,this.original,this.innerChanges?.map(e=>e.flip()))}withInnerChangesFromLineRanges(){return new qe(this.original,this.modified,[this.toRangeMapping()])}}class Ne{static fromEdit(e){const n=e.getNewRanges();return e.replacements.map((i,s)=>new Ne(i.range,n[s]))}static assertSorted(e){for(let n=1;n<e.length;n++){const r=e[n-1],i=e[n];if(!(r.originalRange.getEndPosition().isBeforeOrEqual(i.originalRange.getStartPosition())&&r.modifiedRange.getEndPosition().isBeforeOrEqual(i.modifiedRange.getStartPosition())))throw new le("Range mappings must be sorted")}}constructor(e,n){this.originalRange=e,this.modifiedRange=n}toString(){return`{${this.originalRange.toString()}->${this.modifiedRange.toString()}}`}flip(){return new Ne(this.modifiedRange,this.originalRange)}toTextEdit(e){const n=e.getValueOfRange(this.modifiedRange);return new Xe(this.originalRange,n)}}function Hs(t,e,n,r=!1){const i=[];for(const s of Eu(t.map(a=>$u(a,e,n)),(a,o)=>a.original.intersectsOrTouches(o.original)||a.modified.intersectsOrTouches(o.modified))){const a=s[0],o=s[s.length-1];i.push(new qe(a.original.join(o.original),a.modified.join(o.modified),s.map(u=>u.innerChanges[0])))}return un(()=>!r&&i.length>0&&(i[0].modified.startLineNumber!==i[0].original.startLineNumber||n.length.lineCount-i[i.length-1].modified.endLineNumberExclusive!==e.length.lineCount-i[i.length-1].original.endLineNumberExclusive)?!1:ai(i,(s,a)=>a.original.startLineNumber-s.original.endLineNumberExclusive===a.modified.startLineNumber-s.modified.endLineNumberExclusive&&s.original.endLineNumberExclusive<a.ori
Line truncated
|
||||
`);this.histogram[o]=(this.histogram[o]||0)+1}this.totalCount=i}computeSimilarity(e){let n=0;const r=Math.max(this.histogram.length,e.histogram.length);for(let i=0;i<r;i++)n+=Math.abs((this.histogram[i]??0)-(e.histogram[i]??0));return 1-n/(this.totalCount+e.totalCount)}};sn.chrKeys=new Map;let _n=sn;class zu{compute(e,n,r=Gt.instance,i){if(e.length===0||n.length===0)return je.trivial(e,n);const s=new Sr(e.length,n.length),a=new Sr(e.length,n.length),o=new Sr(e.length,n.length);for(let d=0;d<e.length;d++)for(let p=0;p<n.length;p++){if(!r.isValid())return je.trivialTimedOut(e,n);const y=d===0?0:s.get(d-1,p),x=p===0?0:s.get(d,p-1);let v;e.getElement(d)===n.getElement(p)?(d===0||p===0?v=0:v=s.get(d-1,p-1),d>0&&p>0&&a.get(d-1,p-1)===3&&(v+=o.get(d-1,p-1)),v+=i?i(d,p):1):v=-1;const b=Math.max(y,x,v);if(b===v){const _=d>0&&p>0?o.get(d-1,p-1):0;o.set(d,p,_+1),a.set(d,p,3)}else b===y?(o.set(d,p,0),a.set(d,p,1)):b===x&&(o.set(d,p,0),a.set(d,p,2));s.set(d,p,b)}const u=[];let l=e.length,h=n.length;function f(d,p){(d+1!==l||p+1!==h)&&u.push(new K(new j(d+1,l),new j(p+1,h))),l=d,h=p}let m=e.length-1,g=n.length-1;for(;m>=0&&g>=0;)a.get(m,g)===3?(f(m,g),m--,g--):a.get(m,g)===1?m--:g--;return f(-1,-1),u.reverse(),new je(u,!1)}}class Xs{compute(e,n,r=Gt.instance){if(e.length===0||n.length===0)return je.trivial(e,n);const i=e,s=n;function a(p,y){for(;p<i.length&&y<s.length&&i.getElement(p)===s.getElement(y);)p++,y++;return p}let o=0;const u=new Gu;u.set(0,a(0,0));const l=new Ju;l.set(0,u.get(0)===0?null:new Qs(null,0,0,u.get(0)));let h=0;e:for(;;){if(o++,!r.isValid())return je.trivialTimedOut(i,s);const p=-Math.min(o,s.length+o%2),y=Math.min(o,i.length+o%2);for(h=p;h<=y;h+=2){const x=h===y?-1:u.get(h+1),v=h===p?-1:u.get(h-1)+1,b=Math.min(Math.max(x,v),i.length),_=b-h;if(b>i.length||_>s.length)continue;const N=a(b,_);u.set(h,N);const E=b===x?l.get(h+1):l.get(h-1);if(l.set(h,N!==b?new Qs(E,b,_,N-b):E),u.get(h)===i.length&&u.get(h)-h===s.length)break e}}let f=l.get(h);const m=[];let g=i.length,d=s.length;for(;;){const p=f?f.x+f.length:0,y=f?f.y+f.length:0;if((p!==g||y!==d)&&m.push(new K(new j(p,g),new j(y,d))),!f)break;g=f.x,d=f.y,f=f.prev}return m.reverse(),new je(m,!1)}}class Qs{constructor(e,n,r,i){this.prev=e,this.x=n,this.y=r,this.length=i}}class Gu{constructor(){this.positiveArr=new Int32Array(10),this.negativeArr=new Int32Array(10)}get(e){return e<0?(e=-e-1,this.negativeArr[e]):this.positiveArr[e]}set(e,n){if(e<0){if(e=-e-1,e>=this.negativeArr.length){const r=this.negativeArr;this.negativeArr=new Int32Array(r.length*2),this.negativeArr.set(r)}this.negativeArr[e]=n}else{if(e>=this.positiveArr.length){const r=this.positiveArr;this.positiveArr=new Int32Array(r.length*2),this.positiveArr.set(r)}this.positiveArr[e]=n}}}class Ju{constructor(){this.positiveArr=[],this.negativeArr=[]}get(e){return e<0?(e=-e-1,this.negativeArr[e]):this.positiveArr[e]}set(e,n){e<0?(e=-e-1,this.negativeArr[e]=n):this.positiveArr[e]=n}}class Sn{constructor(e,n,r){this.lines=e,this.range=n,this.considerWhitespaceChanges=r,this.elements=[],this.firstElementOffsetByLineIdx=[],this.lineStartOffsets=[],this.trimmedWsLengthsByLineIdx=[],this.firstElementOffsetByLineIdx.push(0);for(let i=this.range.startLineNumber;i<=this.range.endLineNumber;i++){let s=e[i-1],a=0;i===this.range.startLineNumber&&this.range.startColumn>1&&(a=this.range.startColumn-1,s=s.substring(a)),this.lineStartOffsets.push(a);let o=0;if(!r){const l=s.trimStart();o=s.length-l.length,s=l.trimEnd()}this.trimmedWsLengthsByLineIdx.push(o);const u=i===this.range.endLineNumber?Math.min(this.range.endColumn-1-a-o,s.length):s.length;for(let l=0;l<u;l++)this.elements.push(s.charCodeAt(l));i<this.range.endLineNumber&&(this.elements.push(10),this.firstElementOffsetByLineIdx.push(this.elements.length))}}toString(){return`Slice: "${this.text}"`}get text(){return this.getText(new j(0,this.length))}getText(e){return this.elements.slice(e.start,e.endExclusive).map(n=>String.fromCharCode(n)).join("")}getElement(e){return this.elements[e]}get length(){return this.elements.length}getBoundaryScore(e){const n=Ks(e>0?this.elements[e-1]:-1),r=Ks(e<this.elements.length?this.elements[e]:-1);if(n===7&&r===8)return 0;if(n===8)return 150;let i=0;return n!==r&&(i+=10,n===0&&r===1&&(i+=1)),i+=Ys(n),i+=Ys(r),i}translateOffset(e,n="right"){const r=wt(this.firstElementOffsetByLineIdx,s=>s<=e),i=e-this.firstElementOffsetByLineIdx[r];return new Q(this.range.startLineNumber+r,1+this.lineStartOffsets[r]+i+(i===0&&n==="left"?0:this.trimmedWsLengthsByLineIdx[r]))}translateRange(e){const n=this.translateOffset(e.start,"right"),r=this.translateOffset(e.endExclusive,"left");return r.isBefore(n)?B.fromPositions(r,r):B.fromPositions(n,r)}findWordContaining(e){if(e<0||e>=this.elements.length||!Nt(this.elements[e]))return;let n=e;for(;n>0&&Nt(this.elements[n-1]);)n--;let r=e;for(;r<this.elements.length&&Nt(this.elements[r]);)r++;return new j(n,r)}findSubWordContaining(e){if(e<0||e>=this.elements.length||!Nt(this.elements[e]))return;l
Line truncated
|
||||
`).length>=15&&Zu(f,g=>g.length>=2)>=2}),a=tc(t,a),a}function Zu(t,e){let n=0;for(const r of t)e(r)&&n++;return n}function Yu(t,e,n,r){const i=[],s=t.filter(u=>u.modified.isEmpty&&u.original.length>=3).map(u=>new _n(u.original,e,u)),a=new Set(t.filter(u=>u.original.isEmpty&&u.modified.length>=3).map(u=>new _n(u.modified,n,u))),o=new Set;for(const u of s){let l=-1,h;for(const f of a){const m=u.computeSimilarity(f);m>l&&(l=m,h=f)}if(l>.9&&h&&(a.delete(h),i.push(new Le(u.range,h.range)),o.add(u.source),o.add(h.source)),!r.isValid())return{moves:i,excludedChanges:o}}return{moves:i,excludedChanges:o}}function Ku(t,e,n,r,i,s){const a=[],o=new pu;for(const m of t)for(let g=m.original.startLineNumber;g<m.original.endLineNumberExclusive-2;g++){const d=`${e[g-1]}:${e[g+1-1]}:${e[g+2-1]}`;o.add(d,{range:new H(g,g+3)})}const u=[];t.sort(jt(m=>m.modified.startLineNumber,Wt));for(const m of t){let g=[];for(let d=m.modified.startLineNumber;d<m.modified.endLineNumberExclusive-2;d++){const p=`${n[d-1]}:${n[d+1-1]}:${n[d+2-1]}`,y=new H(d,d+3),x=[];o.forEach(p,({range:v})=>{for(const _ of g)if(_.originalLineRange.endLineNumberExclusive+1===v.endLineNumberExclusive&&_.modifiedLineRange.endLineNumberExclusive+1===y.endLineNumberExclusive){_.originalLineRange=new H(_.originalLineRange.startLineNumber,v.endLineNumberExclusive),_.modifiedLineRange=new H(_.modifiedLineRange.startLineNumber,y.endLineNumberExclusive),x.push(_);return}const b={modifiedLineRange:y,originalLineRange:v};u.push(b),x.push(b)}),g=x}if(!s.isValid())return[]}u.sort(Cu(jt(m=>m.modifiedLineRange.length,Wt)));const l=new Ie,h=new Ie;for(const m of u){const g=m.modifiedLineRange.startLineNumber-m.originalLineRange.startLineNumber,d=l.subtractFrom(m.modifiedLineRange),p=h.subtractFrom(m.originalLineRange).getWithDelta(g),y=d.getIntersection(p);for(const x of y.ranges){if(x.length<3)continue;const v=x,b=x.delta(-g);a.push(new Le(b,v)),l.addRange(v),h.addRange(b)}}a.sort(jt(m=>m.original.startLineNumber,Wt));const f=new Ln(t);for(let m=0;m<a.length;m++){const g=a[m],d=f.findLastMonotonous(E=>E.original.startLineNumber<=g.original.startLineNumber),p=yt(t,E=>E.modified.startLineNumber<=g.modified.startLineNumber),y=Math.max(g.original.startLineNumber-d.original.startLineNumber,g.modified.startLineNumber-p.modified.startLineNumber),x=f.findLastMonotonous(E=>E.original.startLineNumber<g.original.endLineNumberExclusive),v=yt(t,E=>E.modified.startLineNumber<g.modified.endLineNumberExclusive),b=Math.max(x.original.endLineNumberExclusive-g.original.endLineNumberExclusive,v.modified.endLineNumberExclusive-g.modified.endLineNumberExclusive);let _;for(_=0;_<y;_++){const E=g.original.startLineNumber-_-1,L=g.modified.startLineNumber-_-1;if(E>r.length||L>i.length||l.contains(L)||h.contains(E)||!ea(r[E-1],i[L-1],s))break}_>0&&(h.addRange(new H(g.original.startLineNumber-_,g.original.startLineNumber)),l.addRange(new H(g.modified.startLineNumber-_,g.modified.startLineNumber)));let N;for(N=0;N<b;N++){const E=g.original.endLineNumberExclusive+N,L=g.modified.endLineNumberExclusive+N;if(E>r.length||L>i.length||l.contains(L)||h.contains(E)||!ea(r[E-1],i[L-1],s))break}N>0&&(h.addRange(new H(g.original.endLineNumberExclusive,g.original.endLineNumberExclusive+N)),l.addRange(new H(g.modified.endLineNumberExclusive,g.modified.endLineNumberExclusive+N))),(_>0||N>0)&&(a[m]=new Le(new H(g.original.startLineNumber-_,g.original.endLineNumberExclusive+N),new H(g.modified.startLineNumber-_,g.modified.endLineNumberExclusive+N)))}return a}function ea(t,e,n){if(t.trim()===e.trim())return!0;if(t.length>300&&e.length>300)return!1;const i=new Xs().compute(new Sn([t],new B(1,1,1,t.length),!1),new Sn([e],new B(1,1,1,e.length),!1),n);let s=0;const a=K.invert(i.diffs,t.length);for(const h of a)h.seq1Range.forEach(f=>{Ar(t.charCodeAt(f))||s++});function o(h){let f=0;for(let m=0;m<t.length;m++)Ar(h.charCodeAt(m))||f++;return f}const u=o(t.length>e.length?t:e);return s/u>.6&&u>10}function ec(t){if(t.length===0)return t;t.sort(jt(n=>n.original.startLineNumber,Wt));const e=[t[0]];for(let n=1;n<t.length;n++){const r=e[e.length-1],i=t[n],s=i.original.startLineNumber-r.original.endLineNumberExclusive,a=i.modified.startLineNumber-r.modified.endLineNumberExclusive;if(s>=0&&a>=0&&s+a<=2){e[e.length-1]=r.join(i);continue}e.push(i)}return e}function tc(t,e){const n=new Ln(t);return e=e.filter(r=>{const i=n.findLastMonotonous(o=>o.original.startLineNumber<r.original.endLineNumberExclusive)||new Le(new H(1,1),new H(1,1)),s=yt(t,o=>o.modified.startLineNumber<r.modified.endLineNumberExclusive);return i!==s}),e}function ta(t,e,n){let r=n;return r=na(t,e,r),r=na(t,e,r),r=nc(t,e,r),r}function na(t,e,n){if(n.length===0)return n;const r=[];r.push(n[0]);for(let s=1;s<n.length;s++){const a=r[r.length-1];let o=n[s];if(o.seq1Range.isEmpty||o.seq2Range.isEmpty){const u=o.seq1Range.start-a.seq1Range.endExclusive;let l;for(l=1;l<=u&&!(t.getElement(o.seq1Range.start-l)!==t.getElement(o.seq1Range.endExclusive-l)||e.getElement(o.seq2Range.
Line truncated
|
||||
`)}isStronglyEqual(e,n){return this.lines[e]===this.lines[n]}}function aa(t){let e=0;for(;e<t.length&&(t.charCodeAt(e)===32||t.charCodeAt(e)===9);)e++;return e}class oc{constructor(){this.dynamicProgrammingDiffing=new zu,this.myersDiffingAlgorithm=new Xs}computeDiff(e,n,r){if(e.length<=1&&Ru(e,n,(L,S)=>L===S))return new vn([],[],!1);if(e.length===1&&e[0].length===0||n.length===1&&n[0].length===0)return new vn([new qe(new H(1,e.length+1),new H(1,n.length+1),[new Ne(new B(1,1,e.length,e[e.length-1].length+1),new B(1,1,n.length,n[n.length-1].length+1))])],[],!1);const i=r.maxComputationTimeMs===0?Gt.instance:new Hu(r.maxComputationTimeMs),s=!r.ignoreTrimWhitespace,a=new Map;function o(L){let S=a.get(L);return S===void 0&&(S=a.size,a.set(L,S)),S}const u=e.map(L=>o(L.trim())),l=n.map(L=>o(L.trim())),h=new sa(u,e),f=new sa(l,n),m=h.length+f.length<1700?this.dynamicProgrammingDiffing.compute(h,f,i,(L,S)=>e[L]===n[S]?n[S].length===0?.1:1+Math.log(1+n[S].length):.99):this.myersDiffingAlgorithm.compute(h,f,i);let g=m.diffs,d=m.hitTimeout;g=ta(h,f,g),g=sc(h,f,g);const p=[],y=L=>{if(s)for(let S=0;S<L;S++){const P=x+S,D=v+S;if(e[P]!==n[D]){const T=this.refineDiff(e,n,new K(new j(P,P+1),new j(D,D+1)),i,s,r);for(const w of T.mappings)p.push(w);T.hitTimeout&&(d=!0)}}};let x=0,v=0;for(const L of g){un(()=>L.seq1Range.start-x===L.seq2Range.start-v);const S=L.seq1Range.start-x;y(S),x=L.seq1Range.endExclusive,v=L.seq2Range.endExclusive;const P=this.refineDiff(e,n,L,i,s,r);P.hitTimeout&&(d=!0);for(const D of P.mappings)p.push(D)}y(e.length-x);const b=new Nn(e),_=new Nn(n),N=Hs(p,b,_);let E=[];return r.computeMoves&&(E=this.computeMoves(N,e,n,u,l,i,s,r)),un(()=>{function L(P,D){if(P.lineNumber<1||P.lineNumber>D.length)return!1;const T=D[P.lineNumber-1];return!(P.column<1||P.column>T.length+1)}function S(P,D){return!(P.startLineNumber<1||P.startLineNumber>D.length+1||P.endLineNumberExclusive<1||P.endLineNumberExclusive>D.length+1)}for(const P of N){if(!P.innerChanges)return!1;for(const D of P.innerChanges)if(!(L(D.modifiedRange.getStartPosition(),n)&&L(D.modifiedRange.getEndPosition(),n)&&L(D.originalRange.getStartPosition(),e)&&L(D.originalRange.getEndPosition(),e)))return!1;if(!S(P.modified,n)||!S(P.original,e))return!1}return!0}),new vn(N,E,d)}computeMoves(e,n,r,i,s,a,o,u){return Qu(e,n,r,i,s,a).map(f=>{const m=this.refineDiff(n,r,new K(f.original.toOffsetRange(),f.modified.toOffsetRange()),a,o,u),g=Hs(m.mappings,new Nn(n),new Nn(r),!0);return new ku(f,g)})}refineDiff(e,n,r,i,s,a){const u=lc(r).toRangeMapping2(e,n),l=new Sn(e,u.originalRange,s),h=new Sn(n,u.modifiedRange,s),f=l.length+h.length<500?this.dynamicProgrammingDiffing.compute(l,h,i):this.myersDiffingAlgorithm.compute(l,h,i);let m=f.diffs;return m=ta(l,h,m),m=ia(l,h,m,(d,p)=>d.findWordContaining(p)),a.extendToSubwords&&(m=ia(l,h,m,(d,p)=>d.findSubWordContaining(p),!0)),m=rc(l,h,m),m=ac(l,h,m),{mappings:m.map(d=>new Ne(l.translateRange(d.seq1Range),h.translateRange(d.seq2Range))),hitTimeout:f.hitTimeout}}}function lc(t){return new Le(new H(t.seq1Range.start+1,t.seq1Range.endExclusive+1),new H(t.seq2Range.start+1,t.seq2Range.endExclusive+1))}const oa={getLegacy:()=>new Uu,getDefault:()=>new oc};function Qe(t,e){const n=Math.pow(10,e);return Math.round(t*n)/n}class A{constructor(e,n,r,i=1){this._rgbaBrand=void 0,this.r=Math.min(255,Math.max(0,e))|0,this.g=Math.min(255,Math.max(0,n))|0,this.b=Math.min(255,Math.max(0,r))|0,this.a=Qe(Math.max(Math.min(1,i),0),3)}static equals(e,n){return e.r===n.r&&e.g===n.g&&e.b===n.b&&e.a===n.a}}class _e{constructor(e,n,r,i){this._hslaBrand=void 0,this.h=Math.max(Math.min(360,e),0)|0,this.s=Qe(Math.max(Math.min(1,n),0),3),this.l=Qe(Math.max(Math.min(1,r),0),3),this.a=Qe(Math.max(Math.min(1,i),0),3)}static equals(e,n){return e.h===n.h&&e.s===n.s&&e.l===n.l&&e.a===n.a}static fromRGBA(e){const n=e.r/255,r=e.g/255,i=e.b/255,s=e.a,a=Math.max(n,r,i),o=Math.min(n,r,i);let u=0,l=0;const h=(o+a)/2,f=a-o;if(f>0){switch(l=Math.min(h<=.5?f/(2*h):f/(2-2*h),1),a){case n:u=(r-i)/f+(r<i?6:0);break;case r:u=(i-n)/f+2;break;case i:u=(n-r)/f+4;break}u*=60,u=Math.round(u)}return new _e(u,l,h,s)}static _hue2rgb(e,n,r){return r<0&&(r+=1),r>1&&(r-=1),r<1/6?e+(n-e)*6*r:r<1/2?n:r<2/3?e+(n-e)*(2/3-r)*6:e}static toRGBA(e){const n=e.h/360,{s:r,l:i,a:s}=e;let a,o,u;if(r===0)a=o=u=i;else{const l=i<.5?i*(1+r):i+r-i*r,h=2*i-l;a=_e._hue2rgb(h,l,n+1/3),o=_e._hue2rgb(h,l,n),u=_e._hue2rgb(h,l,n-1/3)}return new A(Math.round(a*255),Math.round(o*255),Math.round(u*255),s)}}class _t{constructor(e,n,r,i){this._hsvaBrand=void 0,this.h=Math.max(Math.min(360,e),0)|0,this.s=Qe(Math.max(Math.min(1,n),0),3),this.v=Qe(Math.max(Math.min(1,r),0),3),this.a=Qe(Math.max(Math.min(1,i),0),3)}static equals(e,n){return e.h===n.h&&e.s===n.s&&e.v===n.v&&e.a===n.a}static fromRGBA(e){const n=e.r/255,r=e.g/255,i=e.b/255,s=Math.max(n,r,i),a=Math.min(n,r,i),o=s-a,u=s===0?0:o/s;let l;return o===0?l=0:s===n?l=((r-i)/o%6+6)%6:s===r?l=(i-n)/o+2:l=(n-r)/o+4,new _t(Math.round(l*60),u,s,e.a)}static toRGBA(e)
Line truncated
|
||||
`);s.lastIndex=0;let h;for(;(h=s.exec(l))!==null;){const f=l.substring(0,h.index),m=(f.match(/\n/g)||[]).length,g=a+m,d=h[0].split(`
|
||||
`),p=d.length,y=g+p-1,x=f.lastIndexOf(`
|
||||
`)+1,v=h.index-x+1,b=d[d.length-1],_=p===1?v+h[0].length:b.length+1,N={startLineNumber:g,startColumn:v,endLineNumber:y,endColumn:_},E=(h.groups??{}).label??"",L=((h.groups??{}).separator??"")!=="",S={range:N,text:E,hasSeparatorLine:L,shouldBeInComments:!0};(S.text||S.hasSeparatorLine)&&(n.length===0||n[n.length-1].range.endLineNumber<S.range.startLineNumber)&&n.push(S),s.lastIndex=h.index+h[0].length}}return n}function bc(t){t=t.trim();const e=t.startsWith("-");return t=t.replace(hc,""),{text:t,hasSeparatorLine:e}}class yc{get isRejected(){return this.outcome?.outcome===1}get isSettled(){return!!this.outcome}constructor(){this.p=new Promise((e,n)=>{this.completeCallback=e,this.errorCallback=n})}complete(e){return this.isSettled?Promise.resolve():new Promise(n=>{this.completeCallback(e),this.outcome={outcome:0,value:e},n()})}error(e){return this.isSettled?Promise.resolve():new Promise(n=>{this.errorCallback(e),this.outcome={outcome:1,value:e},n()})}cancel(){return this.error(new si)}}var ha;(function(t){async function e(r){let i;const s=await Promise.all(r.map(a=>a.then(o=>o,o=>{i||(i=o)})));if(typeof i<"u")throw i;return s}t.settled=e;function n(r){return new Promise(async(i,s)=>{try{await r(i,s)}catch(a){s(a)}})}t.withAsyncBody=n})(ha||(ha={}));class wc{constructor(){this._unsatisfiedConsumers=[],this._unconsumedValues=[]}get hasFinalValue(){return!!this._finalValue}produce(e){if(this._ensureNoFinalValue(),this._unsatisfiedConsumers.length>0){const n=this._unsatisfiedConsumers.shift();this._resolveOrRejectDeferred(n,e)}else this._unconsumedValues.push(e)}produceFinal(e){this._ensureNoFinalValue(),this._finalValue=e;for(const n of this._unsatisfiedConsumers)this._resolveOrRejectDeferred(n,e);this._unsatisfiedConsumers.length=0}_ensureNoFinalValue(){if(this._finalValue)throw new le("ProducerConsumer: cannot produce after final value has been set")}_resolveOrRejectDeferred(e,n){n.ok?e.complete(n.value):e.error(n.error)}consume(){if(this._unconsumedValues.length>0||this._finalValue){const e=this._unconsumedValues.length>0?this._unconsumedValues.shift():this._finalValue;return e.ok?Promise.resolve(e.value):Promise.reject(e.error)}else{const e=new yc;return this._unsatisfiedConsumers.push(e),e.p}}}const pe=class pe{constructor(e,n){this._onReturn=n,this._producerConsumer=new wc,this._iterator={next:()=>this._producerConsumer.consume(),return:()=>(this._onReturn?.(),Promise.resolve({done:!0,value:void 0})),throw:async r=>(this._finishError(r),{done:!0,value:void 0})},queueMicrotask(async()=>{const r=e({emitOne:i=>this._producerConsumer.produce({ok:!0,value:{done:!1,value:i}}),emitMany:i=>{for(const s of i)this._producerConsumer.produce({ok:!0,value:{done:!1,value:s}})},reject:i=>this._finishError(i)});if(!this._producerConsumer.hasFinalValue)try{await r,this._finishOk()}catch(i){this._finishError(i)}})}static fromArray(e){return new pe(n=>{n.emitMany(e)})}static fromPromise(e){return new pe(async n=>{n.emitMany(await e)})}static fromPromisesResolveOrder(e){return new pe(async n=>{await Promise.all(e.map(async r=>n.emitOne(await r)))})}static merge(e){return new pe(async n=>{await Promise.all(e.map(async r=>{for await(const i of r)n.emitOne(i)}))})}static map(e,n){return new pe(async r=>{for await(const i of e)r.emitOne(n(i))})}map(e){return pe.map(this,e)}static coalesce(e){return pe.filter(e,n=>!!n)}coalesce(){return pe.coalesce(this)}static filter(e,n){return new pe(async r=>{for await(const i of e)n(i)&&r.emitOne(i)})}filter(e){return pe.filter(this,e)}_finishOk(){this._producerConsumer.hasFinalValue||this._producerConsumer.produceFinal({ok:!0,value:{done:!0,value:void 0}})}_finishError(e){this._producerConsumer.hasFinalValue||this._producerConsumer.produceFinal({ok:!1,error:e})}[Symbol.asyncIterator](){return this._iterator}};pe.EMPTY=pe.fromArray([]);let ma=pe;class xc{constructor(e){this.values=e,this.prefixSum=new Uint32Array(e.length),this.prefixSumValidIndex=new Int32Array(1),this.prefixSumValidIndex[0]=-1}insertValues(e,n){e=gt(e);const r=this.values,i=this.prefixSum,s=n.length;return s===0?!1:(this.values=new Uint32Array(r.length+s),this.values.set(r.subarray(0,e),0),this.values.set(r.subarray(e),e+s),this.values.set(n,e),e-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=e-1),this.prefixSum=new Uint32Array(this.values.length),this.prefixSumValidIndex[0]>=0&&this.prefixSum.set(i.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}setValue(e,n){return e=gt(e),n=gt(n),this.values[e]===n?!1:(this.values[e]=n,e-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=e-1),!0)}removeValues(e,n){e=gt(e),n=gt(n);const r=this.values,i=this.prefixSum;if(e>=r.length)return!1;const s=r.length-e;return n>=s&&(n=s),n===0?!1:(this.values=new Uint32Array(r.length-n),this.values.set(r.subarray(0,e),0),this.values.set(r.subarray(e+n),e),this.prefixSum=new Uint32Array(this.values.length),e-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=e-1),this.prefixSumValidIndex[0]>=0&&this.prefixSum.set(i.suba
Line truncated
|
||||
`;break;case 114:b+="\r";break;case 116:b+=" ";break;case 117:const L=m(4);L>=0?b+=String.fromCharCode(L):f=4;break;default:f=5}_=r;continue}if(N>=0&&N<=31)if(Qt(N)){b+=t.substring(_,r),f=2;break}else f=6;r++}return b}function y(){if(i="",f=0,s=r,u=o,h=l,r>=n)return s=n,a=17;let b=t.charCodeAt(r);if(Tr(b)){do r++,i+=String.fromCharCode(b),b=t.charCodeAt(r);while(Tr(b));return a=15}if(Qt(b))return r++,i+=String.fromCharCode(b),b===13&&t.charCodeAt(r)===10&&(r++,i+=`
|
||||
`),o++,l=r,a=14;switch(b){case 123:return r++,a=1;case 125:return r++,a=2;case 91:return r++,a=3;case 93:return r++,a=4;case 58:return r++,a=6;case 44:return r++,a=5;case 34:return r++,i=p(),a=10;case 47:const _=r-1;if(t.charCodeAt(r+1)===47){for(r+=2;r<n&&!Qt(t.charCodeAt(r));)r++;return i=t.substring(_,r),a=12}if(t.charCodeAt(r+1)===42){r+=2;const N=n-1;let E=!1;for(;r<N;){const L=t.charCodeAt(r);if(L===42&&t.charCodeAt(r+1)===47){r+=2,E=!0;break}r++,Qt(L)&&(L===13&&t.charCodeAt(r)===10&&r++,o++,l=r)}return E||(r++,f=1),i=t.substring(_,r),a=13}return i+=String.fromCharCode(b),r++,a=16;case 45:if(i+=String.fromCharCode(b),r++,r===n||!St(t.charCodeAt(r)))return a=16;case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return i+=d(),a=11;default:for(;r<n&&x(b);)r++,b=t.charCodeAt(r);if(s!==r){switch(i=t.substring(s,r),i){case"true":return a=8;case"false":return a=9;case"null":return a=7}return a=16}return i+=String.fromCharCode(b),r++,a=16}}function x(b){if(Tr(b)||Qt(b))return!1;switch(b){case 125:case 93:case 123:case 91:case 34:case 58:case 44:case 47:return!1}return!0}function v(){let b;do b=y();while(b>=12&&b<=15);return b}return{setPosition:g,getPosition:()=>r,scan:e?v:y,getToken:()=>a,getTokenValue:()=>i,getTokenOffset:()=>s,getTokenLength:()=>r-s,getTokenStartLine:()=>u,getTokenStartCharacter:()=>s-h,getTokenError:()=>f}}function Tr(t){return t===32||t===9}function Qt(t){return t===10||t===13}function St(t){return t>=48&&t<=57}var da;(function(t){t[t.lineFeed=10]="lineFeed",t[t.carriageReturn=13]="carriageReturn",t[t.space=32]="space",t[t._0=48]="_0",t[t._1=49]="_1",t[t._2=50]="_2",t[t._3=51]="_3",t[t._4=52]="_4",t[t._5=53]="_5",t[t._6=54]="_6",t[t._7=55]="_7",t[t._8=56]="_8",t[t._9=57]="_9",t[t.a=97]="a",t[t.b=98]="b",t[t.c=99]="c",t[t.d=100]="d",t[t.e=101]="e",t[t.f=102]="f",t[t.g=103]="g",t[t.h=104]="h",t[t.i=105]="i",t[t.j=106]="j",t[t.k=107]="k",t[t.l=108]="l",t[t.m=109]="m",t[t.n=110]="n",t[t.o=111]="o",t[t.p=112]="p",t[t.q=113]="q",t[t.r=114]="r",t[t.s=115]="s",t[t.t=116]="t",t[t.u=117]="u",t[t.v=118]="v",t[t.w=119]="w",t[t.x=120]="x",t[t.y=121]="y",t[t.z=122]="z",t[t.A=65]="A",t[t.B=66]="B",t[t.C=67]="C",t[t.D=68]="D",t[t.E=69]="E",t[t.F=70]="F",t[t.G=71]="G",t[t.H=72]="H",t[t.I=73]="I",t[t.J=74]="J",t[t.K=75]="K",t[t.L=76]="L",t[t.M=77]="M",t[t.N=78]="N",t[t.O=79]="O",t[t.P=80]="P",t[t.Q=81]="Q",t[t.R=82]="R",t[t.S=83]="S",t[t.T=84]="T",t[t.U=85]="U",t[t.V=86]="V",t[t.W=87]="W",t[t.X=88]="X",t[t.Y=89]="Y",t[t.Z=90]="Z",t[t.asterisk=42]="asterisk",t[t.backslash=92]="backslash",t[t.closeBrace=125]="closeBrace",t[t.closeBracket=93]="closeBracket",t[t.colon=58]="colon",t[t.comma=44]="comma",t[t.dot=46]="dot",t[t.doubleQuote=34]="doubleQuote",t[t.minus=45]="minus",t[t.openBrace=123]="openBrace",t[t.openBracket=91]="openBracket",t[t.plus=43]="plus",t[t.slash=47]="slash",t[t.formFeed=12]="formFeed",t[t.tab=9]="tab"})(da||(da={}));const Se=new Array(20).fill(0).map((t,e)=>" ".repeat(e)),At=200,ga={" ":{"\n":new Array(At).fill(0).map((t,e)=>`
|
||||
`+" ".repeat(e)),"\r":new Array(At).fill(0).map((t,e)=>"\r"+" ".repeat(e)),"\r\n":new Array(At).fill(0).map((t,e)=>`\r
|
||||
`+" ".repeat(e))}," ":{"\n":new Array(At).fill(0).map((t,e)=>`
|
||||
`+" ".repeat(e)),"\r":new Array(At).fill(0).map((t,e)=>"\r"+" ".repeat(e)),"\r\n":new Array(At).fill(0).map((t,e)=>`\r
|
||||
`+" ".repeat(e))}},kc=[`
|
||||
`,"\r",`\r
|
||||
`];function Rc(t,e,n){let r,i,s,a,o;if(e){for(a=e.offset,o=a+e.length,s=a;s>0&&!pa(t,s-1);)s--;let N=o;for(;N<t.length&&!pa(t,N);)N++;i=t.substring(s,N),r=Ec(i,n)}else i=t,r=0,s=0,a=0,o=t.length;const u=Mc(n,t),l=kc.includes(u);let h=0,f=0,m;n.insertSpaces?m=Se[n.tabSize||4]??kt(Se[1],n.tabSize||4):m=" ";const g=m===" "?" ":" ";let d=Mr(i,!1),p=!1;function y(){if(h>1)return kt(u,h)+kt(m,r+f);const N=m.length*(r+f);return!l||N>ga[g][u].length?u+kt(m,r+f):N<=0?u:ga[g][u][N]}function x(){let N=d.scan();for(h=0;N===15||N===14;)N===14&&n.keepLines?h+=1:N===14&&(h=1),N=d.scan();return p=N===16||d.getTokenError()!==0,N}const v=[];function b(N,E,L){!p&&(!e||E<o&&L>a)&&t.substring(E,L)!==N&&v.push({offset:E,length:L-E,content:N})}let _=x();if(n.keepLines&&h>0&&b(kt(u,h),0,0),_!==17){let N=d.getTokenOffset()+s,E=m.length*r<20&&n.insertSpaces?Se[m.length*r]:kt(m,r);b(E,s,N)}for(;_!==17;){let N=d.getTokenOffset()+d.getTokenLength()+s,E=x(),L="",S=!1;for(;h===0&&(E===12||E===13);){let D=d.getTokenOffset()+s;b(Se[1],N,D),N=d.getTokenOffset()+d.getTokenLength()+s,S=E===12,L=S?y():"",E=x()}if(E===2)_!==1&&f--,n.keepLines&&h>0||!n.keepLines&&_!==1?L=y():n.keepLines&&(L=Se[1]);else if(E===4)_!==3&&f--,n.keepLines&&h>0||!n.keepLines&&_!==3?L=y():n.keepLines&&(L=Se[1]);else{switch(_){case 3:case 1:f++,n.keepLines&&h>0||!n.keepLines?L=y():L=Se[1];break;case 5:n.keepLines&&h>0||!n.keepLines?L=y():L=Se[1];break;case 12:L=y();break;case 13:h>0?L=y():S||(L=Se[1]);break;case 6:n.keepLines&&h>0?L=y():S||(L=Se[1]);break;case 10:n.keepLines&&h>0?L=y():E===6&&!S&&(L="");break;case 7:case 8:case 9:case 11:case 2:case 4:n.keepLines&&h>0?L=y():(E===12||E===13)&&!S?L=Se[1]:E!==5&&E!==17&&(p=!0);break;case 16:p=!0;break}h>0&&(E===12||E===13)&&(L=y())}E===17&&(n.keepLines&&h>0?L=y():L=n.insertFinalNewline?u:"");const P=d.getTokenOffset()+s;b(L,N,P),_=E}return v}function kt(t,e){let n="";for(let r=0;r<e;r++)n+=t;return n}function Ec(t,e){let n=0,r=0;const i=e.tabSize||4;for(;n<t.length;){let s=t.charAt(n);if(s===Se[1])r++;else if(s===" ")r+=i;else break;n++}return Math.floor(r/i)}function Mc(t,e){for(let n=0;n<e.length;n++){const r=e.charAt(n);if(r==="\r")return n+1<e.length&&e.charAt(n+1)===`
|
||||
`?`\r
|
||||
`:"\r";if(r===`
|
||||
`)return`
|
||||
`}return t&&t.eol||`
|
||||
`}function pa(t,e){return`\r
|
||||
`.indexOf(t.charAt(e))!==-1}var kn;(function(t){t.DEFAULT={allowTrailingComma:!1}})(kn||(kn={}));function Tc(t,e=[],n=kn.DEFAULT){let r=null,i=[];const s=[];function a(u){Array.isArray(i)?i.push(u):r!==null&&(i[r]=u)}return Cc(t,{onObjectBegin:()=>{const u={};a(u),s.push(i),i=u,r=null},onObjectProperty:u=>{r=u},onObjectEnd:()=>{i=s.pop()},onArrayBegin:()=>{const u=[];a(u),s.push(i),i=u,r=null},onArrayEnd:()=>{i=s.pop()},onLiteralValue:a,onError:(u,l,h)=>{e.push({error:u,offset:l,length:h})}},n),i[0]}function ba(t){if(!t.parent||!t.parent.children)return[];const e=ba(t.parent);if(t.parent.type==="property"){const n=t.parent.children[0].value;e.push(n)}else if(t.parent.type==="array"){const n=t.parent.children.indexOf(t);n!==-1&&e.push(n)}return e}function Pr(t){switch(t.type){case"array":return t.children.map(Pr);case"object":const e=Object.create(null);for(let n of t.children){const r=n.children[1];r&&(e[n.children[0].value]=Pr(r))}return e;case"null":case"string":case"number":case"boolean":return t.value;default:return}}function Pc(t,e,n=!1){return e>=t.offset&&e<t.offset+t.length||n&&e===t.offset+t.length}function ya(t,e,n=!1){if(Pc(t,e,n)){const r=t.children;if(Array.isArray(r))for(let i=0;i<r.length&&r[i].offset<=e;i++){const s=ya(r[i],e,n);if(s)return s}return t}}function Cc(t,e,n=kn.DEFAULT){const r=Mr(t,!1),i=[];function s(w){return w?()=>w(r.getTokenOffset(),r.getTokenLength(),r.getTokenStartLine(),r.getTokenStartCharacter()):()=>!0}function a(w){return w?()=>w(r.getTokenOffset(),r.getTokenLength(),r.getTokenStartLine(),r.getTokenStartCharacter(),()=>i.slice()):()=>!0}function o(w){return w?k=>w(k,r.getTokenOffset(),r.getTokenLength(),r.getTokenStartLine(),r.getTokenStartCharacter()):()=>!0}function u(w){return w?k=>w(k,r.getTokenOffset(),r.getTokenLength(),r.getTokenStartLine(),r.getTokenStartCharacter(),()=>i.slice()):()=>!0}const l=a(e.onObjectBegin),h=u(e.onObjectProperty),f=s(e.onObjectEnd),m=a(e.onArrayBegin),g=s(e.onArrayEnd),d=u(e.onLiteralValue),p=o(e.onSeparator),y=s(e.onComment),x=o(e.onError),v=n&&n.disallowComments,b=n&&n.allowTrailingComma;function _(){for(;;){const w=r.scan();switch(r.getTokenError()){case 4:N(14);break;case 5:N(15);break;case 3:N(13);break;case 1:v||N(11);break;case 2:N(12);break;case 6:N(16);break}switch(w){case 12:case 13:v?N(10):y();break;case 16:N(1);break;case 15:case 14:break;default:return w}}}function N(w,k=[],C=[]){if(x(w),k.length+C.length>0){let I=r.getToken();for(;I!==17;){if(k.indexOf(I)!==-1){_();break}else if(C.indexOf(I)!==-1)break;I=_()}}}function E(w){const k=r.getTokenValue();return w?d(k):(h(k),i.push(k)),_(),!0}function L(){switch(r.getToken()){case 11:const w=r.getTokenValue();let k=Number(w);isNaN(k)&&(N(2),k=0),d(k);break;case 7:d(null);break;case 8:d(!0);break;case 9:d(!1);break;default:return!1}return _(),!0}function S(){return r.getToken()!==10?(N(3,[],[2,5]),!1):(E(!1),r.getToken()===6?(p(":"),_(),T()||N(4,[],[2,5])):N(5,[],[2,5]),i.pop(),!0)}function P(){l(),_();let w=!1;for(;r.getToken()!==2&&r.getToken()!==17;){if(r.getToken()===5){if(w||N(4,[],[]),p(","),_(),r.getToken()===2&&b)break}else w&&N(6,[],[]);S()||N(4,[],[2,5]),w=!0}return f(),r.getToken()!==2?N(7,[2],[]):_(),!0}function D(){m(),_();let w=!0,k=!1;for(;r.getToken()!==4&&r.getToken()!==17;){if(r.getToken()===5){if(k||N(4,[],[]),p(","),_(),r.getToken()===4&&b)break}else k&&N(6,[],[]);w?(i.push(0),w=!1):i[i.length-1]++,T()||N(4,[],[4,5]),k=!0}return g(),w||i.pop(),r.getToken()!==4?N(8,[4],[]):_(),!0}function T(){switch(r.getToken()){case 3:return D();case 1:return P();case 10:return E(!0);default:return L()}}return _(),r.getToken()===17?n.allowEmptyContent?!0:(N(4,[],[]),!1):T()?(r.getToken()!==17&&N(9,[],[]),!0):(N(4,[],[]),!1)}const it=Mr;var wa;(function(t){t[t.None=0]="None",t[t.UnexpectedEndOfComment=1]="UnexpectedEndOfComment",t[t.UnexpectedEndOfString=2]="UnexpectedEndOfString",t[t.UnexpectedEndOfNumber=3]="UnexpectedEndOfNumber",t[t.InvalidUnicode=4]="InvalidUnicode",t[t.InvalidEscapeCharacter=5]="InvalidEscapeCharacter",t[t.InvalidCharacter=6]="InvalidCharacter"})(wa||(wa={}));var xa;(function(t){t[t.OpenBraceToken=1]="OpenBraceToken",t[t.CloseBraceToken=2]="CloseBraceToken",t[t.OpenBracketToken=3]="OpenBracketToken",t[t.CloseBracketToken=4]="CloseBracketToken",t[t.CommaToken=5]="CommaToken",t[t.ColonToken=6]="ColonToken",t[t.NullKeyword=7]="NullKeyword",t[t.TrueKeyword=8]="TrueKeyword",t[t.FalseKeyword=9]="FalseKeyword",t[t.StringLiteral=10]="StringLiteral",t[t.NumericLiteral=11]="NumericLiteral",t[t.LineCommentTrivia=12]="LineCommentTrivia",t[t.BlockCommentTrivia=13]="BlockCommentTrivia",t[t.LineBreakTrivia=14]="LineBreakTrivia",t[t.Trivia=15]="Trivia",t[t.Unknown=16]="Unknown",t[t.EOF=17]="EOF"})(xa||(xa={}));const Ic=Tc,Fc=ya,Vc=ba,Dc=Pr;var va;(function(t){t[t.InvalidSymbol=1]="InvalidSymbol",t[t.InvalidNumberFormat=2]="InvalidNumberFormat",t[t.PropertyNameExpected=3]="PropertyNameExpected",t[t.ValueExpected=4]="ValueExpected",t[t.ColonExpected=5]="ColonExpected",t
Line truncated
|
||||
`,s==="\r"&&i+1<n.length&&n.charAt(i+1)===`
|
||||
`&&i++}r&&n.length>0&&e.push(n.length),this._lineOffsets=e}return this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let n=this.getLineOffsets(),r=0,i=n.length;if(i===0)return ee.create(0,e);for(;r<i;){let a=Math.floor((r+i)/2);n[a]>e?i=a:r=a+1}let s=r-1;return ee.create(s,e-n[s])}offsetAt(e){let n=this.getLineOffsets();if(e.line>=n.length)return this._content.length;if(e.line<0)return 0;let r=n[e.line],i=e.line+1<n.length?n[e.line+1]:this._content.length;return Math.max(Math.min(r+e.character,i),r)}get lineCount(){return this.getLineOffsets().length}};var R;(function(t){const e=Object.prototype.toString;function n(g){return typeof g<"u"}t.defined=n;function r(g){return typeof g>"u"}t.undefined=r;function i(g){return g===!0||g===!1}t.boolean=i;function s(g){return e.call(g)==="[object String]"}t.string=s;function a(g){return e.call(g)==="[object Number]"}t.number=a;function o(g,d,p){return e.call(g)==="[object Number]"&&d<=g&&g<=p}t.numberRange=o;function u(g){return e.call(g)==="[object Number]"&&-2147483648<=g&&g<=2147483647}t.integer=u;function l(g){return e.call(g)==="[object Number]"&&0<=g&&g<=2147483647}t.uinteger=l;function h(g){return e.call(g)==="[object Function]"}t.func=h;function f(g){return g!==null&&typeof g=="object"}t.objectLiteral=f;function m(g,d){return Array.isArray(g)&&g.every(d)}t.typedArray=m})(R||(R={}));class en{constructor(e,n,r,i){this._uri=e,this._languageId=n,this._version=r,this._content=i,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){const n=this.offsetAt(e.start),r=this.offsetAt(e.end);return this._content.substring(n,r)}return this._content}update(e,n){for(let r of e)if(en.isIncremental(r)){const i=xo(r.range),s=this.offsetAt(i.start),a=this.offsetAt(i.end);this._content=this._content.substring(0,s)+r.text+this._content.substring(a,this._content.length);const o=Math.max(i.start.line,0),u=Math.max(i.end.line,0);let l=this._lineOffsets;const h=wo(r.text,!1,s);if(u-o===h.length)for(let m=0,g=h.length;m<g;m++)l[m+o+1]=h[m];else h.length<1e4?l.splice(o+1,u-o,...h):this._lineOffsets=l=l.slice(0,o+1).concat(h,l.slice(u+1));const f=r.text.length-(a-s);if(f!==0)for(let m=o+1+h.length,g=l.length;m<g;m++)l[m]=l[m]+f}else if(en.isFull(r))this._content=r.text,this._lineOffsets=void 0;else throw new Error("Unknown change event received");this._version=n}getLineOffsets(){return this._lineOffsets===void 0&&(this._lineOffsets=wo(this._content,!0)),this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let n=this.getLineOffsets(),r=0,i=n.length;if(i===0)return{line:0,character:e};for(;r<i;){let a=Math.floor((r+i)/2);n[a]>e?i=a:r=a+1}let s=r-1;return{line:s,character:e-n[s]}}offsetAt(e){let n=this.getLineOffsets();if(e.line>=n.length)return this._content.length;if(e.line<0)return 0;let r=n[e.line],i=e.line+1<n.length?n[e.line+1]:this._content.length;return Math.max(Math.min(r+e.character,i),r)}get lineCount(){return this.getLineOffsets().length}static isIncremental(e){let n=e;return n!=null&&typeof n.text=="string"&&n.range!==void 0&&(n.rangeLength===void 0||typeof n.rangeLength=="number")}static isFull(e){let n=e;return n!=null&&typeof n.text=="string"&&n.range===void 0&&n.rangeLength===void 0}}var Ee;(function(t){function e(i,s,a,o){return new en(i,s,a,o)}t.create=e;function n(i,s,a){if(i instanceof en)return i.update(s,a),i;throw new Error("TextDocument.update: document must be created by TextDocument.create")}t.update=n;function r(i,s){let a=i.getText(),o=zr(s.map(Uc),(h,f)=>{let m=h.range.start.line-f.range.start.line;return m===0?h.range.start.character-f.range.start.character:m}),u=0;const l=[];for(const h of o){let f=i.offsetAt(h.range.start);if(f<u)throw new Error("Overlapping edit");f>u&&l.push(a.substring(u,f)),h.newText.length&&l.push(h.newText),u=i.offsetAt(h.range.end)}return l.push(a.substr(u)),l.join("")}t.applyEdits=r})(Ee||(Ee={}));function zr(t,e){if(t.length<=1)return t;const n=t.length/2|0,r=t.slice(0,n),i=t.slice(n);zr(r,e),zr(i,e);let s=0,a=0,o=0;for(;s<r.length&&a<i.length;)e(r[s],i[a])<=0?t[o++]=r[s++]:t[o++]=i[a++];for(;s<r.length;)t[o++]=r[s++];for(;a<i.length;)t[o++]=i[a++];return t}function wo(t,e,n=0){const r=e?[n]:[];for(let i=0;i<t.length;i++){let s=t.charCodeAt(i);(s===13||s===10)&&(s===13&&i+1<t.length&&t.charCodeAt(i+1)===10&&i++,r.push(n+i+1))}return r}function xo(t){const e=t.start,n=t.end;return e.line>n.line||e.line===n.line&&e.character>n.character?{start:n,end:e}:t}function Uc(t){const e=xo(t.range);return e!==t.range?{newText:t.newText,range:e}:t}var G;(function(t){t[t.Undefined=0]="Undefined",t[t.EnumValueMismatch=1]="EnumValueMismatch",t[t.Deprecated=2]="Deprecated",t[t.UnexpectedEndOfComment=257]="UnexpectedEndOfComment",t[t.UnexpectedEndOfString=258]="UnexpectedEndOfString",t[t.UnexpectedEndOfNumber=259]="UnexpectedEndOfNumber",t[t.InvalidUnicode=260]="InvalidUnicode",t[t.InvalidEscapeCharacter=261]
Line truncated
|
||||
`;for(let s=0;s<t.length;s++)i+=r+Zr(t[s],r,n),s<t.length-1&&(i+=","),i+=`
|
||||
`;return i+=e+"]",i}else{const i=Object.keys(t);if(i.length===0)return"{}";let s=`{
|
||||
`;for(let a=0;a<i.length;a++){const o=i[a];s+=r+JSON.stringify(o)+": "+Zr(t[o],r,n),a<i.length-1&&(s+=","),s+=`
|
||||
`}return s+=e+"}",s}}return n(t)}class Kc{constructor(e,n=[],r=Promise,i={}){this.schemaService=e,this.contributions=n,this.promiseConstructor=r,this.clientCapabilities=i}doResolve(e){for(let n=this.contributions.length-1;n>=0;n--){const r=this.contributions[n].resolveCompletion;if(r){const i=r(e);if(i)return i}}return this.promiseConstructor.resolve(e)}doComplete(e,n,r){const i={items:[],isIncomplete:!1},s=e.getText(),a=e.offsetAt(n);let o=r.getNodeFromOffset(a,!0);if(this.isInComment(e,o?o.offset:0,a))return Promise.resolve(i);if(o&&a===o.offset+o.length&&a>0){const m=s[a-1];(o.type==="object"&&m==="}"||o.type==="array"&&m==="]")&&(o=o.parent)}const u=this.getCurrentWord(e,a);let l;if(o&&(o.type==="string"||o.type==="number"||o.type==="boolean"||o.type==="null"))l=W.create(e.positionAt(o.offset),e.positionAt(o.offset+o.length));else{let m=a-u.length;m>0&&s[m-1]==='"'&&m--,l=W.create(e.positionAt(m),n)}const h=new Map,f={add:m=>{let g=m.label;const d=h.get(g);if(d)d.documentation||(d.documentation=m.documentation),d.detail||(d.detail=m.detail),d.labelDetails||(d.labelDetails=m.labelDetails);else{if(g=g.replace(/[\n]/g,"↵"),g.length>60){const p=g.substr(0,57).trim()+"...";h.has(p)||(g=p)}m.textEdit=Ve.replace(l,m.insertText),m.label=g,h.set(g,m),i.items.push(m)}},setAsIncomplete:()=>{i.isIncomplete=!0},error:m=>{console.error(m)},getNumberOfProposals:()=>i.items.length};return this.schemaService.getSchemaForResource(e.uri,r).then(m=>{const g=[];let d=!0,p="",y;if(o&&o.type==="string"){const v=o.parent;v&&v.type==="property"&&v.keyNode===o&&(d=!v.valueNode,y=v,p=s.substr(o.offset+1,o.length-2),v&&(o=v.parent))}if(o&&o.type==="object"){if(o.offset===a)return i;o.properties.forEach(N=>{(!y||y!==N)&&h.set(N.keyNode.value,jr.create("__"))});let b="";d&&(b=this.evaluateSeparatorAfter(e,e.offsetAt(l.end))),m?this.getPropertyCompletions(m,r,o,d,b,f):this.getSchemaLessPropertyCompletions(r,o,p,f);const _=Qr(o);this.contributions.forEach(N=>{const E=N.collectPropertyCompletions(e.uri,_,u,d,b==="",f);E&&g.push(E)}),!m&&u.length>0&&s.charAt(a-u.length-1)!=='"'&&(f.add({kind:we.Property,label:this.getLabelForValue(u),insertText:this.getInsertTextForProperty(u,void 0,!1,b),insertTextFormat:ie.Snippet,documentation:""}),f.setAsIncomplete())}const x={};return m?this.getValueCompletions(m,r,o,a,e,f,x):this.getSchemaLessValueCompletions(r,o,a,e,f),this.contributions.length>0&&this.getContributedValueCompletions(r,o,a,e,f,g),this.promiseConstructor.all(g).then(()=>{if(f.getNumberOfProposals()===0){let v=a;o&&(o.type==="string"||o.type==="number"||o.type==="boolean"||o.type==="null")&&(v=o.offset+o.length);const b=this.evaluateSeparatorAfter(e,v);this.addFillerValueCompletions(x,b,f)}return i})})}getPropertyCompletions(e,n,r,i,s,a){n.getMatchingSchemas(e.schema,r.offset).forEach(u=>{if(u.node===r&&!u.inverted){const l=u.schema.properties;l&&Object.keys(l).forEach(f=>{const m=l[f];if(typeof m=="object"&&!m.deprecationMessage&&!m.doNotSuggest){const g={kind:we.Property,label:f,insertText:this.getInsertTextForProperty(f,m,i,s),insertTextFormat:ie.Snippet,filterText:this.getFilterTextForValue(f),documentation:this.fromMarkup(m.markdownDescription)||m.description||""};m.suggestSortText!==void 0&&(g.sortText=m.suggestSortText),g.insertText&&Zt(g.insertText,`$1${s}`)&&(g.command={title:"Suggest",command:"editor.action.triggerSuggest"}),a.add(g)}});const h=u.schema.propertyNames;if(typeof h=="object"&&!h.deprecationMessage&&!h.doNotSuggest){const f=(m,g=void 0)=>{const d={kind:we.Property,label:m,insertText:this.getInsertTextForProperty(m,void 0,i,s),insertTextFormat:ie.Snippet,filterText:this.getFilterTextForValue(m),documentation:g||this.fromMarkup(h.markdownDescription)||h.description||""};h.suggestSortText!==void 0&&(d.sortText=h.suggestSortText),d.insertText&&Zt(d.insertText,`$1${s}`)&&(d.command={title:"Suggest",command:"editor.action.triggerSuggest"}),a.add(d)};if(h.enum)for(let m=0;m<h.enum.length;m++){let g;h.markdownEnumDescriptions&&m<h.markdownEnumDescriptions.length?g=this.fromMarkup(h.markdownEnumDescriptions[m]):h.enumDescriptions&&m<h.enumDescriptions.length&&(g=h.enumDescriptions[m]),f(h.enum[m],g)}h.const&&f(h.const)}}})}getSchemaLessPropertyCompletions(e,n,r,i){const s=a=>{a.properties.forEach(o=>{const u=o.keyNode.value;i.add({kind:we.Property,label:u,insertText:this.getInsertTextForValue(u,""),insertTextFormat:ie.Snippet,filterText:this.getFilterTextForValue(u),documentation:""})})};if(n.parent)if(n.parent.type==="property"){const a=n.parent.keyNode.value;e.visit(o=>(o.type==="property"&&o!==n.parent&&o.keyNode.value===a&&o.valueNode&&o.valueNode.type==="object"&&s(o.valueNode),!0))}else n.parent.type==="array"&&n.parent.items.forEach(a=>{a.type==="object"&&a!==n&&s(a)});else n.type==="object"&&i.add({kind:we.Property,label:"$schema",insertText:this.getInsertTextForProperty("$schema",void 0,!0,""),insertTextFormat:ie.Snippet,documentation:"",filterText:this.getFilterTextForValue("$schema")})}getSchemaLessValueC
Line truncated
|
||||
`,g=g+`
|
||||
`+d+"]",d+=" ",o="array";h=m+d+a.bodyText.split(`
|
||||
`).join(`
|
||||
`+d)+g+n,l=l||h,f=h.replace(/[\n]/g,"")}else return;r.add({kind:this.getSuggestionKind(o),label:l,documentation:this.fromMarkup(a.markdownDescription)||a.description,insertText:h,insertTextFormat:ie.Snippet,filterText:f}),s=!0}),!s&&typeof e.items=="object"&&!Array.isArray(e.items)&&i<5&&this.addDefaultValueCompletions(e.items,n,r,i+1)}addEnumValueCompletions(e,n,r){if(Re(e.const)&&r.add({kind:this.getSuggestionKind(e.type),label:this.getLabelForValue(e.const),insertText:this.getInsertTextForValue(e.const,n),insertTextFormat:ie.Snippet,documentation:this.fromMarkup(e.markdownDescription)||e.description}),Array.isArray(e.enum))for(let i=0,s=e.enum.length;i<s;i++){const a=e.enum[i];let o=this.fromMarkup(e.markdownDescription)||e.description;e.markdownEnumDescriptions&&i<e.markdownEnumDescriptions.length&&this.doesSupportMarkdown()?o=this.fromMarkup(e.markdownEnumDescriptions[i]):e.enumDescriptions&&i<e.enumDescriptions.length&&(o=e.enumDescriptions[i]),r.add({kind:this.getSuggestionKind(e.type),label:this.getLabelForValue(a),insertText:this.getInsertTextForValue(a,n),insertTextFormat:ie.Snippet,documentation:o})}}collectTypes(e,n){if(Array.isArray(e.enum)||Re(e.const))return;const r=e.type;Array.isArray(r)?r.forEach(i=>n[i]=!0):r&&(n[r]=!0)}addFillerValueCompletions(e,n,r){e.object&&r.add({kind:this.getSuggestionKind("object"),label:"{}",insertText:this.getInsertTextForGuessedValue({},n),insertTextFormat:ie.Snippet,detail:M("New object"),documentation:""}),e.array&&r.add({kind:this.getSuggestionKind("array"),label:"[]",insertText:this.getInsertTextForGuessedValue([],n),insertTextFormat:ie.Snippet,detail:M("New array"),documentation:""})}addBooleanValueCompletion(e,n,r){r.add({kind:this.getSuggestionKind("boolean"),label:e?"true":"false",insertText:this.getInsertTextForValue(e,n),insertTextFormat:ie.Snippet,documentation:""})}addNullValueCompletion(e,n){n.add({kind:this.getSuggestionKind("null"),label:"null",insertText:"null"+e,insertTextFormat:ie.Snippet,documentation:""})}addDollarSchemaCompletions(e,n){this.schemaService.getRegisteredSchemaIds(i=>i==="http"||i==="https").forEach(i=>{i.startsWith("http://json-schema.org/draft-")&&(i=i+"#"),n.add({kind:we.Module,label:this.getLabelForValue(i),filterText:this.getFilterTextForValue(i),insertText:this.getInsertTextForValue(i,e),insertTextFormat:ie.Snippet,documentation:""})})}getLabelForValue(e){return JSON.stringify(e)}getValueFromLabel(e){return JSON.parse(e)}getFilterTextForValue(e){return JSON.stringify(e)}getFilterTextForSnippetValue(e){return JSON.stringify(e).replace(/\$\{\d+:([^}]+)\}|\$\d+/g,"$1")}getLabelForSnippetValue(e){return JSON.stringify(e).replace(/\$\{\d+:([^}]+)\}|\$\d+/g,"$1")}getInsertTextForPlainText(e){return e.replace(/[\\\$\}]/g,"\\$&")}getInsertTextForValue(e,n){const r=JSON.stringify(e,null," ");return r==="{}"?"{$1}"+n:r==="[]"?"[$1]"+n:this.getInsertTextForPlainText(r+n)}getInsertTextForSnippetValue(e,n){return Zr(e,"",i=>typeof i=="string"&&i[0]==="^"?i.substr(1):JSON.stringify(i))+n}getInsertTextForGuessedValue(e,n){switch(typeof e){case"object":return e===null?"${1:null}"+n:this.getInsertTextForValue(e,n);case"string":let r=JSON.stringify(e);return r=r.substr(1,r.length-2),r=this.getInsertTextForPlainText(r),'"${1:'+r+'}"'+n;case"number":case"boolean":return"${1:"+JSON.stringify(e)+"}"+n}return this.getInsertTextForValue(e,n)}getSuggestionKind(e){if(Array.isArray(e)){const n=e;e=n.length>0?n[0]:void 0}if(!e)return we.Value;switch(e){case"string":return we.Value;case"object":return we.Module;case"property":return we.Property;default:return we.Value}}getLabelTextForMatchingNode(e,n){switch(e.type){case"array":return"[]";case"object":return"{}";default:return n.getText().substr(e.offset,e.length)}}getInsertTextForMatchingNode(e,n,r){switch(e.type){case"array":return this.getInsertTextForValue([],r);case"object":return this.getInsertTextForValue({},r);default:const i=n.getText().substr(e.offset,e.length)+r;return this.getInsertTextForPlainText(i)}}getInsertTextForProperty(e,n,r,i){const s=this.getInsertTextForValue(e,"");if(!r)return s;const a=s+": ";let o,u=0;if(n){if(Array.isArray(n.defaultSnippets)){if(n.defaultSnippets.length===1){const l=n.defaultSnippets[0].body;Re(l)&&(o=this.getInsertTextForSnippetValue(l,""))}u+=n.defaultSnippets.length}if(n.enum&&(!o&&n.enum.length===1&&(o=this.getInsertTextForGuessedValue(n.enum[0],"")),u+=n.enum.length),Re(n.const)&&(o||(o=this.getInsertTextForGuessedValue(n.const,"")),u++),Re(n.default)&&(o||(o=this.getInsertTextForGuessedValue(n.default,"")),u++),Array.isArray(n.examples)&&n.examples.length&&(o||(o=this.getInsertTextForGuessedValue(n.examples[0],"")),u+=n.examples.length),u===0){let l=Array.isArray(n.type)?n.type[0]:n.type;switch(l||(n.properties?l="object":n.items&&(l="array")),l){case"boolean":o="$1";break;case"string":o='"$1"';break;case"object":o="{$1}";break;case"array":o="[$1]";break;case"number":case"integer":o="${1:0}";break;case"null":o="${1:null}";break;default:return s}}}ret
Line truncated
|
||||
\r\v":{[,]}`.indexOf(i.charAt(r))===-1;)r--;return i.substring(r+1,n)}evaluateSeparatorAfter(e,n){const r=it(e.getText(),!0);switch(r.setPosition(n),r.scan()){case 5:case 2:case 4:case 17:return"";default:return","}}findItemAtOffset(e,n,r){const i=it(n.getText(),!0),s=e.items;for(let a=s.length-1;a>=0;a--){const o=s[a];if(r>o.offset+o.length)return i.setPosition(o.offset+o.length),i.scan()===5&&r>=i.getTokenOffset()+i.getTokenLength()?a+1:a;if(r>=o.offset)return a}return 0}isInComment(e,n,r){const i=it(e.getText(),!1);i.setPosition(n);let s=i.scan();for(;s!==17&&i.getTokenOffset()+i.getTokenLength()<r;)s=i.scan();return(s===12||s===13)&&i.getTokenOffset()<=r}fromMarkup(e){if(e&&this.doesSupportMarkdown())return{kind:st.Markdown,value:e}}doesSupportMarkdown(){if(!Re(this.supportsMarkdown)){const e=this.clientCapabilities.textDocument?.completion?.completionItem?.documentationFormat;this.supportsMarkdown=Array.isArray(e)&&e.indexOf(st.Markdown)!==-1}return this.supportsMarkdown}doesSupportsCommitCharacters(){return Re(this.supportsCommitCharacters)||(this.labelDetailsSupport=this.clientCapabilities.textDocument?.completion?.completionItem?.commitCharactersSupport),this.supportsCommitCharacters}doesSupportsLabelDetails(){return Re(this.labelDetailsSupport)||(this.labelDetailsSupport=this.clientCapabilities.textDocument?.completion?.completionItem?.labelDetailsSupport),this.labelDetailsSupport}}class e1{constructor(e,n=[],r){this.schemaService=e,this.contributions=n,this.promise=r||Promise}doHover(e,n,r){const i=e.offsetAt(n);let s=r.getNodeFromOffset(i);if(!s||(s.type==="object"||s.type==="array")&&i>s.offset+1&&i<s.offset+s.length-1)return this.promise.resolve(null);const a=s;if(s.type==="string"){const h=s.parent;if(h&&h.type==="property"&&h.keyNode===s&&(s=h.valueNode,!s))return this.promise.resolve(null)}const o=W.create(e.positionAt(a.offset),e.positionAt(a.offset+a.length)),u=h=>({contents:h,range:o}),l=Qr(s);for(let h=this.contributions.length-1;h>=0;h--){const m=this.contributions[h].getInfoContribution(e.uri,l);if(m)return m.then(g=>u(g))}return this.schemaService.getSchemaForResource(e.uri,r).then(h=>{if(h&&s){const f=r.getMatchingSchemas(h.schema,s.offset);let m,g,d,p;f.every(x=>{if(x.node===s&&!x.inverted&&x.schema&&(m=m||x.schema.title,g=g||x.schema.markdownDescription||Yr(x.schema.description),x.schema.enum)){const v=x.schema.enum.indexOf(ot(s));x.schema.markdownEnumDescriptions?d=x.schema.markdownEnumDescriptions[v]:x.schema.enumDescriptions&&(d=Yr(x.schema.enumDescriptions[v])),d&&(p=x.schema.enum[v],typeof p!="string"&&(p=JSON.stringify(p)))}return!0});let y="";return m&&(y=Yr(m)),g&&(y.length>0&&(y+=`
|
||||
|
||||
`),y+=g),d&&(y.length>0&&(y+=`
|
||||
|
||||
`),y+=`\`${t1(p)}\`: ${d}`),u([y])}return null})}}function Yr(t){if(t)return t.replace(/([^\n\r])(\r?\n)([^\n\r])/gm,`$1
|
||||
|
||||
$3`).replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}function t1(t){return t.indexOf("`")!==-1?"`` "+t+" ``":t}class n1{constructor(e,n){this.jsonSchemaService=e,this.promise=n,this.validationEnabled=!0}configure(e){e&&(this.validationEnabled=e.validate!==!1,this.commentSeverity=e.allowComments?void 0:ye.Error)}doValidation(e,n,r,i){if(!this.validationEnabled)return this.promise.resolve([]);const s=[],a={},o=l=>{const h=l.range.start.line+" "+l.range.start.character+" "+l.message;a[h]||(a[h]=!0,s.push(l))},u=l=>{let h=r?.trailingCommas?Cn(r.trailingCommas):ye.Error,f=r?.comments?Cn(r.comments):this.commentSeverity,m=r?.schemaValidation?Cn(r.schemaValidation):ye.Warning,g=r?.schemaRequest?Cn(r.schemaRequest):ye.Warning;if(l){const d=(p,y)=>{if(n.root&&g){const x=n.root,v=x.type==="object"?x.properties[0]:void 0;if(v&&v.keyNode.value==="$schema"){const b=v.valueNode||v,_=W.create(e.positionAt(b.offset),e.positionAt(b.offset+b.length));o(He.create(_,p,g,y))}else{const b=W.create(e.positionAt(x.offset),e.positionAt(x.offset+1));o(He.create(b,p,g,y))}}};if(l.errors.length)d(l.errors[0],G.SchemaResolveError);else if(m){for(const y of l.warnings)d(y,G.SchemaUnsupportedFeature);const p=n.validate(e,l.schema,m,r?.schemaDraft);p&&p.forEach(o)}ko(l.schema)&&(f=void 0),Ro(l.schema)&&(h=void 0)}for(const d of n.syntaxErrors){if(d.code===G.TrailingComma){if(typeof h!="number")continue;d.severity=h}o(d)}if(typeof f=="number"){const d=M("Comments are not permitted in JSON.");n.comments.forEach(p=>{o(He.create(p,d,f,G.CommentNotPermitted))})}return s};if(i){const l=i.id||"schemaservice://untitled/"+r1++;return this.jsonSchemaService.registerExternalSchema({uri:l,schema:i}).getResolvedSchema().then(f=>u(f))}return this.jsonSchemaService.getSchemaForResource(e.uri,n).then(l=>u(l))}getLanguageStatus(e,n){return{schemas:this.jsonSchemaService.getSchemaURIsForResource(e.uri,n)}}}let r1=0;function ko(t){if(t&&typeof t=="object"){if(Fe(t.allowComments))return t.allowComments;if(t.allOf)for(const e of t.allOf){const n=ko(e);if(Fe(n))return n}}}function Ro(t){if(t&&typeof t=="object"){if(Fe(t.allowTrailingCommas))return t.allowTrailingCommas;const e=t;if(Fe(e.allowsTrailingCommas))return e.allowsTrailingCommas;if(t.allOf)for(const n of t.allOf){const r=Ro(n);if(Fe(r))return r}}}function Cn(t){switch(t){case"error":return ye.Error;case"warning":return ye.Warning;case"ignore":return}}const Eo=48,i1=57,s1=65,In=97,a1=102;function ne(t){return t<Eo?0:t<=i1?t-Eo:(t<In&&(t+=In-s1),t>=In&&t<=a1?t-In+10:0)}function o1(t){if(t[0]==="#")switch(t.length){case 4:return{red:ne(t.charCodeAt(1))*17/255,green:ne(t.charCodeAt(2))*17/255,blue:ne(t.charCodeAt(3))*17/255,alpha:1};case 5:return{red:ne(t.charCodeAt(1))*17/255,green:ne(t.charCodeAt(2))*17/255,blue:ne(t.charCodeAt(3))*17/255,alpha:ne(t.charCodeAt(4))*17/255};case 7:return{red:(ne(t.charCodeAt(1))*16+ne(t.charCodeAt(2)))/255,green:(ne(t.charCodeAt(3))*16+ne(t.charCodeAt(4)))/255,blue:(ne(t.charCodeAt(5))*16+ne(t.charCodeAt(6)))/255,alpha:1};case 9:return{red:(ne(t.charCodeAt(1))*16+ne(t.charCodeAt(2)))/255,green:(ne(t.charCodeAt(3))*16+ne(t.charCodeAt(4)))/255,blue:(ne(t.charCodeAt(5))*16+ne(t.charCodeAt(6)))/255,alpha:(ne(t.charCodeAt(7))*16+ne(t.charCodeAt(8)))/255}}}class l1{constructor(e){this.schemaService=e}findDocumentSymbols(e,n,r={resultLimit:Number.MAX_VALUE}){const i=n.root;if(!i)return[];let s=r.resultLimit||Number.MAX_VALUE;const a=e.uri;if((a==="vscode://defaultsettings/keybindings.json"||Zt(a.toLowerCase(),"/user/keybindings.json"))&&i.type==="array"){const m=[];for(const g of i.items)if(g.type==="object"){for(const d of g.properties)if(d.keyNode.value==="key"&&d.valueNode){const p=Et.create(e.uri,Ye(e,g));if(m.push({name:Mo(d.valueNode),kind:De.Function,location:p}),s--,s<=0)return r&&r.onResultLimitExceeded&&r.onResultLimitExceeded(a),m}}return m}const o=[{node:i,containerName:""}];let u=0,l=!1;const h=[],f=(m,g)=>{m.type==="array"?m.items.forEach(d=>{d&&o.push({node:d,containerName:g})}):m.type==="object"&&m.properties.forEach(d=>{const p=d.valueNode;if(p)if(s>0){s--;const y=Et.create(e.uri,Ye(e,d)),x=g?g+"."+d.keyNode.value:d.keyNode.value;h.push({name:this.getKeyLabel(d),kind:this.getSymbolKind(p.type),location:y,containerName:g}),o.push({node:p,containerName:x})}else l=!0})};for(;u<o.length;){const m=o[u++];f(m.node,m.containerName)}return l&&r&&r.onResultLimitExceeded&&r.onResultLimitExceeded(a),h}findDocumentSymbols2(e,n,r={resultLimit:Number.MAX_VALUE}){const i=n.root;if(!i)return[];let s=r.resultLimit||Number.MAX_VALUE;const a=e.uri;if((a==="vscode://defaultsettings/keybindings.json"||Zt(a.toLowerCase(),"/user/keybindings.json"))&&i.type==="array"){const m=[];for(const g of i.items)if(g.type==="object"){for(const d of g.properties)if(d.keyNode.value==="key"&&d.valueNode){const p=Ye(e,g),y=Ye(e,d.keyNode);if(m.push({name:Mo(d.valueNode),kind:De.Function,range:p,selectionRange:y}),s--,s<=0)return r&&r.onResultLimitExceeded&&r.onResultLimitExceeded(a),m}}return m}const o=[],uLine truncated
|
||||
`,keepLines:e?.keepLines===!0};return Oc(t.getText(),r,i).map(s=>Ve.replace(W.create(t.positionAt(s.offset),t.positionAt(s.offset+s.length)),s.content))}var se;(function(t){t[t.Object=0]="Object",t[t.Array=1]="Array"})(se||(se={}));class Fn{constructor(e,n){this.propertyName=e??"",this.beginningLineNumber=n,this.childrenProperties=[],this.lastProperty=!1,this.noKeyName=!1}addChildProperty(e){if(e.parent=this,this.childrenProperties.length>0){let n=0;e.noKeyName?n=this.childrenProperties.length:n=x1(this.childrenProperties,e,w1),n<0&&(n=n*-1-1),this.childrenProperties.splice(n,0,e)}else this.childrenProperties.push(e);return e}}function w1(t,e){const n=t.propertyName.toLowerCase(),r=e.propertyName.toLowerCase();return n<r?-1:n>r?1:0}function x1(t,e,n){const r=e.propertyName.toLowerCase(),i=t[0].propertyName.toLowerCase(),s=t[t.length-1].propertyName.toLowerCase();if(r<i)return 0;if(r>s)return t.length;let a=0,o=t.length-1;for(;a<=o;){let u=o+a>>1,l=n(e,t[u]);if(l>0)a=u+1;else if(l<0)o=u-1;else return u}return-a-1}function v1(t,e){const n={...e,keepLines:!1},r=Ee.applyEdits(t,ei(t,n,void 0)),i=Ee.create("test://test.json","json",0,r),s=L1(i),a=N1(i,s),o=ei(a,n,void 0),u=Ee.applyEdits(a,o);return[Ve.replace(W.create(ee.create(0,0),t.positionAt(t.getText().length)),u)]}function L1(t){const e=t.getText(),n=it(e,!1);let r=new Fn,i=r,s=r,a=r,o,u=0,l=0,h,f,m=-1,g=-1,d=0,p=0,y=[],x=!1,v=!1;for(;(o=n.scan())!==17;){if(x===!0&&o!==14&&o!==15&&o!==12&&o!==13&&s.endLineNumber===void 0){let b=n.getTokenStartLine();f===2||f===4?a.endLineNumber=b-1:s.endLineNumber=b-1,d=b,x=!1}if(v===!0&&o!==14&&o!==15&&o!==12&&o!==13&&(d=n.getTokenStartLine(),v=!1),n.getTokenStartLine()!==u){for(let b=u;b<n.getTokenStartLine();b++){const _=t.getText(W.create(ee.create(b,0),ee.create(b+1,0))).length;l=l+_}u=n.getTokenStartLine()}switch(o){case 10:{if(h===void 0||h===1||h===5&&y[y.length-1]===se.Object){const b=new Fn(n.getTokenValue(),d);a=s,s=i.addChildProperty(b)}break}case 3:{if(r.beginningLineNumber===void 0&&(r.beginningLineNumber=n.getTokenStartLine()),y[y.length-1]===se.Object)i=s;else if(y[y.length-1]===se.Array){const b=new Fn(n.getTokenValue(),d);b.noKeyName=!0,a=s,s=i.addChildProperty(b),i=s}y.push(se.Array),s.type=se.Array,d=n.getTokenStartLine(),d++;break}case 1:{if(r.beginningLineNumber===void 0)r.beginningLineNumber=n.getTokenStartLine();else if(y[y.length-1]===se.Array){const b=new Fn(n.getTokenValue(),d);b.noKeyName=!0,a=s,s=i.addChildProperty(b)}s.type=se.Object,y.push(se.Object),i=s,d=n.getTokenStartLine(),d++;break}case 4:{p=n.getTokenStartLine(),y.pop(),s.endLineNumber===void 0&&(h===2||h===4)&&(s.endLineNumber=p-1,s.lastProperty=!0,s.lineWhereToAddComma=m,s.indexWhereToAddComa=g,a=s,s=s?s.parent:void 0,i=s),r.endLineNumber=p,d=p+1;break}case 2:{p=n.getTokenStartLine(),y.pop(),h!==1&&(s.endLineNumber===void 0&&(s.endLineNumber=p-1,s.lastProperty=!0,s.lineWhereToAddComma=m,s.indexWhereToAddComa=g),a=s,s=s?s.parent:void 0,i=s),r.endLineNumber=n.getTokenStartLine(),d=p+1;break}case 5:{p=n.getTokenStartLine(),s.endLineNumber===void 0&&(y[y.length-1]===se.Object||y[y.length-1]===se.Array&&(h===2||h===4))&&(s.endLineNumber=p,s.commaIndex=n.getTokenOffset()-l,s.commaLine=p),(h===2||h===4)&&(a=s,s=s?s.parent:void 0,i=s),d=p+1;break}case 13:{h===5&&m===n.getTokenStartLine()&&(y[y.length-1]===se.Array&&(f===2||f===4)||y[y.length-1]===se.Object)&&(y[y.length-1]===se.Array&&(f===2||f===4)||y[y.length-1]===se.Object)&&(s.endLineNumber=void 0,x=!0),(h===1||h===3)&&m===n.getTokenStartLine()&&(v=!0);break}}o!==14&&o!==13&&o!==12&&o!==15&&(f=h,h=o,m=n.getTokenStartLine(),g=n.getTokenOffset()+n.getTokenLength()-l)}return r}function N1(t,e){if(e.childrenProperties.length===0)return t;const n=Ee.create("test://test.json","json",0,t.getText()),r=[];for(Io(r,e,e.beginningLineNumber);r.length>0;){const i=r.shift(),s=i.propertyTreeArray;let a=i.beginningLineNumber;for(let o=0;o<s.length;o++){const u=s[o],l=W.create(ee.create(u.beginningLineNumber,0),ee.create(u.endLineNumber+1,0)),h=t.getText(l),f=Ee.create("test://test.json","json",0,h);if(u.lastProperty===!0&&o!==s.length-1){const d=u.lineWhereToAddComma-u.beginningLineNumber,p=u.indexWhereToAddComa,y={range:W.create(ee.create(d,p),ee.create(d,p)),text:","};Ee.update(f,[y],1)}else if(u.lastProperty===!1&&o===s.length-1){const d=u.commaIndex,y=u.commaLine-u.beginningLineNumber,x={range:W.create(ee.create(y,d),ee.create(y,d+1)),text:""};Ee.update(f,[x],1)}const m=u.endLineNumber-u.beginningLineNumber+1,g={range:W.create(ee.create(a,0),ee.create(a+m,0)),text:f.getText()};Ee.update(n,[g],1),Io(r,u,a),a=a+m}}return n}function Io(t,e,n){if(e.childrenProperties.length!==0)if(e.type===se.Object){let r=1/0;for(const s of e.childrenProperties)s.beginningLineNumber<r&&(r=s.beginningLineNumber);const i=r-e.beginningLineNumber;n=n+i,t.push(new Vo(n,e.childrenProperties))}else e.type===se.Array&&Fo(t,e,n)}function Fo(t,e,n){for(const r of e.childrenProperties){if(r.type===se.Object){let i=1/0;for(const
Line truncated
|
||||
File diff suppressed because it is too large.
Load diff
@@ -0,0 +1 @@
|
||||
define("vs/azcli-BA0tQDCg",["exports"],(function(e){"use strict";const t={comments:{lineComment:"#"}},n={defaultToken:"keyword",ignoreCase:!0,tokenPostfix:".azcli",str:/[^#\s]/,tokenizer:{root:[{include:"@comment"},[/\s-+@str*\s*/,{cases:{"@eos":{token:"key.identifier",next:"@popall"},"@default":{token:"key.identifier",next:"@type"}}}],[/^-+@str*\s*/,{cases:{"@eos":{token:"key.identifier",next:"@popall"},"@default":{token:"key.identifier",next:"@type"}}}]],type:[{include:"@comment"},[/-+@str*\s*/,{cases:{"@eos":{token:"key.identifier",next:"@popall"},"@default":"key.identifier"}}],[/@str+\s*/,{cases:{"@eos":{token:"string",next:"@popall"},"@default":"string"}}]],comment:[[/#.*$/,{cases:{"@eos":{token:"comment",next:"@popall"}}}]]}};e.conf=t,e.language=n,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}));
|
||||
@@ -0,0 +1 @@
|
||||
define("vs/basic-languages/monaco.contribution",["require","../editor.api-CalNCsUg"],(function(a,t){"use strict";const d={},n={};class r{static getOrCreate(s){return n[s]||(n[s]=new r(s)),n[s]}constructor(s){this._languageId=s,this._loadingTriggered=!1,this._lazyLoadPromise=new Promise((o,l)=>{this._lazyLoadPromiseResolve=o,this._lazyLoadPromiseReject=l})}load(){return this._loadingTriggered||(this._loadingTriggered=!0,d[this._languageId].loader().then(s=>this._lazyLoadPromiseResolve(s),s=>this._lazyLoadPromiseReject(s))),this._lazyLoadPromise}}function i(e){const s=e.id;d[s]=e,t.languages.register(e);const o=r.getOrCreate(s);t.languages.registerTokensProviderFactory(s,{create:async()=>(await o.load()).language}),t.languages.onLanguageEncountered(s,async()=>{const l=await o.load();t.languages.setLanguageConfiguration(s,l.conf)})}i({id:"abap",extensions:[".abap"],aliases:["abap","ABAP"],loader:()=>new Promise((e,s)=>a(["../abap-D-t0cyap"],e,s))}),i({id:"apex",extensions:[".cls"],aliases:["Apex","apex"],mimetypes:["text/x-apex-source","text/x-apex"],loader:()=>new Promise((e,s)=>a(["../apex-CcIm7xu6"],e,s))}),i({id:"azcli",extensions:[".azcli"],aliases:["Azure CLI","azcli"],loader:()=>new Promise((e,s)=>a(["../azcli-BA0tQDCg"],e,s))}),i({id:"bat",extensions:[".bat",".cmd"],aliases:["Batch","bat"],loader:()=>new Promise((e,s)=>a(["../bat-C397hTD6"],e,s))}),i({id:"bicep",extensions:[".bicep"],aliases:["Bicep"],loader:()=>new Promise((e,s)=>a(["../bicep-DF5aW17k"],e,s))}),i({id:"cameligo",extensions:[".mligo"],aliases:["Cameligo"],loader:()=>new Promise((e,s)=>a(["../cameligo-plsz8qhj"],e,s))}),i({id:"clojure",extensions:[".clj",".cljs",".cljc",".edn"],aliases:["clojure","Clojure"],loader:()=>new Promise((e,s)=>a(["../clojure-Y2auQMzK"],e,s))}),i({id:"coffeescript",extensions:[".coffee"],aliases:["CoffeeScript","coffeescript","coffee"],mimetypes:["text/x-coffeescript","text/coffeescript"],loader:()=>new Promise((e,s)=>a(["../coffee-Bu45yuWE"],e,s))}),i({id:"c",extensions:[".c",".h"],aliases:["C","c"],loader:()=>new Promise((e,s)=>a(["../cpp-CkKPQIni"],e,s))}),i({id:"cpp",extensions:[".cpp",".cc",".cxx",".hpp",".hh",".hxx"],aliases:["C++","Cpp","cpp"],loader:()=>new Promise((e,s)=>a(["../cpp-CkKPQIni"],e,s))}),i({id:"csharp",extensions:[".cs",".csx",".cake"],aliases:["C#","csharp"],loader:()=>new Promise((e,s)=>a(["../csharp-CX28MZyh"],e,s))}),i({id:"csp",extensions:[".csp"],aliases:["CSP","csp"],loader:()=>new Promise((e,s)=>a(["../csp-D8uWnyxW"],e,s))}),i({id:"css",extensions:[".css"],aliases:["CSS","css"],mimetypes:["text/css"],loader:()=>new Promise((e,s)=>a(["../css-CaeNmE3S"],e,s))}),i({id:"cypher",extensions:[".cypher",".cyp"],aliases:["Cypher","OpenCypher"],loader:()=>new Promise((e,s)=>a(["../cypher-DVThT8BS"],e,s))}),i({id:"dart",extensions:[".dart"],aliases:["Dart","dart"],mimetypes:["text/x-dart-source","text/x-dart"],loader:()=>new Promise((e,s)=>a(["../dart-CmGfCvrO"],e,s))}),i({id:"dockerfile",extensions:[".dockerfile"],filenames:["Dockerfile"],aliases:["Dockerfile"],loader:()=>new Promise((e,s)=>a(["../dockerfile-CZqqYdch"],e,s))}),i({id:"ecl",extensions:[".ecl"],aliases:["ECL","Ecl","ecl"],loader:()=>new Promise((e,s)=>a(["../ecl-30fUercY"],e,s))}),i({id:"elixir",extensions:[".ex",".exs"],aliases:["Elixir","elixir","ex"],loader:()=>new Promise((e,s)=>a(["../elixir-xjPaIfzF"],e,s))}),i({id:"flow9",extensions:[".flow"],aliases:["Flow9","Flow","flow9","flow"],loader:()=>new Promise((e,s)=>a(["../flow9-DqtmStfK"],e,s))}),i({id:"fsharp",extensions:[".fs",".fsi",".ml",".mli",".fsx",".fsscript"],aliases:["F#","FSharp","fsharp"],loader:()=>new Promise((e,s)=>a(["../fsharp-BOMdg4U1"],e,s))}),i({id:"freemarker2",extensions:[".ftl",".ftlh",".ftlx"],aliases:["FreeMarker2","Apache FreeMarker2"],loader:()=>new Promise((e,s)=>a(["../freemarker2-Cz_sV6Md"],e,s)).then(e=>e.TagAutoInterpolationDollar)}),i({id:"freemarker2.tag-angle.interpolation-dollar",aliases:["FreeMarker2 (Angle/Dollar)","Apache FreeMarker2 (Angle/Dollar)"],loader:()=>new Promise((e,s)=>a(["../freemarker2-Cz_sV6Md"],e,s)).then(e=>e.TagAngleInterpolationDollar)}),i({id:"freemarker2.tag-bracket.interpolation-dollar",aliases:["FreeMarker2 (Bracket/Dollar)","Apache FreeMarker2 (Bracket/Dollar)"],loader:()=>new Promise((e,s)=>a(["../freemarker2-Cz_sV6Md"],e,s)).then(e=>e.TagBracketInterpolationDollar)}),i({id:"freemarker2.tag-angle.interpolation-bracket",aliases:["FreeMarker2 (Angle/Bracket)","Apache FreeMarker2 (Angle/Bracket)"],loader:()=>new Promise((e,s)=>a(["../freemarker2-Cz_sV6Md"],e,s)).then(e=>e.TagAngleInterpolationBracket)}),i({id:"freemarker2.tag-bracket.interpolation-bracket",aliases:["FreeMarker2 (Bracket/Bracket)","Apache FreeMarker2 (Bracket/Bracket)"],loader:()=>new Promise((e,s)=>a(["../freemarker2-Cz_sV6Md"],e,s)).then(e=>e.TagBracketInterpolationBracket)}),i({id:"freemarker2.tag-auto.interpolation-dollar",aliases:["FreeMarker2 (Auto/Dollar)","Apache FreeMarker2 (Auto/Dollar)"],loader:()=>new Promise((e,s)=>a(["../freemarker2-Cz_Line truncated
|
||||
@@ -0,0 +1 @@
|
||||
define("vs/bat-C397hTD6",["exports"],(function(e){"use strict";const o={comments:{lineComment:"REM"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'}],surroundingPairs:[{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'}],folding:{markers:{start:new RegExp("^\\s*(::\\s*|REM\\s+)#region"),end:new RegExp("^\\s*(::\\s*|REM\\s+)#endregion")}}},s={defaultToken:"",ignoreCase:!0,tokenPostfix:".bat",brackets:[{token:"delimiter.bracket",open:"{",close:"}"},{token:"delimiter.parenthesis",open:"(",close:")"},{token:"delimiter.square",open:"[",close:"]"}],keywords:/call|defined|echo|errorlevel|exist|for|goto|if|pause|set|shift|start|title|not|pushd|popd/,symbols:/[=><!~?&|+\-*\/\^;\.,]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/^(\s*)(rem(?:\s.*|))$/,["","comment"]],[/(\@?)(@keywords)(?!\w)/,[{token:"keyword"},{token:"keyword.$2"}]],[/[ \t\r\n]+/,""],[/setlocal(?!\w)/,"keyword.tag-setlocal"],[/endlocal(?!\w)/,"keyword.tag-setlocal"],[/[a-zA-Z_]\w*/,""],[/:\w*/,"metatag"],[/%[^%]+%/,"variable"],[/%%[\w]+(?!\w)/,"variable"],[/[{}()\[\]]/,"@brackets"],[/@symbols/,"delimiter"],[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float"],[/0[xX][0-9a-fA-F_]*[0-9a-fA-F]/,"number.hex"],[/\d+/,"number"],[/[;,.]/,"delimiter"],[/"/,"string",'@string."'],[/'/,"string","@string.'"]],string:[[/[^\\"'%]+/,{cases:{"@eos":{token:"string",next:"@popall"},"@default":"string"}}],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/%[\w ]+%/,"variable"],[/%%[\w]+(?!\w)/,"variable"],[/["']/,{cases:{"$#==$S2":{token:"string",next:"@pop"},"@default":"string"}}],[/$/,"string","@popall"]]}};e.conf=o,e.language=s,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}));
|
||||
@@ -0,0 +1,2 @@
|
||||
define("vs/bicep-DF5aW17k",["exports"],(function(e){"use strict";const n=(a=>`\\b${a}\\b`)("[_a-zA-Z][_a-zA-Z0-9]*"),t=["targetScope","resource","module","param","var","output","for","in","if","existing"],o=["true","false","null"],i="[ \\t\\r\\n]",r="[0-9]+",c={comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"'",close:"'"},{open:"'''",close:"'''"}],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"'",close:"'",notIn:["string","comment"]},{open:"'''",close:"'''",notIn:["string","comment"]}],autoCloseBefore:`:.,=}])'
|
||||
`,indentationRules:{increaseIndentPattern:new RegExp("^((?!\\/\\/).)*(\\{[^}\"'`]*|\\([^)\"'`]*|\\[[^\\]\"'`]*)$"),decreaseIndentPattern:new RegExp("^((?!.*?\\/\\*).*\\*/)?\\s*[\\}\\]].*$")}},s={defaultToken:"",tokenPostfix:".bicep",brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"}],symbols:/[=><!~?:&|+\-*/^%]+/,keywords:t,namedLiterals:o,escapes:"\\\\(u{[0-9A-Fa-f]+}|n|r|t|\\\\|'|\\${)",tokenizer:{root:[{include:"@expression"},{include:"@whitespace"}],stringVerbatim:[{regex:"(|'|'')[^']",action:{token:"string"}},{regex:"'''",action:{token:"string.quote",next:"@pop"}}],stringLiteral:[{regex:"\\${",action:{token:"delimiter.bracket",next:"@bracketCounting"}},{regex:"[^\\\\'$]+",action:{token:"string"}},{regex:"@escapes",action:{token:"string.escape"}},{regex:"\\\\.",action:{token:"string.escape.invalid"}},{regex:"'",action:{token:"string",next:"@pop"}}],bracketCounting:[{regex:"{",action:{token:"delimiter.bracket",next:"@bracketCounting"}},{regex:"}",action:{token:"delimiter.bracket",next:"@pop"}},{include:"expression"}],comment:[{regex:"[^\\*]+",action:{token:"comment"}},{regex:"\\*\\/",action:{token:"comment",next:"@pop"}},{regex:"[\\/*]",action:{token:"comment"}}],whitespace:[{regex:i},{regex:"\\/\\*",action:{token:"comment",next:"@comment"}},{regex:"\\/\\/.*$",action:{token:"comment"}}],expression:[{regex:"'''",action:{token:"string.quote",next:"@stringVerbatim"}},{regex:"'",action:{token:"string.quote",next:"@stringLiteral"}},{regex:r,action:{token:"number"}},{regex:n,action:{cases:{"@keywords":{token:"keyword"},"@namedLiterals":{token:"keyword"},"@default":{token:"identifier"}}}}]}};e.conf=c,e.language=s,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}));
|
||||
@@ -0,0 +1 @@
|
||||
define("vs/cameligo-plsz8qhj",["exports"],(function(e){"use strict";const o={comments:{lineComment:"//",blockComment:["(*","*)"]},brackets:[["{","}"],["[","]"],["(",")"],["<",">"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"},{open:"'",close:"'"},{open:'"',close:'"'},{open:"(*",close:"*)"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"},{open:"'",close:"'"},{open:'"',close:'"'},{open:"(*",close:"*)"}]},t={defaultToken:"",tokenPostfix:".cameligo",ignoreCase:!0,brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}],keywords:["abs","assert","block","Bytes","case","Crypto","Current","else","failwith","false","for","fun","if","in","let","let%entry","let%init","List","list","Map","map","match","match%nat","mod","not","operation","Operation","of","record","Set","set","sender","skip","source","String","then","to","true","type","with"],typeKeywords:["int","unit","string","tz","nat","bool"],operators:["=",">","<","<=",">=","<>",":",":=","and","mod","or","+","-","*","/","@","&","^","%","->","<-","&&","||"],symbols:/[=><:@\^&|+\-*\/\^%]+/,tokenizer:{root:[[/[a-zA-Z_][\w]*/,{cases:{"@keywords":{token:"keyword.$0"},"@default":"identifier"}}],{include:"@whitespace"},[/[{}()\[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float"],[/\$[0-9a-fA-F]{1,16}/,"number.hex"],[/\d+/,"number"],[/[;,.]/,"delimiter"],[/'([^'\\]|\\.)*$/,"string.invalid"],[/'/,"string","@string"],[/'[^\\']'/,"string"],[/'/,"string.invalid"],[/\#\d+/,"string"]],comment:[[/[^\(\*]+/,"comment"],[/\*\)/,"comment","@pop"],[/\(\*/,"comment"]],string:[[/[^\\']+/,"string"],[/\\./,"string.escape.invalid"],[/'/,{token:"string.quote",bracket:"@close",next:"@pop"}]],whitespace:[[/[ \t\r\n]+/,"white"],[/\(\*/,"comment","@comment"],[/\/\/.*$/,"comment"]]}};e.conf=o,e.language=t,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}));
|
||||
@@ -0,0 +1 @@
|
||||
define("vs/clojure-Y2auQMzK",["exports"],(function(e){"use strict";const t={comments:{lineComment:";;"},brackets:[["[","]"],["(",")"],["{","}"]],autoClosingPairs:[{open:"[",close:"]"},{open:'"',close:'"'},{open:"(",close:")"},{open:"{",close:"}"}],surroundingPairs:[{open:"[",close:"]"},{open:'"',close:'"'},{open:"(",close:")"},{open:"{",close:"}"}]},n={defaultToken:"",ignoreCase:!0,tokenPostfix:".clj",brackets:[{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"{",close:"}",token:"delimiter.curly"}],constants:["true","false","nil"],numbers:/^(?:[+\-]?\d+(?:(?:N|(?:[eE][+\-]?\d+))|(?:\.?\d*(?:M|(?:[eE][+\-]?\d+))?)|\/\d+|[xX][0-9a-fA-F]+|r[0-9a-zA-Z]+)?(?=[\\\[\]\s"#'(),;@^`{}~]|$))/,characters:/^(?:\\(?:backspace|formfeed|newline|return|space|tab|o[0-7]{3}|u[0-9A-Fa-f]{4}|x[0-9A-Fa-f]{4}|.)?(?=[\\\[\]\s"(),;@^`{}~]|$))/,escapes:/^\\(?:["'\\bfnrt]|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,qualifiedSymbols:/^(?:(?:[^\\\/\[\]\d\s"#'(),;@^`{}~][^\\\[\]\s"(),;@^`{}~]*(?:\.[^\\\/\[\]\d\s"#'(),;@^`{}~][^\\\[\]\s"(),;@^`{}~]*)*\/)?(?:\/|[^\\\/\[\]\d\s"#'(),;@^`{}~][^\\\[\]\s"(),;@^`{}~]*)*(?=[\\\[\]\s"(),;@^`{}~]|$))/,specialForms:[".","catch","def","do","if","monitor-enter","monitor-exit","new","quote","recur","set!","throw","try","var"],coreSymbols:["*","*'","*1","*2","*3","*agent*","*allow-unresolved-vars*","*assert*","*clojure-version*","*command-line-args*","*compile-files*","*compile-path*","*compiler-options*","*data-readers*","*default-data-reader-fn*","*e","*err*","*file*","*flush-on-newline*","*fn-loader*","*in*","*math-context*","*ns*","*out*","*print-dup*","*print-length*","*print-level*","*print-meta*","*print-namespace-maps*","*print-readably*","*read-eval*","*reader-resolver*","*source-path*","*suppress-read*","*unchecked-math*","*use-context-classloader*","*verbose-defrecords*","*warn-on-reflection*","+","+'","-","-'","->","->>","->ArrayChunk","->Eduction","->Vec","->VecNode","->VecSeq","-cache-protocol-fn","-reset-methods","..","/","<","<=","=","==",">",">=","EMPTY-NODE","Inst","StackTraceElement->vec","Throwable->map","accessor","aclone","add-classpath","add-watch","agent","agent-error","agent-errors","aget","alength","alias","all-ns","alter","alter-meta!","alter-var-root","amap","ancestors","and","any?","apply","areduce","array-map","as->","aset","aset-boolean","aset-byte","aset-char","aset-double","aset-float","aset-int","aset-long","aset-short","assert","assoc","assoc!","assoc-in","associative?","atom","await","await-for","await1","bases","bean","bigdec","bigint","biginteger","binding","bit-and","bit-and-not","bit-clear","bit-flip","bit-not","bit-or","bit-set","bit-shift-left","bit-shift-right","bit-test","bit-xor","boolean","boolean-array","boolean?","booleans","bound-fn","bound-fn*","bound?","bounded-count","butlast","byte","byte-array","bytes","bytes?","case","cast","cat","char","char-array","char-escape-string","char-name-string","char?","chars","chunk","chunk-append","chunk-buffer","chunk-cons","chunk-first","chunk-next","chunk-rest","chunked-seq?","class","class?","clear-agent-errors","clojure-version","coll?","comment","commute","comp","comparator","compare","compare-and-set!","compile","complement","completing","concat","cond","cond->","cond->>","condp","conj","conj!","cons","constantly","construct-proxy","contains?","count","counted?","create-ns","create-struct","cycle","dec","dec'","decimal?","declare","dedupe","default-data-readers","definline","definterface","defmacro","defmethod","defmulti","defn","defn-","defonce","defprotocol","defrecord","defstruct","deftype","delay","delay?","deliver","denominator","deref","derive","descendants","destructure","disj","disj!","dissoc","dissoc!","distinct","distinct?","doall","dorun","doseq","dosync","dotimes","doto","double","double-array","double?","doubles","drop","drop-last","drop-while","eduction","empty","empty?","ensure","ensure-reduced","enumeration-seq","error-handler","error-mode","eval","even?","every-pred","every?","ex-data","ex-info","extend","extend-protocol","extend-type","extenders","extends?","false?","ffirst","file-seq","filter","filterv","find","find-keyword","find-ns","find-protocol-impl","find-protocol-method","find-var","first","flatten","float","float-array","float?","floats","flush","fn","fn?","fnext","fnil","for","force","format","frequencies","future","future-call","future-cancel","future-cancelled?","future-done?","future?","gen-class","gen-interface","gensym","get","get-in","get-method","get-proxy-class","get-thread-bindings","get-validator","group-by","halt-when","hash","hash-combine","hash-map","hash-ordered-coll","hash-set","hash-unordered-coll","ident?","identical?","identity","if-let","if-not","if-some","ifn?","import","in-ns","inc","inc'","indexed?","init-proxy","inst-ms","inst-ms*","inst?","instance?","int","int-array","int?","integer?","interleave","intern","interpose","into","into-array","ints","io!","isa?","iterate","iterator-seq","juxt","keep","kLine truncated
|
||||
@@ -0,0 +1 @@
|
||||
define("vs/coffee-Bu45yuWE",["exports"],(function(e){"use strict";const n={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\#%\^\&\*\(\)\=\$\-\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{blockComment:["###","###"],lineComment:"#"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{markers:{start:new RegExp("^\\s*#region\\b"),end:new RegExp("^\\s*#endregion\\b")}}},t={defaultToken:"",ignoreCase:!0,tokenPostfix:".coffee",brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"}],regEx:/\/(?!\/\/)(?:[^\/\\]|\\.)*\/[igm]*/,keywords:["and","or","is","isnt","not","on","yes","@","no","off","true","false","null","this","new","delete","typeof","in","instanceof","return","throw","break","continue","debugger","if","else","switch","for","while","do","try","catch","finally","class","extends","super","undefined","then","unless","until","loop","of","by","when"],symbols:/[=><!~?&%|+\-*\/\^\.,\:]+/,escapes:/\\(?:[abfnrtv\\"'$]|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/\@[a-zA-Z_]\w*/,"variable.predefined"],[/[a-zA-Z_]\w*/,{cases:{this:"variable.predefined","@keywords":{token:"keyword.$0"},"@default":""}}],[/[ \t\r\n]+/,""],[/###/,"comment","@comment"],[/#.*$/,"comment"],["///",{token:"regexp",next:"@hereregexp"}],[/^(\s*)(@regEx)/,["","regexp"]],[/(\()(\s*)(@regEx)/,["@brackets","","regexp"]],[/(\,)(\s*)(@regEx)/,["delimiter","","regexp"]],[/(\=)(\s*)(@regEx)/,["delimiter","","regexp"]],[/(\:)(\s*)(@regEx)/,["delimiter","","regexp"]],[/(\[)(\s*)(@regEx)/,["@brackets","","regexp"]],[/(\!)(\s*)(@regEx)/,["delimiter","","regexp"]],[/(\&)(\s*)(@regEx)/,["delimiter","","regexp"]],[/(\|)(\s*)(@regEx)/,["delimiter","","regexp"]],[/(\?)(\s*)(@regEx)/,["delimiter","","regexp"]],[/(\{)(\s*)(@regEx)/,["@brackets","","regexp"]],[/(\;)(\s*)(@regEx)/,["","","regexp"]],[/}/,{cases:{"$S2==interpolatedstring":{token:"string",next:"@pop"},"@default":"@brackets"}}],[/[{}()\[\]]/,"@brackets"],[/@symbols/,"delimiter"],[/\d+[eE]([\-+]?\d+)?/,"number.float"],[/\d+\.\d+([eE][\-+]?\d+)?/,"number.float"],[/0[xX][0-9a-fA-F]+/,"number.hex"],[/0[0-7]+(?!\d)/,"number.octal"],[/\d+/,"number"],[/[,.]/,"delimiter"],[/"""/,"string",'@herestring."""'],[/'''/,"string","@herestring.'''"],[/"/,{cases:{"@eos":"string","@default":{token:"string",next:'@string."'}}}],[/'/,{cases:{"@eos":"string","@default":{token:"string",next:"@string.'"}}}]],string:[[/[^"'\#\\]+/,"string"],[/@escapes/,"string.escape"],[/\./,"string.escape.invalid"],[/\./,"string.escape.invalid"],[/#{/,{cases:{'$S2=="':{token:"string",next:"root.interpolatedstring"},"@default":"string"}}],[/["']/,{cases:{"$#==$S2":{token:"string",next:"@pop"},"@default":"string"}}],[/#/,"string"]],herestring:[[/("""|''')/,{cases:{"$1==$S2":{token:"string",next:"@pop"},"@default":"string"}}],[/[^#\\'"]+/,"string"],[/['"]+/,"string"],[/@escapes/,"string.escape"],[/\./,"string.escape.invalid"],[/#{/,{token:"string.quote",next:"root.interpolatedstring"}],[/#/,"string"]],comment:[[/[^#]+/,"comment"],[/###/,"comment","@pop"],[/#/,"comment"]],hereregexp:[[/[^\\\/#]+/,"regexp"],[/\\./,"regexp"],[/#.*$/,"comment"],["///[igm]*",{token:"regexp",next:"@pop"}],[/\//,"regexp"]]}};e.conf=n,e.language=t,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}));
|
||||
@@ -0,0 +1 @@
|
||||
define("vs/cpp-CkKPQIni",["exports"],(function(e){"use strict";const n={comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"[",close:"]"},{open:"{",close:"}"},{open:"(",close:")"},{open:"'",close:"'",notIn:["string","comment"]},{open:'"',close:'"',notIn:["string"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{markers:{start:new RegExp("^\\s*#pragma\\s+region\\b"),end:new RegExp("^\\s*#pragma\\s+endregion\\b")}}},t={defaultToken:"",tokenPostfix:".cpp",brackets:[{token:"delimiter.curly",open:"{",close:"}"},{token:"delimiter.parenthesis",open:"(",close:")"},{token:"delimiter.square",open:"[",close:"]"},{token:"delimiter.angle",open:"<",close:">"}],keywords:["abstract","amp","array","auto","bool","break","case","catch","char","class","const","constexpr","const_cast","continue","cpu","decltype","default","delegate","delete","do","double","dynamic_cast","each","else","enum","event","explicit","export","extern","false","final","finally","float","for","friend","gcnew","generic","goto","if","in","initonly","inline","int","interface","interior_ptr","internal","literal","long","mutable","namespace","new","noexcept","nullptr","__nullptr","operator","override","partial","pascal","pin_ptr","private","property","protected","public","ref","register","reinterpret_cast","restrict","return","safe_cast","sealed","short","signed","sizeof","static","static_assert","static_cast","struct","switch","template","this","thread_local","throw","tile_static","true","try","typedef","typeid","typename","union","unsigned","using","virtual","void","volatile","wchar_t","where","while","_asm","_based","_cdecl","_declspec","_fastcall","_if_exists","_if_not_exists","_inline","_multiple_inheritance","_pascal","_single_inheritance","_stdcall","_virtual_inheritance","_w64","__abstract","__alignof","__asm","__assume","__based","__box","__builtin_alignof","__cdecl","__clrcall","__declspec","__delegate","__event","__except","__fastcall","__finally","__forceinline","__gc","__hook","__identifier","__if_exists","__if_not_exists","__inline","__int128","__int16","__int32","__int64","__int8","__interface","__leave","__m128","__m128d","__m128i","__m256","__m256d","__m256i","__m512","__m512d","__m512i","__m64","__multiple_inheritance","__newslot","__nogc","__noop","__nounwind","__novtordisp","__pascal","__pin","__pragma","__property","__ptr32","__ptr64","__raise","__restrict","__resume","__sealed","__single_inheritance","__stdcall","__super","__thiscall","__try","__try_cast","__typeof","__unaligned","__unhook","__uuidof","__value","__virtual_inheritance","__w64","__wchar_t"],operators:["=",">","<","!","~","?",":","==","<=",">=","!=","&&","||","++","--","+","-","*","/","&","|","^","%","<<",">>","+=","-=","*=","/=","&=","|=","^=","%=","<<=",">>="],symbols:/[=><!~?:&|+\-*\/\^%]+/,escapes:/\\(?:[0abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,integersuffix:/([uU](ll|LL|l|L)|(ll|LL|l|L)?[uU]?)/,floatsuffix:/[fFlL]?/,encoding:/u|u8|U|L/,tokenizer:{root:[[/@encoding?R\"(?:([^ ()\\\t]*))\(/,{token:"string.raw.begin",next:"@raw.$1"}],[/[a-zA-Z_]\w*/,{cases:{"@keywords":{token:"keyword.$0"},"@default":"identifier"}}],[/^\s*#\s*include/,{token:"keyword.directive.include",next:"@include"}],[/^\s*#\s*\w+/,"keyword.directive"],{include:"@whitespace"},[/\[\s*\[/,{token:"annotation",next:"@annotation"}],[/[{}()<>\[\]]/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/\d*\d+[eE]([\-+]?\d+)?(@floatsuffix)/,"number.float"],[/\d*\.\d+([eE][\-+]?\d+)?(@floatsuffix)/,"number.float"],[/0[xX][0-9a-fA-F']*[0-9a-fA-F](@integersuffix)/,"number.hex"],[/0[0-7']*[0-7](@integersuffix)/,"number.octal"],[/0[bB][0-1']*[0-1](@integersuffix)/,"number.binary"],[/\d[\d']*\d(@integersuffix)/,"number"],[/\d(@integersuffix)/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string"],[/'[^\\']'/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@doccomment"],[/\/\*/,"comment","@comment"],[/\/\/.*\\$/,"comment","@linecomment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],linecomment:[[/.*[^\\]$/,"comment","@pop"],[/[^]+/,"comment"]],doccomment:[[/[^\/*]+/,"comment.doc"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]],raw:[[/[^)]+/,"string.raw"],[/\)$S2\"/,{token:"string.raw.end",next:"@pop"}],[/\)/,"string.raw"]],annotation:[{include:"@whitespace"},[/using|alignas/,"keyword"],[/[a-zA-Z0-9_]+/,"annotation"],[/[,:]/,"delimiter"],[/[()]/,"@brackets"],[/\]\s*\]/,{token:"annotation",next:"@pop"}]],include:[[/(\s*)(<)([^<>]*)(>)/,["","keyword.directive.include.begin","string.include.identifier",{tokenLine truncated
|
||||
@@ -0,0 +1 @@
|
||||
define("vs/csharp-CX28MZyh",["exports"],(function(e){"use strict";const t={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\#\$\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"'",close:"'",notIn:["string","comment"]},{open:'"',close:'"',notIn:["string","comment"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"},{open:"'",close:"'"},{open:'"',close:'"'}],folding:{markers:{start:new RegExp("^\\s*#region\\b"),end:new RegExp("^\\s*#endregion\\b")}}},n={defaultToken:"",tokenPostfix:".cs",brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}],keywords:["extern","alias","using","bool","decimal","sbyte","byte","short","ushort","int","uint","long","ulong","char","float","double","object","dynamic","string","assembly","is","as","ref","out","this","base","new","typeof","void","checked","unchecked","default","delegate","var","const","if","else","switch","case","while","do","for","foreach","in","break","continue","goto","return","throw","try","catch","finally","lock","yield","from","let","where","join","on","equals","into","orderby","ascending","descending","select","group","by","namespace","partial","class","field","event","method","param","public","protected","internal","private","abstract","sealed","static","struct","readonly","volatile","virtual","override","params","get","set","add","remove","operator","true","false","implicit","explicit","interface","enum","null","async","await","fixed","sizeof","stackalloc","unsafe","nameof","when"],namespaceFollows:["namespace","using"],parenFollows:["if","for","while","switch","foreach","using","catch","when"],operators:["=","??","||","&&","|","^","&","==","!=","<=",">=","<<","+","-","*","/","%","!","~","++","--","+=","-=","*=","/=","%=","&=","|=","^=","<<=",">>=",">>","=>"],symbols:/[=><!~?:&|+\-*\/\^%]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/\@?[a-zA-Z_]\w*/,{cases:{"@namespaceFollows":{token:"keyword.$0",next:"@namespace"},"@keywords":{token:"keyword.$0",next:"@qualified"},"@default":{token:"identifier",next:"@qualified"}}}],{include:"@whitespace"},[/}/,{cases:{"$S2==interpolatedstring":{token:"string.quote",next:"@pop"},"$S2==litinterpstring":{token:"string.quote",next:"@pop"},"@default":"@brackets"}}],[/[{}()\[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/[0-9_]*\.[0-9_]+([eE][\-+]?\d+)?[fFdD]?/,"number.float"],[/0[xX][0-9a-fA-F_]+/,"number.hex"],[/0[bB][01_]+/,"number.hex"],[/[0-9_]+/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,{token:"string.quote",next:"@string"}],[/\$\@"/,{token:"string.quote",next:"@litinterpstring"}],[/\@"/,{token:"string.quote",next:"@litstring"}],[/\$"/,{token:"string.quote",next:"@interpolatedstring"}],[/'[^\\']'/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],qualified:[[/[a-zA-Z_][\w]*/,{cases:{"@keywords":{token:"keyword.$0"},"@default":"identifier"}}],[/\./,"delimiter"],["","","@pop"]],namespace:[{include:"@whitespace"},[/[A-Z]\w*/,"namespace"],[/[\.=]/,"delimiter"],["","","@pop"]],comment:[[/[^\/*]+/,"comment"],["\\*/","comment","@pop"],[/[\/*]/,"comment"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,{token:"string.quote",next:"@pop"}]],litstring:[[/[^"]+/,"string"],[/""/,"string.escape"],[/"/,{token:"string.quote",next:"@pop"}]],litinterpstring:[[/[^"{]+/,"string"],[/""/,"string.escape"],[/{{/,"string.escape"],[/}}/,"string.escape"],[/{/,{token:"string.quote",next:"root.litinterpstring"}],[/"/,{token:"string.quote",next:"@pop"}]],interpolatedstring:[[/[^\\"{]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/{{/,"string.escape"],[/}}/,"string.escape"],[/{/,{token:"string.quote",next:"root.interpolatedstring"}],[/"/,{token:"string.quote",next:"@pop"}]],whitespace:[[/^[ \t\v\f]*#((r)|(load))(?=\s)/,"directive.csx"],[/^[ \t\v\f]*#\w.*$/,"namespace.cpp"],[/[ \t\v\f\r\n]+/,""],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]]}};e.conf=t,e.language=n,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}));
|
||||
@@ -0,0 +1 @@
|
||||
define("vs/csp-D8uWnyxW",["exports"],(function(t){"use strict";const e={brackets:[],autoClosingPairs:[],surroundingPairs:[]},r={keywords:[],typeKeywords:[],tokenPostfix:".csp",operators:[],symbols:/[=><!~?:&|+\-*\/\^%]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/child-src/,"string.quote"],[/connect-src/,"string.quote"],[/default-src/,"string.quote"],[/font-src/,"string.quote"],[/frame-src/,"string.quote"],[/img-src/,"string.quote"],[/manifest-src/,"string.quote"],[/media-src/,"string.quote"],[/object-src/,"string.quote"],[/script-src/,"string.quote"],[/style-src/,"string.quote"],[/worker-src/,"string.quote"],[/base-uri/,"string.quote"],[/plugin-types/,"string.quote"],[/sandbox/,"string.quote"],[/disown-opener/,"string.quote"],[/form-action/,"string.quote"],[/frame-ancestors/,"string.quote"],[/report-uri/,"string.quote"],[/report-to/,"string.quote"],[/upgrade-insecure-requests/,"string.quote"],[/block-all-mixed-content/,"string.quote"],[/require-sri-for/,"string.quote"],[/reflected-xss/,"string.quote"],[/referrer/,"string.quote"],[/policy-uri/,"string.quote"],[/'self'/,"string.quote"],[/'unsafe-inline'/,"string.quote"],[/'unsafe-eval'/,"string.quote"],[/'strict-dynamic'/,"string.quote"],[/'unsafe-hashed-attributes'/,"string.quote"]]}};t.conf=e,t.language=r,Object.defineProperty(t,Symbol.toStringTag,{value:"Module"})}));
|
||||
@@ -0,0 +1,3 @@
|
||||
define("vs/css-CaeNmE3S",["exports"],(function(e){"use strict";const t={wordPattern:/(#?-?\d*\.\d\w*%?)|((::|[@#.!:])?[\w-?]+%?)|::|[@#.!:]/g,comments:{blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}",notIn:["string","comment"]},{open:"[",close:"]",notIn:["string","comment"]},{open:"(",close:")",notIn:["string","comment"]},{open:'"',close:'"',notIn:["string","comment"]},{open:"'",close:"'",notIn:["string","comment"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{markers:{start:new RegExp("^\\s*\\/\\*\\s*#region\\b\\s*(.*?)\\s*\\*\\/"),end:new RegExp("^\\s*\\/\\*\\s*#endregion\\b.*\\*\\/")}}},n={defaultToken:"",tokenPostfix:".css",ws:`[
|
||||
\r\f]*`,identifier:"-?-?([a-zA-Z]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))([\\w\\-]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))*",brackets:[{open:"{",close:"}",token:"delimiter.bracket"},{open:"[",close:"]",token:"delimiter.bracket"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}],tokenizer:{root:[{include:"@selector"}],selector:[{include:"@comments"},{include:"@import"},{include:"@strings"},["[@](keyframes|-webkit-keyframes|-moz-keyframes|-o-keyframes)",{token:"keyword",next:"@keyframedeclaration"}],["[@](page|content|font-face|-moz-document)",{token:"keyword"}],["[@](charset|namespace)",{token:"keyword",next:"@declarationbody"}],["(url-prefix)(\\()",["attribute.value",{token:"delimiter.parenthesis",next:"@urldeclaration"}]],["(url)(\\()",["attribute.value",{token:"delimiter.parenthesis",next:"@urldeclaration"}]],{include:"@selectorname"},["[\\*]","tag"],["[>\\+,]","delimiter"],["\\[",{token:"delimiter.bracket",next:"@selectorattribute"}],["{",{token:"delimiter.bracket",next:"@selectorbody"}]],selectorbody:[{include:"@comments"},["[*_]?@identifier@ws:(?=(\\s|\\d|[^{;}]*[;}]))","attribute.name","@rulevalue"],["}",{token:"delimiter.bracket",next:"@pop"}]],selectorname:[["(\\.|#(?=[^{])|%|(@identifier)|:)+","tag"]],selectorattribute:[{include:"@term"},["]",{token:"delimiter.bracket",next:"@pop"}]],term:[{include:"@comments"},["(url-prefix)(\\()",["attribute.value",{token:"delimiter.parenthesis",next:"@urldeclaration"}]],["(url)(\\()",["attribute.value",{token:"delimiter.parenthesis",next:"@urldeclaration"}]],{include:"@functioninvocation"},{include:"@numbers"},{include:"@name"},{include:"@strings"},["([<>=\\+\\-\\*\\/\\^\\|\\~,])","delimiter"],[",","delimiter"]],rulevalue:[{include:"@comments"},{include:"@strings"},{include:"@term"},["!important","keyword"],[";","delimiter","@pop"],["(?=})",{token:"",next:"@pop"}]],warndebug:[["[@](warn|debug)",{token:"keyword",next:"@declarationbody"}]],import:[["[@](import)",{token:"keyword",next:"@declarationbody"}]],urldeclaration:[{include:"@strings"},[`[^)\r
|
||||
]+`,"string"],["\\)",{token:"delimiter.parenthesis",next:"@pop"}]],parenthizedterm:[{include:"@term"},["\\)",{token:"delimiter.parenthesis",next:"@pop"}]],declarationbody:[{include:"@term"},[";","delimiter","@pop"],["(?=})",{token:"",next:"@pop"}]],comments:[["\\/\\*","comment","@comment"],["\\/\\/+.*","comment"]],comment:[["\\*\\/","comment","@pop"],[/[^*/]+/,"comment"],[/./,"comment"]],name:[["@identifier","attribute.value"]],numbers:[["-?(\\d*\\.)?\\d+([eE][\\-+]?\\d+)?",{token:"attribute.value.number",next:"@units"}],["#[0-9a-fA-F_]+(?!\\w)","attribute.value.hex"]],units:[["(em|ex|ch|rem|fr|vmin|vmax|vw|vh|vm|cm|mm|in|px|pt|pc|deg|grad|rad|turn|s|ms|Hz|kHz|%)?","attribute.value.unit","@pop"]],keyframedeclaration:[["@identifier","attribute.value"],["{",{token:"delimiter.bracket",switchTo:"@keyframebody"}]],keyframebody:[{include:"@term"},["{",{token:"delimiter.bracket",next:"@selectorbody"}],["}",{token:"delimiter.bracket",next:"@pop"}]],functioninvocation:[["@identifier\\(",{token:"attribute.value",next:"@functionarguments"}]],functionarguments:[["\\$@identifier@ws:","attribute.name"],["[,]","delimiter"],{include:"@term"},["\\)",{token:"attribute.value",next:"@pop"}]],strings:[['~?"',{token:"string",next:"@stringenddoublequote"}],["~?'",{token:"string",next:"@stringendquote"}]],stringenddoublequote:[["\\\\.","string"],['"',{token:"string",next:"@pop"}],[/[^\\"]+/,"string"],[".","string"]],stringendquote:[["\\\\.","string"],["'",{token:"string",next:"@pop"}],[/[^\\']+/,"string"],[".","string"]]}};e.conf=t,e.language=n,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}));
|
||||
@@ -0,0 +1 @@
|
||||
define("vs/cssMode-CjiAH6dQ",["module","exports","./workers-DcJshg-q","./lspLanguageFeatures-kM9O9rjY","./editor.api-CalNCsUg"],(function(a,t,f,e,d){"use strict";class m{constructor(c){this._defaults=c,this._worker=null,this._client=null,this._idleCheckInterval=window.setInterval(()=>this._checkIfIdle(),30*1e3),this._lastUsedTime=0,this._configChangeListener=this._defaults.onDidChange(()=>this._stopWorker())}_stopWorker(){this._worker&&(this._worker.dispose(),this._worker=null),this._client=null}dispose(){clearInterval(this._idleCheckInterval),this._configChangeListener.dispose(),this._stopWorker()}_checkIfIdle(){if(!this._worker)return;Date.now()-this._lastUsedTime>12e4&&this._stopWorker()}_getClient(){return this._lastUsedTime=Date.now(),this._client||(this._worker=f.createWebWorker({moduleId:"vs/language/css/cssWorker",createWorker:()=>new Worker(new URL(""+new URL(require.toUrl("./assets/css.worker-HnVq6Ewq.js"),document.baseURI).href,new URL(a.uri,document.baseURI).href),{type:"module"}),label:this._defaults.languageId,createData:{options:this._defaults.options,languageId:this._defaults.languageId}}),this._client=this._worker.getProxy()),this._client}getLanguageServiceWorker(...c){let i;return this._getClient().then(h=>{i=h}).then(h=>{if(this._worker)return this._worker.withSyncedResources(c)}).then(h=>i)}}function w(s){const c=[],i=[],h=new m(s);c.push(h);const o=(...n)=>h.getLanguageServiceWorker(...n);function A(){const{languageId:n,modeConfiguration:r}=s;g(i),r.completionItems&&i.push(d.languages.registerCompletionItemProvider(n,new e.CompletionAdapter(o,["/","-",":"]))),r.hovers&&i.push(d.languages.registerHoverProvider(n,new e.HoverAdapter(o))),r.documentHighlights&&i.push(d.languages.registerDocumentHighlightProvider(n,new e.DocumentHighlightAdapter(o))),r.definitions&&i.push(d.languages.registerDefinitionProvider(n,new e.DefinitionAdapter(o))),r.references&&i.push(d.languages.registerReferenceProvider(n,new e.ReferenceAdapter(o))),r.documentSymbols&&i.push(d.languages.registerDocumentSymbolProvider(n,new e.DocumentSymbolAdapter(o))),r.rename&&i.push(d.languages.registerRenameProvider(n,new e.RenameAdapter(o))),r.colors&&i.push(d.languages.registerColorProvider(n,new e.DocumentColorAdapter(o))),r.foldingRanges&&i.push(d.languages.registerFoldingRangeProvider(n,new e.FoldingRangeAdapter(o))),r.diagnostics&&i.push(new e.DiagnosticsAdapter(n,o,s.onDidChange)),r.selectionRanges&&i.push(d.languages.registerSelectionRangeProvider(n,new e.SelectionRangeAdapter(o))),r.documentFormattingEdits&&i.push(d.languages.registerDocumentFormattingEditProvider(n,new e.DocumentFormattingEditProvider(o))),r.documentRangeFormattingEdits&&i.push(d.languages.registerDocumentRangeFormattingEditProvider(n,new e.DocumentRangeFormattingEditProvider(o)))}return A(),c.push(l(i)),l(c)}function l(s){return{dispose:()=>g(s)}}function g(s){for(;s.length;)s.pop().dispose()}t.CompletionAdapter=e.CompletionAdapter,t.DefinitionAdapter=e.DefinitionAdapter,t.DiagnosticsAdapter=e.DiagnosticsAdapter,t.DocumentColorAdapter=e.DocumentColorAdapter,t.DocumentFormattingEditProvider=e.DocumentFormattingEditProvider,t.DocumentHighlightAdapter=e.DocumentHighlightAdapter,t.DocumentLinkAdapter=e.DocumentLinkAdapter,t.DocumentRangeFormattingEditProvider=e.DocumentRangeFormattingEditProvider,t.DocumentSymbolAdapter=e.DocumentSymbolAdapter,t.FoldingRangeAdapter=e.FoldingRangeAdapter,t.HoverAdapter=e.HoverAdapter,t.ReferenceAdapter=e.ReferenceAdapter,t.RenameAdapter=e.RenameAdapter,t.SelectionRangeAdapter=e.SelectionRangeAdapter,t.fromPosition=e.fromPosition,t.fromRange=e.fromRange,t.toRange=e.toRange,t.toTextEdit=e.toTextEdit,t.WorkerManager=m,t.setupMode=w,Object.defineProperty(t,Symbol.toStringTag,{value:"Module"})}));
|
||||
@@ -0,0 +1 @@
|
||||
define("vs/cypher-DVThT8BS",["exports"],(function(e){"use strict";const i={comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"`",close:"`"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"`",close:"`"}]},t={defaultToken:"",tokenPostfix:".cypher",ignoreCase:!0,brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.bracket"},{open:"(",close:")",token:"delimiter.parenthesis"}],keywords:["ALL","AND","AS","ASC","ASCENDING","BY","CALL","CASE","CONTAINS","CREATE","DELETE","DESC","DESCENDING","DETACH","DISTINCT","ELSE","END","ENDS","EXISTS","IN","IS","LIMIT","MANDATORY","MATCH","MERGE","NOT","ON","ON","OPTIONAL","OR","ORDER","REMOVE","RETURN","SET","SKIP","STARTS","THEN","UNION","UNWIND","WHEN","WHERE","WITH","XOR","YIELD"],builtinLiterals:["true","TRUE","false","FALSE","null","NULL"],builtinFunctions:["abs","acos","asin","atan","atan2","avg","ceil","coalesce","collect","cos","cot","count","degrees","e","endNode","exists","exp","floor","head","id","keys","labels","last","left","length","log","log10","lTrim","max","min","nodes","percentileCont","percentileDisc","pi","properties","radians","rand","range","relationships","replace","reverse","right","round","rTrim","sign","sin","size","split","sqrt","startNode","stDev","stDevP","substring","sum","tail","tan","timestamp","toBoolean","toFloat","toInteger","toLower","toString","toUpper","trim","type"],operators:["+","-","*","/","%","^","=","<>","<",">","<=",">=","->","<-","-->","<--"],escapes:/\\(?:[tbnrf\\"'`]|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,digits:/\d+/,octaldigits:/[0-7]+/,hexdigits:/[0-9a-fA-F]+/,tokenizer:{root:[[/[{}[\]()]/,"@brackets"],{include:"common"}],common:[{include:"@whitespace"},{include:"@numbers"},{include:"@strings"},[/:[a-zA-Z_][\w]*/,"type.identifier"],[/[a-zA-Z_][\w]*(?=\()/,{cases:{"@builtinFunctions":"predefined.function"}}],[/[a-zA-Z_$][\w$]*/,{cases:{"@keywords":"keyword","@builtinLiterals":"predefined.literal","@default":"identifier"}}],[/`/,"identifier.escape","@identifierBacktick"],[/[;,.:|]/,"delimiter"],[/[<>=%+\-*/^]+/,{cases:{"@operators":"delimiter","@default":""}}]],numbers:[[/-?(@digits)[eE](-?(@digits))?/,"number.float"],[/-?(@digits)?\.(@digits)([eE]-?(@digits))?/,"number.float"],[/-?0x(@hexdigits)/,"number.hex"],[/-?0(@octaldigits)/,"number.octal"],[/-?(@digits)/,"number"]],strings:[[/"([^"\\]|\\.)*$/,"string.invalid"],[/'([^'\\]|\\.)*$/,"string.invalid"],[/"/,"string","@stringDouble"],[/'/,"string","@stringSingle"]],whitespace:[[/[ \t\r\n]+/,"white"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/\/\/.*/,"comment"],[/[^/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[/*]/,"comment"]],stringDouble:[[/[^\\"]+/,"string"],[/@escapes/,"string"],[/\\./,"string.invalid"],[/"/,"string","@pop"]],stringSingle:[[/[^\\']+/,"string"],[/@escapes/,"string"],[/\\./,"string.invalid"],[/'/,"string","@pop"]],identifierBacktick:[[/[^\\`]+/,"identifier.escape"],[/@escapes/,"identifier.escape"],[/\\./,"identifier.escape.invalid"],[/`/,"identifier.escape","@pop"]]}};e.conf=i,e.language=t,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}));
|
||||
@@ -0,0 +1 @@
|
||||
define("vs/dart-CmGfCvrO",["exports"],(function(e){"use strict";const n={comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"'",close:"'",notIn:["string","comment"]},{open:'"',close:'"',notIn:["string"]},{open:"`",close:"`",notIn:["string","comment"]},{open:"/**",close:" */",notIn:["string"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"},{open:"'",close:"'"},{open:"(",close:")"},{open:'"',close:'"'},{open:"`",close:"`"}],folding:{markers:{start:/^\s*\s*#?region\b/,end:/^\s*\s*#?endregion\b/}}},t={defaultToken:"invalid",tokenPostfix:".dart",keywords:["abstract","dynamic","implements","show","as","else","import","static","assert","enum","in","super","async","export","interface","switch","await","extends","is","sync","break","external","library","this","case","factory","mixin","throw","catch","false","new","true","class","final","null","try","const","finally","on","typedef","continue","for","operator","var","covariant","Function","part","void","default","get","rethrow","while","deferred","hide","return","with","do","if","set","yield"],typeKeywords:["int","double","String","bool"],operators:["+","-","*","/","~/","%","++","--","==","!=",">","<",">=","<=","=","-=","/=","%=",">>=","^=","+=","*=","~/=","<<=","&=","!=","||","&&","&","|","^","~","<<",">>","!",">>>","??","?",":","|="],symbols:/[=><!~?:&|+\-*\/\^%]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,digits:/\d+(_+\d+)*/,octaldigits:/[0-7]+(_+[0-7]+)*/,binarydigits:/[0-1]+(_+[0-1]+)*/,hexdigits:/[[0-9a-fA-F]+(_+[0-9a-fA-F]+)*/,regexpctl:/[(){}\[\]\$\^|\-*+?\.]/,regexpesc:/\\(?:[bBdDfnrstvwWn0\\\/]|@regexpctl|c[A-Z]|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4})/,tokenizer:{root:[[/[{}]/,"delimiter.bracket"],{include:"common"}],common:[[/[a-z_$][\w$]*/,{cases:{"@typeKeywords":"type.identifier","@keywords":"keyword","@default":"identifier"}}],[/[A-Z_$][\w\$]*/,"type.identifier"],{include:"@whitespace"},[/\/(?=([^\\\/]|\\.)+\/([gimsuy]*)(\s*)(\.|;|,|\)|\]|\}|$))/,{token:"regexp",bracket:"@open",next:"@regexp"}],[/@[a-zA-Z]+/,"annotation"],[/[()\[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/!(?=([^=]|$))/,"delimiter"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/(@digits)[eE]([\-+]?(@digits))?/,"number.float"],[/(@digits)\.(@digits)([eE][\-+]?(@digits))?/,"number.float"],[/0[xX](@hexdigits)n?/,"number.hex"],[/0[oO]?(@octaldigits)n?/,"number.octal"],[/0[bB](@binarydigits)n?/,"number.binary"],[/(@digits)n?/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/'([^'\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string_double"],[/'/,"string","@string_single"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@jsdoc"],[/\/\*/,"comment","@comment"],[/\/\/\/.*$/,"comment.doc"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],jsdoc:[[/[^\/*]+/,"comment.doc"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],regexp:[[/(\{)(\d+(?:,\d*)?)(\})/,["regexp.escape.control","regexp.escape.control","regexp.escape.control"]],[/(\[)(\^?)(?=(?:[^\]\\\/]|\\.)+)/,["regexp.escape.control",{token:"regexp.escape.control",next:"@regexrange"}]],[/(\()(\?:|\?=|\?!)/,["regexp.escape.control","regexp.escape.control"]],[/[()]/,"regexp.escape.control"],[/@regexpctl/,"regexp.escape.control"],[/[^\\\/]/,"regexp"],[/@regexpesc/,"regexp.escape"],[/\\\./,"regexp.invalid"],[/(\/)([gimsuy]*)/,[{token:"regexp",bracket:"@close",next:"@pop"},"keyword.other"]]],regexrange:[[/-/,"regexp.escape.control"],[/\^/,"regexp.invalid"],[/@regexpesc/,"regexp.escape"],[/[^\]]/,"regexp"],[/\]/,{token:"regexp.escape.control",next:"@pop",bracket:"@close"}]],string_double:[[/[^\\"\$]+/,"string"],[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"],[/\$\w+/,"identifier"]],string_single:[[/[^\\'\$]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/'/,"string","@pop"],[/\$\w+/,"identifier"]]}};e.conf=n,e.language=t,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}));
|
||||
@@ -0,0 +1 @@
|
||||
define("vs/dockerfile-CZqqYdch",["exports"],(function(e){"use strict";const o={brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}]},n={defaultToken:"",tokenPostfix:".dockerfile",variable:/\${?[\w]+}?/,tokenizer:{root:[{include:"@whitespace"},{include:"@comment"},[/(ONBUILD)(\s+)/,["keyword",""]],[/(ENV)(\s+)([\w]+)/,["keyword","",{token:"variable",next:"@arguments"}]],[/(FROM|MAINTAINER|RUN|EXPOSE|ENV|ADD|ARG|VOLUME|LABEL|USER|WORKDIR|COPY|CMD|STOPSIGNAL|SHELL|HEALTHCHECK|ENTRYPOINT)/,{token:"keyword",next:"@arguments"}]],arguments:[{include:"@whitespace"},{include:"@strings"},[/(@variable)/,{cases:{"@eos":{token:"variable",next:"@popall"},"@default":"variable"}}],[/\\/,{cases:{"@eos":"","@default":""}}],[/./,{cases:{"@eos":{token:"",next:"@popall"},"@default":""}}]],whitespace:[[/\s+/,{cases:{"@eos":{token:"",next:"@popall"},"@default":""}}]],comment:[[/(^#.*$)/,"comment","@popall"]],strings:[[/\\'$/,"","@popall"],[/\\'/,""],[/'$/,"string","@popall"],[/'/,"string","@stringBody"],[/"$/,"string","@popall"],[/"/,"string","@dblStringBody"]],stringBody:[[/[^\\\$']/,{cases:{"@eos":{token:"string",next:"@popall"},"@default":"string"}}],[/\\./,"string.escape"],[/'$/,"string","@popall"],[/'/,"string","@pop"],[/(@variable)/,"variable"],[/\\$/,"string"],[/$/,"string","@popall"]],dblStringBody:[[/[^\\\$"]/,{cases:{"@eos":{token:"string",next:"@popall"},"@default":"string"}}],[/\\./,"string.escape"],[/"$/,"string","@popall"],[/"/,"string","@pop"],[/(@variable)/,"variable"],[/\\$/,"string"],[/$/,"string","@popall"]]}};e.conf=o,e.language=n,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}));
|
||||
@@ -0,0 +1 @@
|
||||
define("vs/ecl-30fUercY",["exports"],(function(e){"use strict";const o={comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"'",close:"'",notIn:["string","comment"]},{open:'"',close:'"',notIn:["string","comment"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"},{open:"'",close:"'"},{open:'"',close:'"'}]},n={defaultToken:"",tokenPostfix:".ecl",ignoreCase:!0,brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}],pounds:["append","break","declare","demangle","end","for","getdatatype","if","inmodule","loop","mangle","onwarning","option","set","stored","uniquename"].join("|"),keywords:["__compressed__","after","all","and","any","as","atmost","before","beginc","best","between","case","cluster","compressed","compression","const","counter","csv","default","descend","embed","encoding","encrypt","end","endc","endembed","endmacro","enum","escape","except","exclusive","expire","export","extend","fail","few","fileposition","first","flat","forward","from","full","function","functionmacro","group","grouped","heading","hole","ifblock","import","in","inner","interface","internal","joined","keep","keyed","last","left","limit","linkcounted","literal","little_endian","load","local","locale","lookup","lzw","macro","many","maxcount","maxlength","min skew","module","mofn","multiple","named","namespace","nocase","noroot","noscan","nosort","not","noxpath","of","onfail","only","opt","or","outer","overwrite","packed","partition","penalty","physicallength","pipe","prefetch","quote","record","repeat","retry","return","right","right1","right2","rows","rowset","scan","scope","self","separator","service","shared","skew","skip","smart","soapaction","sql","stable","store","terminator","thor","threshold","timelimit","timeout","token","transform","trim","type","unicodeorder","unordered","unsorted","unstable","update","use","validate","virtual","whole","width","wild","within","wnotrim","xml","xpath"],functions:["abs","acos","aggregate","allnodes","apply","ascii","asin","assert","asstring","atan","atan2","ave","build","buildindex","case","catch","choose","choosen","choosesets","clustersize","combine","correlation","cos","cosh","count","covariance","cron","dataset","dedup","define","denormalize","dictionary","distribute","distributed","distribution","ebcdic","enth","error","evaluate","event","eventextra","eventname","exists","exp","fail","failcode","failmessage","fetch","fromunicode","fromxml","getenv","getisvalid","global","graph","group","hash","hash32","hash64","hashcrc","hashmd5","having","httpcall","httpheader","if","iff","index","intformat","isvalid","iterate","join","keydiff","keypatch","keyunicode","length","library","limit","ln","loadxml","local","log","loop","map","matched","matchlength","matchposition","matchtext","matchunicode","max","merge","mergejoin","min","nofold","nolocal","nonempty","normalize","nothor","notify","output","parallel","parse","pipe","power","preload","process","project","pull","random","range","rank","ranked","realformat","recordof","regexfind","regexreplace","regroup","rejected","rollup","round","roundup","row","rowdiff","sample","sequential","set","sin","sinh","sizeof","soapcall","sort","sorted","sqrt","stepped","stored","sum","table","tan","tanh","thisnode","topn","tounicode","toxml","transfer","transform","trim","truncate","typeof","ungroup","unicodeorder","variance","wait","which","workunit","xmldecode","xmlencode","xmltext","xmlunicode"],typesint:["integer","unsigned"].join("|"),typesnum:["data","qstring","string","unicode","utf8","varstring","varunicode"],typesone:["ascii","big_endian","boolean","data","decimal","ebcdic","grouped","integer","linkcounted","pattern","qstring","real","record","rule","set of","streamed","string","token","udecimal","unicode","unsigned","utf8","varstring","varunicode"].join("|"),operators:["+","-","/",":=","<","<>","=",">","\\","and","in","not","or"],symbols:/[=><!~?:&|+\-*\/\^%]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/@typesint[4|8]/,"type"],[/#(@pounds)/,"type"],[/@typesone/,"type"],[/[a-zA-Z_$][\w-$]*/,{cases:{"@functions":"keyword.function","@keywords":"keyword","@operators":"operator"}}],{include:"@whitespace"},[/[{}()\[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/[0-9_]*\.[0-9_]+([eE][\-+]?\d+)?/,"number.float"],[/0[xX][0-9a-fA-F_]+/,"number.hex"],[/0[bB][01]+/,"number.hex"],[/[0-9_]+/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string"],[/'[^\\']'/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],whitespace:[[/[ \t\v\f\r\n]+/,""],[/\/\*/,"coLine truncated
|
||||
@@ -0,0 +1,903 @@
|
||||
define("vs/editor.api-CalNCsUg",["exports"],(function(so){"use strict";var $d,jd,ac,xC,Ip,Dp,xu,sl,ku,Ep,TC,Np,Yd,Rp,Du,Mp,Nu,Ap,Pp,Op,Xd,Tu,RC,Ru,uc,Mu,AC,Fp,Wp,Au,Pu,Ou,Bp,Hp,Vp,zp,Up,Qd,$p,jp,Gp,Zp,Yp,Xp,Qp,Jp,em,Wu,Bu,tm,im,FC,WC,gc,nm,Uu,sm,om,ol,$u,rm,am,lm,HC,cm,mc,ju,dm,VC,zC,qu,Ku,hm,um,fm,gm,pm,UC,Zu,$C,mm,jC,qC,Yu,_m,KC,bm,Cm,wm,rl,_c,al,eh,ym,Lm,xm,km,Im,Dm;function QB(){return globalThis._VSCODE_NLS_MESSAGES}function rR(){return globalThis._VSCODE_NLS_LANGUAGE}const Cie=rR()==="pseudo"||typeof document<"u"&&document.location&&typeof document.location.hash=="string"&&document.location.hash.indexOf("pseudo=true")>=0;function QS(o,e){let t;return e.length===0?t=o:t=o.replace(/\{(\d+)\}/g,(i,n)=>{const s=n[0],r=e[s];let a=i;return typeof r=="string"?a=r:(typeof r=="number"||typeof r=="boolean"||r===void 0||r===null)&&(a=String(r)),a}),Cie&&(t="["+t.replace(/[aouei]/g,"$&$&")+"]"),t}function m(o,e,...t){return QS(typeof o=="number"?JB(o,e):e,t)}function JB(o,e){const t=QB()?.[o];if(typeof t!="string"){if(typeof e=="string")return e;throw new Error(`!!! NLS MISSING: ${o} !!!`)}return t}function H(o,e,...t){let i;typeof o=="number"?i=JB(o,e):i=e;const n=QS(i,t);return{value:n,original:e===i?n:QS(e,t)}}function vie(o,e){const t=o;typeof t.vscodeWindowId!="number"&&Object.defineProperty(t,"vscodeWindowId",{get:()=>e})}const Ct=window,uN=class uN{constructor(){this.mapWindowIdToZoomFactor=new Map}getZoomFactor(e){return this.mapWindowIdToZoomFactor.get(this.getWindowId(e))??1}getWindowId(e){return e.vscodeWindowId}};uN.INSTANCE=new uN;let aR=uN;function e6(o,e,t){typeof e=="string"&&(e=o.matchMedia(e)),e.addEventListener("change",t)}function lR(o){return aR.INSTANCE.getZoomFactor(o)}const Rm=navigator.userAgent,Bs=Rm.indexOf("Firefox")>=0,JS=Rm.indexOf("AppleWebKit")>=0,iv=Rm.indexOf("Chrome")>=0,Xu=!iv&&Rm.indexOf("Safari")>=0,t6=!iv&&!Xu&&JS;Rm.indexOf("Electron/")>=0;const i6=Rm.indexOf("Android")>=0;let cR=!1;if(typeof Ct.matchMedia=="function"){const o=Ct.matchMedia("(display-mode: standalone) or (display-mode: window-controls-overlay)"),e=Ct.matchMedia("(display-mode: fullscreen)");cR=o.matches,e6(Ct,o,({matches:t})=>{cR&&e.matches||(cR=t)})}function dR(){return globalThis.MonacoEnvironment}class wie{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout(()=>{throw e.stack?Mm.isErrorNoTelemetry(e)?new Mm(e.message+`
|
||||
|
||||
`+e.stack):new Error(e.message+`
|
||||
|
||||
`+e.stack):e},0)}}emit(e){this.listeners.forEach(t=>{t(e)})}onUnexpectedError(e){this.unexpectedErrorHandler(e),this.emit(e)}onUnexpectedExternalError(e){this.unexpectedErrorHandler(e)}}const hR=new wie;function ey(o){hR.onUnexpectedError(o)}function De(o){To(o)||hR.onUnexpectedError(o)}function Di(o){To(o)||hR.onUnexpectedExternalError(o)}function uR(o){if(o instanceof Error){const{name:e,message:t,cause:i}=o,n=o.stacktrace||o.stack;return{$isError:!0,name:e,message:t,stack:n,noTelemetry:Mm.isErrorNoTelemetry(o),cause:i?uR(i):void 0,code:o.code}}return o}const ty="Canceled";function To(o){return o instanceof hr?!0:o instanceof Error&&o.name===ty&&o.message===ty}class hr extends Error{constructor(){super(ty),this.name=this.message}}function Sie(){const o=new Error(ty);return o.name=o.message,o}function ur(o){return o?new Error(`Illegal argument: ${o}`):new Error("Illegal argument")}function iy(o){return o?new Error(`Illegal state: ${o}`):new Error("Illegal state")}class yie extends Error{constructor(e){super("NotSupported"),e&&(this.message=e)}}class Mm extends Error{constructor(e){super(e),this.name="CodeExpectedError"}static fromError(e){if(e instanceof Mm)return e;const t=new Mm;return t.message=e.message,t.stack=e.stack,t}static isErrorNoTelemetry(e){return e.name==="CodeExpectedError"}}class Ce extends Error{constructor(e){super(e||"An unexpected bug occurred."),Object.setPrototypeOf(this,Ce.prototype)}}function fR(o,e){if(!o)throw new Error(e?`Assertion failed (${e})`:"Assertion Failed")}function nv(o,e="Unreachable"){throw new Error(e)}function sv(o,e="unexpected state"){if(!o)throw typeof e=="string"?new Ce(`Assertion Failed: ${e}`):e}function n6(o,e="Soft Assertion Failed"){o||De(new Ce(e))}function sh(o){if(!o()){debugger;o(),De(new Ce("Assertion Failed"))}}function ov(o,e){let t=0;for(;t<o.length-1;){const i=o[t],n=o[t+1];if(!e(i,n))return!1;t++}return!0}function Zi(o){return typeof o=="string"}function Lie(o,e){return Array.isArray(o)&&o.every(e)}function Hi(o){return typeof o=="object"&&o!==null&&!Array.isArray(o)&&!(o instanceof RegExp)&&!(o instanceof Date)}function xie(o){const e=Object.getPrototypeOf(Uint8Array);return typeof o=="object"&&o instanceof e}function Cc(o){return typeof o=="number"&&!isNaN(o)}function gR(o){return!!o&&typeof o[Symbol.iterator]=="function"}function pR(o){return o===!0||o===!1}function Hn(o){return typeof o>"u"}function rn(o){return!fr(o)}function fr(o){return Hn(o)||o===null}function Je(o,e){if(!o)throw new Error(e?`Unexpected type, expected '${e}'`:"Unexpected type")}function oh(o){return sv(o!=null,"Argument is `undefined` or `null`."),o}function Qu(o){return typeof o=="function"}function kie(o,e){const t=Math.min(o.length,e.length);for(let i=0;i<t;i++)Iie(o[i],e[i])}function Iie(o,e){if(Zi(e)){if(typeof o!==e)throw new Error(`argument does not match constraint: typeof ${e}`)}else if(Qu(e)){try{if(o instanceof e)return}catch{}if(!fr(o)&&o.constructor===e||e.length===1&&e.call(void 0,o)===!0)return;throw new Error("argument does not match one of these constraints: arg instanceof constraint, arg.constructor === constraint, nor constraint(arg) === true")}}function gFe(o){return o}const Ju="en";let rv=!1,av=!1,lv=!1,s6=!1,mR=!1,_R=!1,o6=!1,ny,sy=Ju,r6=Ju,Die,vc;const wc=globalThis;let Ro;typeof wc.vscode<"u"&&typeof wc.vscode.process<"u"?Ro=wc.vscode.process:typeof process<"u"&&typeof process?.versions?.node=="string"&&(Ro=process);const Eie=typeof Ro?.versions?.electron=="string"&&Ro?.type==="renderer";if(typeof Ro=="object"){rv=Ro.platform==="win32",av=Ro.platform==="darwin",lv=Ro.platform==="linux",lv&&Ro.env.SNAP&&Ro.env.SNAP_REVISION,Ro.env.CI||Ro.env.BUILD_ARTIFACTSTAGINGDIRECTORY||Ro.env.GITHUB_WORKSPACE,ny=Ju,sy=Ju;const o=Ro.env.VSCODE_NLS_CONFIG;if(o)try{const e=JSON.parse(o);ny=e.userLocale,r6=e.osLocale,sy=e.resolvedLanguage||Ju,Die=e.languagePack?.translationsConfigFile}catch{}s6=!0}else typeof navigator=="object"&&!Eie?(vc=navigator.userAgent,rv=vc.indexOf("Windows")>=0,av=vc.indexOf("Macintosh")>=0,_R=(vc.indexOf("Macintosh")>=0||vc.indexOf("iPad")>=0||vc.indexOf("iPhone")>=0)&&!!navigator.maxTouchPoints&&navigator.maxTouchPoints>0,lv=vc.indexOf("Linux")>=0,o6=vc?.indexOf("Mobi")>=0,mR=!0,sy=rR()||Ju,ny=navigator.language.toLowerCase(),r6=ny):console.error("Unable to resolve platform.");let oy=0;av?oy=1:rv?oy=3:lv&&(oy=2);const gn=rv,ze=av,Hs=lv,va=s6,ll=mR,Nie=mR&&typeof wc.importScripts=="function"?wc.origin:void 0,gr=_R,a6=o6,bR=oy,cl=vc,Tie=sy,Rie=typeof wc.postMessage=="function"&&!wc.importScripts,cv=(()=>{if(Rie){const o=[];wc.addEventListener("message",t=>{if(t.data&&t.data.vscodeScheduleAsyncWork)for(let i=0,n=o.length;i<n;i++){const s=o[i];if(s.id===t.data.vscodeScheduleAsyncWork){o.splice(i,1),s.callback();return}}});let e=0;return t=>{const i=++e;o.push({id:i,callback:t}),wc.postMessage({vscodeScheduleAsyncWork:i},"*")}}return o=>setTimeout(o)})(),oo=av||_R?2:rv?1:3;let l6=!0,c6=!1;function d6(){if(!c6){c6=!0;const o=new Uint8Array(2);o[
Line truncated
|
||||
`).slice(2).join(`
|
||||
`))}}class Qie extends Error{constructor(e,t){super(e),this.name="ListenerLeakError",this.stack=t}}class Jie extends Error{constructor(e,t){super(e),this.name="ListenerRefusalError",this.stack=t}}class ER{constructor(e){this.value=e}}const ene=2;let A=class{constructor(e){this._size=0,this._options=e,this._leakageMon=this._options?.leakWarningThreshold?new IR(e?.onListenerError??De,this._options?.leakWarningThreshold??Xie):void 0,this._perfMon=this._options?._profName?new kR(this._options._profName):void 0,this._deliveryQueue=this._options?.deliveryQueue}dispose(){this._disposed||(this._disposed=!0,this._deliveryQueue?.current===this&&this._deliveryQueue.reset(),this._listeners&&(this._listeners=void 0,this._size=0),this._options?.onDidRemoveLastListener?.(),this._leakageMon?.dispose())}get event(){return this._event??=(e,t,i)=>{if(this._leakageMon&&this._size>this._leakageMon.threshold**2){const a=`[${this._leakageMon.name}] REFUSES to accept new listeners because it exceeded its threshold by far (${this._size} vs ${this._leakageMon.threshold})`;console.warn(a);const l=this._leakageMon.getMostFrequentStack()??["UNKNOWN stack",-1],c=new Jie(`${a}. HINT: Stack shows most frequent listener (${l[1]}-times)`,l[0]);return(this._options?.onListenerError||De)(c),P.None}if(this._disposed)return P.None;t&&(e=e.bind(t));const n=new ER(e);let s;this._leakageMon&&this._size>=Math.ceil(this._leakageMon.threshold*.2)&&(n.stack=DR.create(),s=this._leakageMon.check(n.stack,this._size+1)),this._listeners?this._listeners instanceof ER?(this._deliveryQueue??=new g6,this._listeners=[this._listeners,n]):this._listeners.push(n):(this._options?.onWillAddFirstListener?.(this),this._listeners=n,this._options?.onDidAddFirstListener?.(this)),this._options?.onDidAddListener?.(this),this._size++;const r=fe(()=>{s?.(),this._removeListener(n)});return i instanceof V?i.add(r):Array.isArray(i)&&i.push(r),r},this._event}_removeListener(e){if(this._options?.onWillRemoveListener?.(this),!this._listeners)return;if(this._size===1){this._listeners=void 0,this._options?.onDidRemoveLastListener?.(this),this._size=0;return}const t=this._listeners,i=t.indexOf(e);if(i===-1)throw console.log("disposed?",this._disposed),console.log("size?",this._size),console.log("arr?",JSON.stringify(this._listeners)),new Error("Attempted to dispose unknown listener");this._size--,t[i]=void 0;const n=this._deliveryQueue.current===this;if(this._size*ene<=t.length){let s=0;for(let r=0;r<t.length;r++)t[r]?t[s++]=t[r]:n&&s<this._deliveryQueue.end&&(this._deliveryQueue.end--,s<this._deliveryQueue.i&&this._deliveryQueue.i--);t.length=s}}_deliver(e,t){if(!e)return;const i=this._options?.onListenerError||De;if(!i){e.value(t);return}try{e.value(t)}catch(n){i(n)}}_deliverQueue(e){const t=e.current._listeners;for(;e.i<e.end;)this._deliver(t[e.i++],e.value);e.reset()}fire(e){if(this._deliveryQueue?.current&&(this._deliverQueue(this._deliveryQueue),this._perfMon?.stop()),this._perfMon?.start(this._size),this._listeners)if(this._listeners instanceof ER)this._deliver(this._listeners,e);else{const t=this._deliveryQueue;t.enqueue(this,e,this._listeners.length),this._deliverQueue(t)}this._perfMon?.stop()}hasListeners(){return this._size>0}};const tne=()=>new g6;class g6{constructor(){this.i=-1,this.end=0}enqueue(e,t,i){this.i=0,this.end=i,this.current=e,this.value=t}reset(){this.i=this.end,this.current=void 0,this.value=void 0}}class sf extends A{constructor(e){super(e),this._isPaused=0,this._eventQueue=new es,this._mergeFn=e?.merge}pause(){this._isPaused++}resume(){if(this._isPaused!==0&&--this._isPaused===0)if(this._mergeFn){if(this._eventQueue.size>0){const e=Array.from(this._eventQueue);this._eventQueue.clear(),super.fire(this._mergeFn(e))}}else for(;!this._isPaused&&this._eventQueue.size!==0;)super.fire(this._eventQueue.shift())}fire(e){this._size&&(this._isPaused!==0?this._eventQueue.push(e):super.fire(e))}}class p6 extends sf{constructor(e){super(e),this._delay=e.delay??100}fire(e){this._handle||(this.pause(),this._handle=setTimeout(()=>{this._handle=void 0,this.resume()},this._delay)),super.fire(e)}}class ine extends A{constructor(e){super(e),this._queuedEvents=[],this._mergeFn=e?.merge}fire(e){this.hasListeners()&&(this._queuedEvents.push(e),this._queuedEvents.length===1&&queueMicrotask(()=>{this._mergeFn?super.fire(this._mergeFn(this._queuedEvents)):this._queuedEvents.forEach(t=>super.fire(t)),this._queuedEvents=[]}))}}class nne{constructor(){this.hasListeners=!1,this.events=[],this.emitter=new A({onWillAddFirstListener:()=>this.onFirstListenerAdd(),onDidRemoveLastListener:()=>this.onLastListenerRemove()})}get event(){return this.emitter.event}add(e){const t={event:e,listener:null};return this.events.push(t),this.hasListeners&&this.hook(t),fe(tf(()=>{this.hasListeners&&this.unhook(t);const n=this.events.indexOf(t);this.events.splice(n,1)}))}onFirstListenerAdd(){this.hasListeners=!0,this.events.forEach(e=>this.hook(e))}onLastListenerRemove(){this.hasListeners=!1,this.events.f
Line truncated
|
||||
`),n=_se(i[t+1]);if(n)return new hM(n.fileName,n.line,n.column,n.id)}constructor(e,t,i,n){this.fileName=e,this.line=t,this.column=i,this.id=n}}function _se(o){const e=o.match(/\((.*):(\d+):(\d+)\)/);if(e)return{fileName:e[1],line:parseInt(e[2]),column:parseInt(e[3]),id:o};const t=o.match(/at ([^\(\)]*):(\d+):(\d+)/);if(t)return{fileName:t[1],line:parseInt(t[2]),column:parseInt(t[3]),id:o}}let uM;function bse(o){uM=o}let sH;function Cse(o){sH=o}class oH{get TChange(){return null}reportChanges(){this.get()}read(e){return e?e.readObservable(this):this.get()}map(e,t,i=Ui.ofCaller()){const n=t===void 0?void 0:e,s=t===void 0?e:t;return uM({owner:n,debugName:()=>{const r=iM(s);if(r!==void 0)return r;const l=/^\s*\(?\s*([a-zA-Z_$][a-zA-Z_$0-9]*)\s*\)?\s*=>\s*\1(?:\??)\.([a-zA-Z_$][a-zA-Z_$0-9]*)\s*$/.exec(s.toString());if(l)return`${this.debugName}.${l[2]}`;if(!n)return`${this.debugName} (mapped)`},debugReferenceFn:s},r=>s(this.read(r),r),i)}flatten(){return uM({owner:void 0,debugName:()=>`${this.debugName} (flattened)`},e=>this.read(e).read(e))}recomputeInitiallyAndOnChange(e,t){return e.add(sH(this,t)),this}}class Vm extends oH{constructor(e){super(),this._observers=new Set,Vn()?.handleObservableCreated(this,e)}addObserver(e){const t=this._observers.size;this._observers.add(e),t===0&&this.onFirstObserverAdded(),t!==this._observers.size&&Vn()?.handleOnListenerCountChanged(this,this._observers.size)}removeObserver(e){const t=this._observers.delete(e);t&&this._observers.size===0&&this.onLastObserverRemoved(),t&&Vn()?.handleOnListenerCountChanged(this,this._observers.size)}onFirstObserverAdded(){}onLastObserverRemoved(){}debugGetObservers(){return this._observers}}function xe(o,e,t=Ui.ofCaller()){let i;return typeof o=="string"?i=new xn(void 0,o,void 0):i=new xn(o,void 0,void 0),new yv(i,e,Ao,t)}class yv extends Vm{get debugName(){return this._debugNameData.getDebugName(this)??"ObservableValue"}constructor(e,t,i,n){super(n),this._debugNameData=e,this._equalityComparator=i,this._value=t,Vn()?.handleObservableUpdated(this,{hadValue:!1,newValue:t,change:void 0,didChange:!0,oldValue:void 0})}get(){return this._value}set(e,t,i){if(i===void 0&&this._equalityComparator(this._value,e))return;let n;t||(t=n=new Hm(()=>{},()=>`Setting ${this.debugName}`));try{const s=this._value;this._setValue(e),Vn()?.handleObservableUpdated(this,{oldValue:s,newValue:e,change:i,didChange:!0,hadValue:!0});for(const r of this._observers)t.updateObserver(r,this),r.handleChange(this,i)}finally{n&&n.finish()}}toString(){return`${this.debugName}: ${this._value}`}_setValue(e){this._value=e}debugGetState(){return{value:this._value}}debugSetValue(e){this._value=e}}function fM(o,e,t=Ui.ofCaller()){let i;return typeof o=="string"?i=new xn(void 0,o,void 0):i=new xn(o,void 0,void 0),new vse(i,e,Ao,t)}class vse extends yv{_setValue(e){this._value!==e&&(this._value&&this._value.dispose(),this._value=e)}dispose(){this._value?.dispose()}}class wse extends Vm{get debugName(){return this._debugNameData.getDebugName(this)??"LazyObservableValue"}constructor(e,t,i,n){super(n),this._debugNameData=e,this._equalityComparator=i,this._isUpToDate=!0,this._deltas=[],this._updateCounter=0,this._value=t}get(){return this._update(),this._value}_update(){if(!this._isUpToDate)if(this._isUpToDate=!0,this._deltas.length>0){for(const e of this._deltas){Vn()?.handleObservableUpdated(this,{change:e,didChange:!0,oldValue:"(unknown)",newValue:this._value,hadValue:!0});for(const t of this._observers)t.handleChange(this,e)}this._deltas.length=0}else{Vn()?.handleObservableUpdated(this,{change:void 0,didChange:!0,oldValue:"(unknown)",newValue:this._value,hadValue:!0});for(const e of this._observers)e.handleChange(this,void 0)}}_beginUpdate(){if(this._updateCounter++,this._updateCounter===1)for(const e of this._observers)e.beginUpdate(this)}_endUpdate(){if(this._updateCounter--,this._updateCounter===0){this._update();const e=[...this._observers];for(const t of e)t.endUpdate(this)}}addObserver(e){const t=!this._observers.has(e)&&this._updateCounter>0;super.addObserver(e),t&&e.beginUpdate(this)}removeObserver(e){const t=this._observers.has(e)&&this._updateCounter>0;super.removeObserver(e),t&&e.endUpdate(this)}set(e,t,i){if(i===void 0&&this._equalityComparator(this._value,e))return;let n;t||(t=n=new Hm(()=>{},()=>`Setting ${this.debugName}`));try{if(this._isUpToDate=!1,this._setValue(e),i!==void 0&&this._deltas.push(i),t.updateObserver({beginUpdate:()=>this._beginUpdate(),endUpdate:()=>this._endUpdate(),handleChange:(s,r)=>{},handlePossibleChange:s=>{}},this),this._updateCounter>1)for(const s of this._observers)s.handlePossibleChange(this)}finally{n&&n.finish()}}toString(){return`${this.debugName}: ${this._value}`}_setValue(e){this._value=e}}function Lv(o,e,t=Ui.ofCaller()){return o.lazy?new wse(new xn(o.owner,o.debugName,void 0),e,o.equalsFn??Ao,t):new yv(new xn(o.owner,o.debugName,void 0),e,o.equalsFn??Ao,t)}function Sse(o){switch(o){case 1:return"dependenciesMightHaveChanged";case 2:retu
Line truncated
|
||||
| KEY '=~' REGEX
|
||||
| KEY ('==' | '!=' | '<' | '<=' | '>' | '>=' | 'in' | 'not' 'in') value`,this._peek())}}_value(){const e=this._peek();switch(e.type){case 17:case 18:return this._advance(),e.lexeme;case 11:return this._advance(),"true";case 12:return this._advance(),"false";case 13:return this._advance(),"in";default:return""}}_removeFlagsGY(e){return e.replaceAll(this._flagsGYRe,"")}_previous(){return this._tokens[this._current-1]}_matchOne(e){return this._check(e)?(this._advance(),!0):!1}_advance(){return this._isAtEnd()||this._current++,this._previous()}_consume(e,t){if(this._check(e))return this._advance();throw this._errExpectedButGot(t,this._peek())}_errExpectedButGot(e,t,i){const n=m(1683,`Expected: {0}
|
||||
Received: '{1}'.`,e,Rv.getLexeme(t)),s=t.offset,r=Rv.getLexeme(t);return this._parsingErrors.push({message:n,offset:s,lexeme:r,additionalInfo:i}),ac._parseError}_check(e){return this._peek().type===e}_peek(){return this._tokens[this._current]}_isAtEnd(){return this._peek().type===20}},ac._parseError=new Error,ac);const EB=class EB{static false(){return vs.INSTANCE}static true(){return zs.INSTANCE}static has(e){return bf.create(e)}static equals(e,t){return qm.create(e,t)}static notEquals(e,t){return Hy.create(e,t)}static regex(e,t){return Av.create(e,t)}static in(e,t){return Wy.create(e,t)}static notIn(e,t){return By.create(e,t)}static not(e){return Cf.create(e)}static and(...e){return vf.create(e,null,!0)}static or(...e){return Wc.create(e,null,!0)}static deserialize(e){return e==null?void 0:this._parser.parse(e)}};EB._parser=new Loe({regexParsingWithErrorRecovery:!1});let q=EB;function xoe(o,e){const t=o?o.substituteConstants():void 0,i=e?e.substituteConstants():void 0;return!t&&!i?!0:!t||!i?!1:t.equals(i)}function Mv(o,e){return o.cmp(e)}const _N=class _N{constructor(){this.type=0}cmp(e){return this.type-e.type}equals(e){return e.type===this.type}substituteConstants(){return this}evaluate(e){return!1}serialize(){return"false"}keys(){return[]}negate(){return zs.INSTANCE}};_N.INSTANCE=new _N;let vs=_N;const bN=class bN{constructor(){this.type=1}cmp(e){return this.type-e.type}equals(e){return e.type===this.type}substituteConstants(){return this}evaluate(e){return!0}serialize(){return"true"}keys(){return[]}negate(){return vs.INSTANCE}};bN.INSTANCE=new bN;let zs=bN;class bf{static create(e,t=null){const i=Un.get(e);return typeof i=="boolean"?i?zs.INSTANCE:vs.INSTANCE:new bf(e,t)}constructor(e,t){this.key=e,this.negated=t,this.type=2}cmp(e){return e.type!==this.type?this.type-e.type:zH(this.key,e.key)}equals(e){return e.type===this.type?this.key===e.key:!1}substituteConstants(){const e=Un.get(this.key);return typeof e=="boolean"?e?zs.INSTANCE:vs.INSTANCE:this}evaluate(e){return!!e.getValue(this.key)}serialize(){return this.key}keys(){return[this.key]}negate(){return this.negated||(this.negated=Cf.create(this.key,this)),this.negated}}class qm{static create(e,t,i=null){if(typeof t=="boolean")return t?bf.create(e,i):Cf.create(e,i);const n=Un.get(e);return typeof n=="boolean"?t===(n?"true":"false")?zs.INSTANCE:vs.INSTANCE:new qm(e,t,i)}constructor(e,t,i){this.key=e,this.value=t,this.negated=i,this.type=4}cmp(e){return e.type!==this.type?this.type-e.type:wf(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type?this.key===e.key&&this.value===e.value:!1}substituteConstants(){const e=Un.get(this.key);if(typeof e=="boolean"){const t=e?"true":"false";return this.value===t?zs.INSTANCE:vs.INSTANCE}return this}evaluate(e){return e.getValue(this.key)==this.value}serialize(){return`${this.key} == '${this.value}'`}keys(){return[this.key]}negate(){return this.negated||(this.negated=Hy.create(this.key,this.value,this)),this.negated}}class Wy{static create(e,t){return new Wy(e,t)}constructor(e,t){this.key=e,this.valueKey=t,this.type=10,this.negated=null}cmp(e){return e.type!==this.type?this.type-e.type:wf(this.key,this.valueKey,e.key,e.valueKey)}equals(e){return e.type===this.type?this.key===e.key&&this.valueKey===e.valueKey:!1}substituteConstants(){return this}evaluate(e){const t=e.getValue(this.valueKey),i=e.getValue(this.key);return Array.isArray(t)?t.includes(i):typeof i=="string"&&typeof t=="object"&&t!==null?poe.call(t,i):!1}serialize(){return`${this.key} in '${this.valueKey}'`}keys(){return[this.key,this.valueKey]}negate(){return this.negated||(this.negated=By.create(this.key,this.valueKey)),this.negated}}class By{static create(e,t){return new By(e,t)}constructor(e,t){this.key=e,this.valueKey=t,this.type=11,this._negated=Wy.create(e,t)}cmp(e){return e.type!==this.type?this.type-e.type:this._negated.cmp(e._negated)}equals(e){return e.type===this.type?this._negated.equals(e._negated):!1}substituteConstants(){return this}evaluate(e){return!this._negated.evaluate(e)}serialize(){return`${this.key} not in '${this.valueKey}'`}keys(){return this._negated.keys()}negate(){return this._negated}}class Hy{static create(e,t,i=null){if(typeof t=="boolean")return t?Cf.create(e,i):bf.create(e,i);const n=Un.get(e);return typeof n=="boolean"?t===(n?"true":"false")?vs.INSTANCE:zs.INSTANCE:new Hy(e,t,i)}constructor(e,t,i){this.key=e,this.value=t,this.negated=i,this.type=5}cmp(e){return e.type!==this.type?this.type-e.type:wf(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type?this.key===e.key&&this.value===e.value:!1}substituteConstants(){const e=Un.get(this.key);if(typeof e=="boolean"){const t=e?"true":"false";return this.value===t?vs.INSTANCE:zs.INSTANCE}return this}evaluate(e){return e.getValue(this.key)!=this.value}serialize(){return`${this.key} != '${this.value}'`}keys(){return[this.key]}negate(){return this.negated||(this.negated=qm.create(this.key,this.value,this)),this.negated}}class Cf{static create
Line truncated
|
||||
`+e(r,i+1):n+=`${r}
|
||||
`;return n};return e(this._data,0)}}function fh(o){return o===47||o===92}function YH(o){return o.replace(/[\\/]/g,Pi.sep)}function Foe(o){return o.indexOf("/")===-1&&(o=YH(o)),/^[a-zA-Z]:(\/|$)/.test(o)&&(o="/"+o),o}function XH(o,e=Pi.sep){if(!o)return"";const t=o.length,i=o.charCodeAt(0);if(fh(i)){if(fh(o.charCodeAt(1))&&!fh(o.charCodeAt(2))){let s=3;const r=s;for(;s<t&&!fh(o.charCodeAt(s));s++);if(r!==s&&!fh(o.charCodeAt(s+1))){for(s+=1;s<t;s++)if(fh(o.charCodeAt(s)))return o.slice(0,s+1).replace(/[\\/]/g,e)}}return e}else if(QH(i)&&o.charCodeAt(1)===58)return fh(o.charCodeAt(2))?o.slice(0,2)+e:o.slice(0,2);let n=o.indexOf("://");if(n!==-1){for(n+=3;n<t;n++)if(fh(o.charCodeAt(n)))return o.slice(0,n+1)}return""}function AM(o,e,t,i=wa){if(o===e)return!0;if(!o||!e||e.length>o.length)return!1;if(t){if(!WR(o,e))return!1;if(e.length===o.length)return!0;let s=e.length;return e.charAt(e.length-1)===i&&s--,o.charAt(s)===i}return e.charAt(e.length-1)!==i&&(e+=i),o.indexOf(e)===0}function QH(o){return o>=65&&o<=90||o>=97&&o<=122}function Woe(o,e=gn){return e?QH(o.charCodeAt(0))&&o.charCodeAt(1)===58:!1}function ul(o){return by(o,!0)}class Boe{constructor(e){this._ignorePathCasing=e}compare(e,t,i=!1){return e===t?0:mv(this.getComparisonKey(e,i),this.getComparisonKey(t,i))}isEqual(e,t,i=!1){return e===t?!0:!e||!t?!1:this.getComparisonKey(e,i)===this.getComparisonKey(t,i)}getComparisonKey(e,t=!1){return e.with({path:this._ignorePathCasing(e)?e.path.toLowerCase():void 0,fragment:t?null:void 0}).toString()}isEqualOrParent(e,t,i=!1){if(e.scheme===t.scheme){if(e.scheme===Le.file)return AM(ul(e),ul(t),this._ignorePathCasing(e))&&e.query===t.query&&(i||e.fragment===t.fragment);if(tV(e.authority,t.authority))return AM(e.path,t.path,this._ignorePathCasing(e),"/")&&e.query===t.query&&(i||e.fragment===t.fragment)}return!1}joinPath(e,...t){return be.joinPath(e,...t)}basenameOrAuthority(e){return Sr(e)||e.authority}basename(e){return Pi.basename(e.path)}extname(e){return Pi.extname(e.path)}dirname(e){if(e.path.length===0)return e;let t;return e.scheme===Le.file?t=be.file(_y(ul(e))).path:(t=Pi.dirname(e.path),e.authority&&t.length&&t.charCodeAt(0)!==47&&(console.error(`dirname("${e.toString})) resulted in a relative path`),t="/")),e.with({path:t})}normalizePath(e){if(!e.path.length)return e;let t;return e.scheme===Le.file?t=be.file(M6(ul(e))).path:t=Pi.normalize(e.path),e.with({path:t})}relativePath(e,t){if(e.scheme!==t.scheme||!tV(e.authority,t.authority))return;if(e.scheme===Le.file){const s=Bne(ul(e),ul(t));return gn?YH(s):s}let i=e.path||"/";const n=t.path||"/";if(this._ignorePathCasing(e)){let s=0;for(const r=Math.min(i.length,n.length);s<r&&!(i.charCodeAt(s)!==n.charCodeAt(s)&&i.charAt(s).toLowerCase()!==n.charAt(s).toLowerCase());s++);i=n.substr(0,s)+i.substr(s)}return Pi.relative(i,n)}resolvePath(e,t){if(e.scheme===Le.file){const i=be.file(Wne(ul(e),t));return e.with({authority:i.authority,path:i.path})}return t=Foe(t),e.with({path:Pi.resolve(e.path,t)})}isAbsolutePath(e){return!!e.path&&e.path[0]==="/"}isEqualAuthority(e,t){return e===t||e!==void 0&&t!==void 0&&lf(e,t)}hasTrailingPathSeparator(e,t=wa){if(e.scheme===Le.file){const i=ul(e);return i.length>XH(i).length&&i[i.length-1]===t}else{const i=e.path;return i.length>1&&i.charCodeAt(i.length-1)===47&&!/^[a-zA-Z]:(\/$|\\$)/.test(e.fsPath)}}removeTrailingPathSeparator(e,t=wa){return iV(e,t)?e.with({path:e.path.substr(0,e.path.length-1)}):e}addTrailingPathSeparator(e,t=wa){let i=!1;if(e.scheme===Le.file){const n=ul(e);i=n!==void 0&&n.length===XH(n).length&&n[n.length-1]===t}else{t="/";const n=e.path;i=n.length===1&&n.charCodeAt(n.length-1)===47}return!i&&!iV(e,t)?e.with({path:e.path+"/"}):e}}const $t=new Boe(()=>!1),gh=$t.isEqual.bind($t);$t.isEqualOrParent.bind($t),$t.getComparisonKey.bind($t);const Hoe=$t.basenameOrAuthority.bind($t),Sr=$t.basename.bind($t),Voe=$t.extname.bind($t),Gy=$t.dirname.bind($t),JH=$t.joinPath.bind($t),zoe=$t.normalizePath.bind($t),Uoe=$t.relativePath.bind($t),eV=$t.resolvePath.bind($t);$t.isAbsolutePath.bind($t);const tV=$t.isEqualAuthority.bind($t),iV=$t.hasTrailingPathSeparator.bind($t);$t.removeTrailingPathSeparator.bind($t),$t.addTrailingPathSeparator.bind($t);var ph;(function(o){o.META_DATA_LABEL="label",o.META_DATA_DESCRIPTION="description",o.META_DATA_SIZE="size",o.META_DATA_MIME="mime";function e(t){const i=new Map;t.path.substring(t.path.indexOf(";")+1,t.path.lastIndexOf(";")).split(";").forEach(r=>{const[a,l]=r.split(":");a&&l&&i.set(a,l)});const s=t.path.substring(0,t.path.indexOf(";"));return s&&i.set(o.META_DATA_MIME,s),i}o.parseMetaData=e})(ph||(ph={}));const Mt=Fe("logService"),nV=Fe("loggerService");var en;(function(o){o[o.Off=0]="Off",o[o.Trace=1]="Trace",o[o.Debug=2]="Debug",o[o.Info=3]="Info",o[o.Warning=4]="Warning",o[o.Error=5]="Error"})(en||(en={}));const sV=en.Info;function oV(o,e){return o!==en.Off&&o<=e}class rV extends P{constructor(){super(...arguments),this.level=sV,this._onDidChangeLogLevel=this._register(new A)}getLine truncated
|
||||
* 'to': A mandatory logical position value providing where to move the cursor.
|
||||
\`\`\`
|
||||
'left', 'right', 'up', 'down', 'prevBlankLine', 'nextBlankLine',
|
||||
'wrappedLineStart', 'wrappedLineEnd', 'wrappedLineColumnCenter'
|
||||
'wrappedLineFirstNonWhitespaceCharacter', 'wrappedLineLastNonWhitespaceCharacter'
|
||||
'viewPortTop', 'viewPortCenter', 'viewPortBottom', 'viewPortIfOutside'
|
||||
\`\`\`
|
||||
* 'by': Unit to move. Default is computed based on 'to' value.
|
||||
\`\`\`
|
||||
'line', 'wrappedLine', 'character', 'halfLine'
|
||||
\`\`\`
|
||||
* 'value': Number of units to move. Default is '1'.
|
||||
* 'select': If 'true' makes the selection. Default is 'false'.
|
||||
* 'noHistory': If 'true' does not add the movement to navigation history. Default is 'false'.
|
||||
`,constraint:e,schema:{type:"object",required:["to"],properties:{to:{type:"string",enum:["left","right","up","down","prevBlankLine","nextBlankLine","wrappedLineStart","wrappedLineEnd","wrappedLineColumnCenter","wrappedLineFirstNonWhitespaceCharacter","wrappedLineLastNonWhitespaceCharacter","viewPortTop","viewPortCenter","viewPortBottom","viewPortIfOutside"]},by:{type:"string",enum:["line","wrappedLine","character","halfLine"]},value:{type:"number",default:1},select:{type:"boolean",default:!1},noHistory:{type:"boolean",default:!1}}}}]},o.RawDirection={Left:"left",Right:"right",Up:"up",Down:"down",PrevBlankLine:"prevBlankLine",NextBlankLine:"nextBlankLine",WrappedLineStart:"wrappedLineStart",WrappedLineFirstNonWhitespaceCharacter:"wrappedLineFirstNonWhitespaceCharacter",WrappedLineColumnCenter:"wrappedLineColumnCenter",WrappedLineEnd:"wrappedLineEnd",WrappedLineLastNonWhitespaceCharacter:"wrappedLineLastNonWhitespaceCharacter",ViewPortTop:"viewPortTop",ViewPortCenter:"viewPortCenter",ViewPortBottom:"viewPortBottom",ViewPortIfOutside:"viewPortIfOutside"},o.RawUnit={Line:"line",WrappedLine:"wrappedLine",Character:"character",HalfLine:"halfLine"};function t(i){if(!i.to)return null;let n;switch(i.to){case o.RawDirection.Left:n=0;break;case o.RawDirection.Right:n=1;break;case o.RawDirection.Up:n=2;break;case o.RawDirection.Down:n=3;break;case o.RawDirection.PrevBlankLine:n=4;break;case o.RawDirection.NextBlankLine:n=5;break;case o.RawDirection.WrappedLineStart:n=6;break;case o.RawDirection.WrappedLineFirstNonWhitespaceCharacter:n=7;break;case o.RawDirection.WrappedLineColumnCenter:n=8;break;case o.RawDirection.WrappedLineEnd:n=9;break;case o.RawDirection.WrappedLineLastNonWhitespaceCharacter:n=10;break;case o.RawDirection.ViewPortTop:n=11;break;case o.RawDirection.ViewPortBottom:n=13;break;case o.RawDirection.ViewPortCenter:n=12;break;case o.RawDirection.ViewPortIfOutside:n=14;break;default:return null}let s=0;switch(i.by){case o.RawUnit.Line:s=1;break;case o.RawUnit.WrappedLine:s=2;break;case o.RawUnit.Character:s=3;break;case o.RawUnit.HalfLine:s=4;break}return{direction:n,unit:s,select:!!i.select,value:i.value||1,noHistory:!!i.noHistory}}o.parse=t})(aL||(aL={}));var Oi;(function(o){o[o.None=0]="None",o[o.Indent=1]="Indent",o[o.IndentOutdent=2]="IndentOutdent",o[o.Outdent=3]="Outdent"})(Oi||(Oi={}));class zM{constructor(e){if(this._neutralCharacter=null,this._neutralCharacterSearched=!1,this.open=e.open,this.close=e.close,this._inString=!0,this._inComment=!0,this._inRegEx=!0,Array.isArray(e.notIn))for(let t=0,i=e.notIn.length;t<i;t++)switch(e.notIn[t]){case"string":this._inString=!1;break;case"comment":this._inComment=!1;break;case"regex":this._inRegEx=!1;break}}isOK(e){switch(e){case 0:return!0;case 1:return this._inComment;case 2:return this._inString;case 3:return this._inRegEx}}shouldAutoClose(e,t){if(e.getTokenCount()===0)return!0;const i=e.findTokenIndexAtOffset(t-2),n=e.getStandardTokenType(i);return this.isOK(n)}_findNeutralCharacterInRange(e,t){for(let i=e;i<=t;i++){const n=String.fromCharCode(i);if(!this.open.includes(n)&&!this.close.includes(n))return n}return null}findNeutralCharacter(){return this._neutralCharacterSearched||(this._neutralCharacterSearched=!0,this._neutralCharacter||(this._neutralCharacter=this._findNeutralCharacterInRange(48,57)),this._neutralCharacter||(this._neutralCharacter=this._findNeutralCharacterInRange(97,122)),this._neutralCharacter||(this._neutralCharacter=this._findNeutralCharacterInRange(65,90))),this._neutralCharacter}}class gre{constructor(e){this.autoClosingPairsOpenByStart=new Map,this.autoClosingPairsOpenByEnd=new Map,this.autoClosingPairsCloseByStart=new Map,this.autoClosingPairsCloseByEnd=new Map,this.autoClosingPairsCloseSingleChar=new Map;for(const t of e)Wv(this.autoClosingPairsOpenByStart,t.open.charAt(0),t),Wv(this.autoClosingPairsOpenByEnd,t.open.charAt(t.open.length-1),t),Wv(this.autoClosingPairsCloseByStart,t.close.charAt(0),t),Wv(this.autoClosingPairsCloseByEnd,t.close.charAt(t.close.length-1),t),t.close.length===1&&t.open.length===1&&Wv(this.autoClosingPairsCloseSingleChar,t.close,t)}}function Wv(o,e,t){o.has(e)?o.get(e).push(t):o.set(e,[t])}const lL="`~!@#$%^&*()-=+[{]}\\|;:'\",.<>/?";function pre(o=""){let e="(-?\\d*\\.\\d\\w*)|([^";for(const t of lL)o.indexOf(t)>=0||(e+="\\"+t);return e+="\\s]+)",new RegExp(e,"g")}const UM=pre();function $M(o){let e=UM;if(o&&o instanceof RegExp)if(o.global)e=o;else{let t="g";o.ignoreCase&&(t+="i"),o.multiline&&(t+="m"),o.unicode&&(t+="u"),e=new RegExp(o.source,t)}return e.lastIndex=0,e}const pV=new es;pV.unshift({maxLen:1e3,windowSize:15,timeBudget:150});function Bv(o,e,t,i,n){if(e=$M(e),n||(n=Ge.first(pV)),t.length>n.maxLen){let c=o-n.maxLen/2;return c<0?c=0:i+=c,t=t.substring(c,o+n.maxLen/2),Bv(o,e,t,i,n)}const s=Date.now(),r=o-1-i;let a=-1,l=null;for(let c=1;!(Date.now()-s>=n.timeBudget);c++){const d=r-n.windowSize*c;e.lastIndex=Math.max(0,d);const h=mre(e,t,r,a);if(!h&&l||(l=h,d<=0))break;a=d}if(l){const c={wLine truncated
|
||||
`,LC.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_BRACKETS=`'"\`;:.,=}])>
|
||||
`;let jM=LC,qM;function mV(){return qM||(qM=new TextDecoder("UTF-16LE")),qM}let KM;function _re(){return KM||(KM=new TextDecoder("UTF-16BE")),KM}let GM;function _V(){return GM||(GM=d6()?mV():_re()),GM}function bre(o,e,t){const i=new Uint16Array(o.buffer,e,t);return t>0&&(i[0]===65279||i[0]===65534)?Cre(o,e,t):mV().decode(i)}function Cre(o,e,t){const i=[];let n=0;for(let s=0;s<t;s++){const r=Qne(o,e);e+=2,i[n++]=String.fromCharCode(r)}return i.join("")}class _h{constructor(e){this._capacity=e|0,this._buffer=new Uint16Array(this._capacity),this._completedStrings=null,this._bufferLength=0}reset(){this._completedStrings=null,this._bufferLength=0}build(){return this._completedStrings!==null?(this._flushBuffer(),this._completedStrings.join("")):this._buildBuffer()}_buildBuffer(){if(this._bufferLength===0)return"";const e=new Uint16Array(this._buffer.buffer,0,this._bufferLength);return _V().decode(e)}_flushBuffer(){const e=this._buildBuffer();this._bufferLength=0,this._completedStrings===null?this._completedStrings=[e]:this._completedStrings[this._completedStrings.length]=e}appendCharCode(e){const t=this._capacity-this._bufferLength;t<=1&&(t===0||zi(e))&&this._flushBuffer(),this._buffer[this._bufferLength++]=e}appendASCIICharCode(e){this._bufferLength===this._capacity&&this._flushBuffer(),this._buffer[this._bufferLength++]=e}appendString(e){const t=e.length;if(this._bufferLength+t>=this._capacity){this._flushBuffer(),this._completedStrings[this._completedStrings.length]=e;return}for(let i=0;i<t;i++)this._buffer[this._bufferLength++]=e.charCodeAt(i)}}class cL{constructor(e,t,i,n,s,r){this._richEditBracketBrand=void 0,this.languageId=e,this.index=t,this.open=i,this.close=n,this.forwardRegex=s,this.reversedRegex=r,this._openSet=cL._toSet(this.open),this._closeSet=cL._toSet(this.close)}isOpen(e){return this._openSet.has(e)}isClose(e){return this._closeSet.has(e)}static _toSet(e){const t=new Set;for(const i of e)t.add(i);return t}}function vre(o){const e=o.length;o=o.map(r=>[r[0].toLowerCase(),r[1].toLowerCase()]);const t=[];for(let r=0;r<e;r++)t[r]=r;const i=(r,a)=>{const[l,c]=r,[d,h]=a;return l===d||l===h||c===d||c===h},n=(r,a)=>{const l=Math.min(r,a),c=Math.max(r,a);for(let d=0;d<e;d++)t[d]===c&&(t[d]=l)};for(let r=0;r<e;r++){const a=o[r];for(let l=r+1;l<e;l++){const c=o[l];i(a,c)&&n(t[r],t[l])}}const s=[];for(let r=0;r<e;r++){const a=[],l=[];for(let c=0;c<e;c++)if(t[c]===r){const[d,h]=o[c];a.push(d),l.push(h)}a.length>0&&s.push({open:a,close:l})}return s}class wre{constructor(e,t){this._richEditBracketsBrand=void 0;const i=vre(t);this.brackets=i.map((n,s)=>new cL(e,s,n.open,n.close,Sre(n.open,n.close,i,s),yre(n.open,n.close,i,s))),this.forwardRegex=Lre(this.brackets),this.reversedRegex=xre(this.brackets),this.textIsBracket={},this.textIsOpenBracket={},this.maxBracketLength=0;for(const n of this.brackets){for(const s of n.open)this.textIsBracket[s]=n,this.textIsOpenBracket[s]=!0,this.maxBracketLength=Math.max(this.maxBracketLength,s.length);for(const s of n.close)this.textIsBracket[s]=n,this.textIsOpenBracket[s]=!1,this.maxBracketLength=Math.max(this.maxBracketLength,s.length)}}}function bV(o,e,t,i){for(let n=0,s=e.length;n<s;n++){if(n===t)continue;const r=e[n];for(const a of r.open)a.indexOf(o)>=0&&i.push(a);for(const a of r.close)a.indexOf(o)>=0&&i.push(a)}}function CV(o,e){return o.length-e.length}function dL(o){if(o.length<=1)return o;const e=[],t=new Set;for(const i of o)t.has(i)||(e.push(i),t.add(i));return e}function Sre(o,e,t,i){let n=[];n=n.concat(o),n=n.concat(e);for(let s=0,r=n.length;s<r;s++)bV(n[s],t,i,n);return n=dL(n),n.sort(CV),n.reverse(),Hv(n)}function yre(o,e,t,i){let n=[];n=n.concat(o),n=n.concat(e);for(let s=0,r=n.length;s<r;s++)bV(n[s],t,i,n);return n=dL(n),n.sort(CV),n.reverse(),Hv(n.map(ZM))}function Lre(o){let e=[];for(const t of o){for(const i of t.open)e.push(i);for(const i of t.close)e.push(i)}return e=dL(e),Hv(e)}function xre(o){let e=[];for(const t of o){for(const i of t.open)e.push(i);for(const i of t.close)e.push(i)}return e=dL(e),Hv(e.map(ZM))}function kre(o){const e=/^[\w ]+$/.test(o);return o=ao(o),e?`\\b${o}\\b`:o}function Hv(o,e){const t=`(${o.map(kre).join(")|(")})`;return y6(t,!0,e)}const ZM=(function(){function o(i){const n=new Uint16Array(i.length);let s=0;for(let r=i.length-1;r>=0;r--)n[s++]=i.charCodeAt(r);return _V().decode(n)}let e=null,t=null;return function(n){return e!==n&&(e=n,t=o(e)),t}})();class Qr{static _findPrevBracketInText(e,t,i,n){const s=i.match(e);if(!s)return null;const r=i.length-(s.index||0),a=s[0].length,l=n+r;return new k(t,l-a+1,t,l+1)}static findPrevBracketInRange(e,t,i,n,s){const a=ZM(i).substring(i.length-s,i.length-n);return this._findPrevBracketInText(e,t,a,n)}static findNextBracketInText(e,t,i,n){const s=i.match(e);if(!s)return null;const r=s.index||0,a=s[0].length;if(a===0)return null;const l=n+r;return new k(t,l+1,t,l+1+a)}static findNextBracketInRange(e,t,i,n,s){const r=i.substring(n,s);return this.findNextBracketInText(e,t,r,n)}}class Ire{c
Line truncated
|
||||
`},"[yaml]":{"editor.insertSpaces":!0,"editor.tabSize":2}}}]);class Vre{constructor(e,t){this.languageId=e;const i=t.brackets?DV(t.brackets):[],n=new PR(a=>{const l=new Set;return{info:new zre(this,a,l),closing:l}}),s=new PR(a=>{const l=new Set,c=new Set;return{info:new Ure(this,a,l,c),opening:l,openingColorized:c}});for(const[a,l]of i){const c=n.get(a),d=s.get(l);c.closing.add(d.info),d.opening.add(c.info)}const r=t.colorizedBracketPairs?DV(t.colorizedBracketPairs):i.filter(a=>!(a[0]==="<"&&a[1]===">"));for(const[a,l]of r){const c=n.get(a),d=s.get(l);c.closing.add(d.info),d.openingColorized.add(c.info),d.opening.add(c.info)}this._openingBrackets=new Map([...n.cachedValues].map(([a,l])=>[a,l.info])),this._closingBrackets=new Map([...s.cachedValues].map(([a,l])=>[a,l.info]))}get openingBrackets(){return[...this._openingBrackets.values()]}get closingBrackets(){return[...this._closingBrackets.values()]}getOpeningBracketInfo(e){return this._openingBrackets.get(e)}getClosingBracketInfo(e){return this._closingBrackets.get(e)}getBracketInfo(e){return this.getOpeningBracketInfo(e)||this.getClosingBracketInfo(e)}getBracketRegExp(e){const t=Array.from([...this._openingBrackets.keys(),...this._closingBrackets.keys()]);return Hv(t,e)}}function DV(o){return o.filter(([e,t])=>e!==""&&t!=="")}class EV{constructor(e,t){this.config=e,this.bracketText=t}get languageId(){return this.config.languageId}}class zre extends EV{constructor(e,t,i){super(e,t),this.openedBrackets=i,this.isOpeningBracket=!0}}class Ure extends EV{constructor(e,t,i,n){super(e,t),this.openingBrackets=i,this.openingColorizedBrackets=n,this.isOpeningBracket=!1}closes(e){return e.config!==this.config?!1:this.openingBrackets.has(e)}closesColorized(e){return e.config!==this.config?!1:this.openingColorizedBrackets.has(e)}getOpeningBrackets(){return[...this.openingBrackets]}}var $re=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},NV=function(o,e){return function(t,i){e(t,i,o)}};class QM{constructor(e){this.languageId=e}affects(e){return this.languageId?this.languageId===e:!0}}const Qt=Fe("languageConfigurationService");let JM=class extends P{constructor(e,t){super(),this.configurationService=e,this.languageService=t,this._registry=this._register(new Gre),this.onDidChangeEmitter=this._register(new A),this.onDidChange=this.onDidChangeEmitter.event,this.configurations=new Map;const i=new Set(Object.values(e2));this._register(this.configurationService.onDidChangeConfiguration(n=>{const s=n.change.keys.some(a=>i.has(a)),r=n.change.overrides.filter(([a,l])=>l.some(c=>i.has(c))).map(([a])=>a);if(s)this.configurations.clear(),this.onDidChangeEmitter.fire(new QM(void 0));else for(const a of r)this.languageService.isRegisteredLanguageId(a)&&(this.configurations.delete(a),this.onDidChangeEmitter.fire(new QM(a)))})),this._register(this._registry.onDidChange(n=>{this.configurations.delete(n.languageId),this.onDidChangeEmitter.fire(new QM(n.languageId))}))}register(e,t,i){return this._registry.register(e,t,i)}getLanguageConfiguration(e){let t=this.configurations.get(e);return t||(t=jre(e,this._registry,this.configurationService,this.languageService),this.configurations.set(e,t)),t}};JM=$re([NV(0,Me),NV(1,ci)],JM);function jre(o,e,t,i){let n=e.getLanguageConfiguration(o);if(!n){if(!i.isRegisteredLanguageId(o))return new t_(o,{});n=new t_(o,{})}const s=qre(n.languageId,t),r=MV([n.underlyingConfig,s]);return new t_(n.languageId,r)}const e2={brackets:"editor.language.brackets",colorizedBracketPairs:"editor.language.colorizedBracketPairs"};function qre(o,e){const t=e.getValue(e2.brackets,{overrideIdentifier:o}),i=e.getValue(e2.colorizedBracketPairs,{overrideIdentifier:o});return{brackets:TV(t),colorizedBracketPairs:TV(i)}}function TV(o){if(Array.isArray(o))return o.map(e=>{if(!(!Array.isArray(e)||e.length!==2))return[e[0],e[1]]}).filter(e=>!!e)}function RV(o,e,t){const i=o.getLineContent(e);let n=It(i);return n.length>t-1&&(n=n.substring(0,t-1)),n}class Kre{constructor(e){this.languageId=e,this._resolved=null,this._entries=[],this._order=0,this._resolved=null}register(e,t){const i=new AV(e,t,++this._order);return this._entries.push(i),this._resolved=null,fe(()=>{for(let n=0;n<this._entries.length;n++)if(this._entries[n]===i){this._entries.splice(n,1),this._resolved=null;break}})}getResolvedConfiguration(){if(!this._resolved){const e=this._resolve();e&&(this._resolved=new t_(this.languageId,e))}return this._resolved}_resolve(){return this._entries.length===0?null:(this._entries.sort(AV.cmp),MV(this._entries.map(e=>e.configuration)))}}function MV(o){let e={comments:void 0,brackets:void 0,wordPattern:void 0,indentationRules:void 0,onEnterRules:void 0,autoClosingPairs:void 0,surroundingPairs:void 0,autoCloseBefor
Line truncated
|
||||
`){const r=[];for(let a=0,l=i.length;a<l;a++)r[a]=this._enter(e,t,!1,i[a]);return new ws(4,r,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!1})}}static _enter(e,t,i,n){if(e.autoIndent===0)return Ef(n,`
|
||||
`,i);if(!t.tokenization.isCheapToTokenize(n.getStartPosition().lineNumber)||e.autoIndent===1){const l=t.getLineContent(n.startLineNumber),c=It(l).substring(0,n.startColumn-1);return Ef(n,`
|
||||
`+e.normalizeIndentation(c),i)}const s=i_(e.autoIndent,t,n,e.languageConfigurationService);if(s){if(s.indentAction===Oi.None)return Ef(n,`
|
||||
`+e.normalizeIndentation(s.indentation+s.appendText),i);if(s.indentAction===Oi.Indent)return Ef(n,`
|
||||
`+e.normalizeIndentation(s.indentation+s.appendText),i);if(s.indentAction===Oi.IndentOutdent){const l=e.normalizeIndentation(s.indentation),c=e.normalizeIndentation(s.indentation+s.appendText),d=`
|
||||
`+c+`
|
||||
`+l;return i?new Jy(n,d,!0):new eL(n,d,-1,c.length-l.length,!0)}else if(s.indentAction===Oi.Outdent){const l=vL(e,s.indentation);return Ef(n,`
|
||||
`+e.normalizeIndentation(l+s.appendText),i)}}const r=t.getLineContent(n.startLineNumber),a=It(r).substring(0,n.startColumn-1);if(e.autoIndent>=4){const l=iae(e.autoIndent,t,n,{unshiftIndent:c=>vL(e,c),shiftIndent:c=>h2(e,c),normalizeIndentation:c=>e.normalizeIndentation(c)},e.languageConfigurationService);if(l){let c=e.visibleColumnFromColumn(t,n.getEndPosition());const d=n.endColumn,h=t.getLineContent(n.endLineNumber),u=ts(h);if(u>=0?n=n.setEndPosition(n.endLineNumber,Math.max(n.endColumn,u+1)):n=n.setEndPosition(n.endLineNumber,t.getLineMaxColumn(n.endLineNumber)),i)return new Jy(n,`
|
||||
`+e.normalizeIndentation(l.afterEnter),!0);{let f=0;return d<=u+1&&(e.insertSpaces||(c=Math.ceil(c/e.indentSize)),f=Math.min(c+1-e.normalizeIndentation(l.afterEnter).length-1,0)),new eL(n,`
|
||||
`+e.normalizeIndentation(l.afterEnter),0,f,!0)}}}return Ef(n,`
|
||||
`+e.normalizeIndentation(a),i)}static lineInsertBefore(e,t,i){if(t===null||i===null)return[];const n=[];for(let s=0,r=i.length;s<r;s++){let a=i[s].positionLineNumber;if(a===1)n[s]=new Jy(new k(1,1,1,1),`
|
||||
`);else{a--;const l=t.getLineMaxColumn(a);n[s]=this._enter(e,t,!1,new k(a,l,a,l))}}return n}static lineInsertAfter(e,t,i){if(t===null||i===null)return[];const n=[];for(let s=0,r=i.length;s<r;s++){const a=i[s].positionLineNumber,l=t.getLineMaxColumn(a);n[s]=this._enter(e,t,!1,new k(a,l,a,l))}return n}static lineBreakInsert(e,t,i){const n=[];for(let s=0,r=i.length;s<r;s++)n[s]=this._enter(e,t,!0,i[s]);return n}}class hae{static getEdits(e,t,i,n,s,r){const a=this._distributePasteToCursors(e,i,n,s,r);return a?(i=i.sort(k.compareRangesUsingStarts),this._distributedPaste(e,t,i,a)):this._simplePaste(e,t,i,n,s)}static _distributePasteToCursors(e,t,i,n,s){if(n||t.length===1)return null;if(s&&s.length===t.length)return s;if(e.multiCursorPaste==="spread"){i.charCodeAt(i.length-1)===10&&(i=i.substring(0,i.length-1)),i.charCodeAt(i.length-1)===13&&(i=i.substring(0,i.length-1));const r=lo(i);if(r.length===t.length)return r}return null}static _distributedPaste(e,t,i,n){const s=[];for(let r=0,a=i.length;r<a;r++){const c=e.overtypeOnPaste&&e.inputMode==="overtype"?FM:Dn;s[r]=new c(i[r],n[r])}return new ws(0,s,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!0})}static _simplePaste(e,t,i,n,s){const r=[];for(let a=0,l=i.length;a<l;a++){const c=i[a],d=c.getPosition();if(s&&!c.isEmpty()&&(s=!1),s&&n.indexOf(`
|
||||
`)!==n.length-1&&(s=!1),s){const h=new k(d.lineNumber,1,d.lineNumber,1);r[a]=new WM(h,n,c,!0)}else{const u=e.overtypeOnPaste&&e.inputMode==="overtype"?FM:Dn;r[a]=new u(c,n)}}return new ws(0,r,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!0})}}class uae{static getEdits(e,t,i,n,s,r,a,l){const c=n.map(d=>this._compositionType(i,d,s,r,a,l));return new ws(4,c,{shouldPushStackElementBefore:CL(e,4),shouldPushStackElementAfter:!1})}static _compositionType(e,t,i,n,s,r){if(!t.isEmpty())return null;const a=t.getPosition(),l=Math.max(1,a.column-n),c=Math.min(e.getLineMaxColumn(a.lineNumber),a.column+s),d=new k(a.lineNumber,l,a.lineNumber,c);return new eL(d,i,0,r)}}class fae{static getEdits(e,t,i){const n=[];for(let r=0,a=t.length;r<a;r++)n[r]=new Dn(t[r],i);const s=d2(i,e);return new ws(s,n,{shouldPushStackElementBefore:CL(e,s),shouldPushStackElementAfter:!1})}}class gae{static getCommands(e,t,i){const n=[];for(let s=0,r=i.length;s<r;s++){const a=i[s];if(a.isEmpty()){const l=t.getLineContent(a.startLineNumber);if(/^\s*$/.test(l)&&t.tokenization.isCheapToTokenize(a.startLineNumber)){let c=this._goodIndentForLine(e,t,a.startLineNumber);c=c||" ";const d=e.normalizeIndentation(c);if(!l.startsWith(d)){n[s]=new Dn(new k(a.startLineNumber,1,a.startLineNumber,l.length+1),d,!0);continue}}n[s]=this._replaceJumpToNextIndent(e,t,a,!0)}else{if(a.startLineNumber===a.endLineNumber){const l=t.getLineMaxColumn(a.startLineNumber);if(a.startColumn!==1||a.endColumn!==l){n[s]=this._replaceJumpToNextIndent(e,t,a,!1);continue}}n[s]=new kr(a,{isUnshift:!1,tabSize:e.tabSize,indentSize:e.indentSize,insertSpaces:e.insertSpaces,useTabStops:e.useTabStops,autoIndent:e.autoIndent},e.languageConfigurationService)}}return n}static _goodIndentForLine(e,t,i){let n=null,s="";const r=Vv(e.autoIndent,t,i,!1,e.languageConfigurationService);if(r)n=r.action,s=r.indentation;else if(i>1){let a;for(a=i-1;a>=1;a--){const d=t.getLineContent(a);if(Gr(d)>=0)break}if(a<1)return null;const l=t.getLineMaxColumn(a),c=i_(e.autoIndent,t,new k(a,l,a,l),e.languageConfigurationService);c&&(s=c.indentation+c.appendText)}return n&&(n===Oi.Indent&&(s=h2(e,s)),n===Oi.Outdent&&(s=vL(e,s)),s=e.normalizeIndentation(s)),s||null}static _replaceJumpToNextIndent(e,t,i,n){let s="";const r=i.getStartPosition();if(e.insertSpaces){const a=e.visibleColumnFromColumn(t,r),l=e.indentSize,c=l-a%l;for(let d=0;d<c;d++)s+=" "}else s=" ";return new Dn(i,s,n)}}class c2 extends eL{constructor(e,t,i,n,s,r){super(e,t,i,n),this._openCharacter=s,this._closeCharacter=r,this.closeCharacterRange=null,this.enclosingRange=null}_computeCursorStateWithRange(e,t,i){return this.closeCharacterRange=new k(t.startLineNumber,t.endColumn-this._closeCharacter.length,t.endLineNumber,t.endColumn),this.enclosingRange=new k(t.startLineNumber,t.endColumn-this._openCharacter.length-this._closeCharacter.length,t.endLineNumber,t.endColumn),super.computeCursorState(e,i)}}class pae extends c2{constructor(e,t,i,n){const s=(i?t:"")+n,r=0,a=-n.length;super(e,s,r,a,t,n)}computeCursorState(e,t){const n=t.getInverseEditOperations()[0].range;return this._computeCursorStateWithRange(e,n,t)}}class mae extends c2{constructor(e,t,i,n){const s=i+n,r=0,a=i.length;super(t,s,r,a,i,n),this._autoIndentationEdit=e,this._autoClosingEdit={range:t,text:s}}getEditOperations(e,t){t.addTrackedEditOperation(this._autoIndentationEdit.range,this._autoIndentationEdit.text),t.addTrackedEditOperation(this._autoClosingEdit.range,this._autoClosingEdit.text)}computeCursorState(e,t){const i=t.getInverseEditOperations();if(i.length!==2)throw new Error("There should be two inverse edit operations!");const n=i[0].range,s=i[1].range,r=n.plusRange(s);return this._computeCursorStateWithRange(e,r,t)}}function d2(o,e){return o===" "?e===5||e===6?6:5:4}function CL(o,e){return HV(o)&&!HV(e)?!0:o===5?!1:BV(o)!==BV(e)}function BV(o){return o===6||o===5?"space":o}function HV(o){return o===4||o===5||o===6}function VV(o,e,t,i,n){if(o.autoClosingOvertype==="never"||!o.autoClosingPairs.autoClosingPairsCloseSingleChar.has(n))return!1;for(let s=0,r=t.length;s<r;s++){const a=t[s];if(!a.isEmpty())return!1;const l=a.getPosition(),c=e.getLineContent(l.lineNumber);if(c.charAt(l.column-1)!==n)return!1;const h=mh(n);if((l.column>2?c.charCodeAt(l.column-2):0)===92&&h)return!1;if(o.autoClosingOvertype==="auto"){let f=!1;for(let g=0,p=i.length;g<p;g++){const _=i[g];if(l.lineNumber===_.startLineNumber&&l.column===_.startColumn){f=!0;break}}if(!f)return!1}}return!0}function Ef(o,e,t){return t?new Jy(o,e,!0):new Dn(o,e,!0)}function h2(o,e,t){return t=t||1,kr.shiftIndent(e,e.length+t,o.tabSize,o.indentSize,o.insertSpaces)}function vL(o,e,t){return t=t||1,kr.unshiftIndent(e,e.length+t,o.tabSize,o.indentSize,o.insertSpaces)}function zV(o,e){return mh(e)?o.autoSurround==="quotes"||o.autoSurround==="languageDefined":o.autoSurround==="brackets"||o.autoSurround==="languageDefined"}class Ch{static indent(e,t,i){if(t===null||i===null)return[];const n=[];for(let s=0,r=i.length;s<r;s++)n
Line truncated
|
||||
- Use 0 to automatically compute the line height from the font size.
|
||||
- Values between 0 and 8 will be used as a multiplier with the font size.
|
||||
- Values greater than or equal to 8 will be used as effective values.`)},0,150)}compute(e,t,i){return e.fontInfo.lineHeight}}class Zae extends Zt{constructor(){const e={enabled:!0,size:"proportional",side:"right",showSlider:"mouseover",autohide:"none",renderCharacters:!0,maxColumn:120,scale:1,showRegionSectionHeaders:!0,showMarkSectionHeaders:!0,markSectionHeaderRegex:"\\bMARK:\\s*(?<separator>-?)\\s*(?<label>.*)$",sectionHeaderFontSize:9,sectionHeaderLetterSpacing:1};super(81,"minimap",e,{"editor.minimap.enabled":{type:"boolean",default:e.enabled,description:m(276,"Controls whether the minimap is shown.")},"editor.minimap.autohide":{type:"string",enum:["none","mouseover","scroll"],enumDescriptions:[m(277,"The minimap is always shown."),m(278,"The minimap is hidden when mouse is not over the minimap and shown when mouse is over the minimap."),m(279,"The minimap is only shown when the editor is scrolled")],default:e.autohide,description:m(280,"Controls whether the minimap is hidden automatically.")},"editor.minimap.size":{type:"string",enum:["proportional","fill","fit"],enumDescriptions:[m(281,"The minimap has the same size as the editor contents (and might scroll)."),m(282,"The minimap will stretch or shrink as necessary to fill the height of the editor (no scrolling)."),m(283,"The minimap will shrink as necessary to never be larger than the editor (no scrolling).")],default:e.size,description:m(284,"Controls the size of the minimap.")},"editor.minimap.side":{type:"string",enum:["left","right"],default:e.side,description:m(285,"Controls the side where to render the minimap.")},"editor.minimap.showSlider":{type:"string",enum:["always","mouseover"],default:e.showSlider,description:m(286,"Controls when the minimap slider is shown.")},"editor.minimap.scale":{type:"number",default:e.scale,minimum:1,maximum:3,enum:[1,2,3],description:m(287,"Scale of content drawn in the minimap: 1, 2 or 3.")},"editor.minimap.renderCharacters":{type:"boolean",default:e.renderCharacters,description:m(288,"Render the actual characters on a line as opposed to color blocks.")},"editor.minimap.maxColumn":{type:"number",default:e.maxColumn,description:m(289,"Limit the width of the minimap to render at most a certain number of columns.")},"editor.minimap.showRegionSectionHeaders":{type:"boolean",default:e.showRegionSectionHeaders,description:m(290,"Controls whether named regions are shown as section headers in the minimap.")},"editor.minimap.showMarkSectionHeaders":{type:"boolean",default:e.showMarkSectionHeaders,description:m(291,"Controls whether MARK: comments are shown as section headers in the minimap.")},"editor.minimap.markSectionHeaderRegex":{type:"string",default:e.markSectionHeaderRegex,description:m(292,"Defines the regular expression used to find section headers in comments. The regex must contain a named match group `label` (written as `(?<label>.+)`) that encapsulates the section header, otherwise it will not work. Optionally you can include another match group named `separator`. Use \\n in the pattern to match multi-line headers.")},"editor.minimap.sectionHeaderFontSize":{type:"number",default:e.sectionHeaderFontSize,description:m(293,"Controls the font size of section headers in the minimap.")},"editor.minimap.sectionHeaderLetterSpacing":{type:"number",default:e.sectionHeaderLetterSpacing,description:m(294,"Controls the amount of space (in pixels) between characters of section header. This helps the readability of the header in small font sizes.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;let i=this.defaultValue.markSectionHeaderRegex;const n=t.markSectionHeaderRegex;if(typeof n=="string")try{new RegExp(n,"d"),i=n}catch{}return{enabled:_e(t.enabled,this.defaultValue.enabled),autohide:Ft(t.autohide,this.defaultValue.autohide,["none","mouseover","scroll"]),size:Ft(t.size,this.defaultValue.size,["proportional","fill","fit"]),side:Ft(t.side,this.defaultValue.side,["right","left"]),showSlider:Ft(t.showSlider,this.defaultValue.showSlider,["always","mouseover"]),renderCharacters:_e(t.renderCharacters,this.defaultValue.renderCharacters),scale:St.clampedInt(t.scale,1,1,3),maxColumn:St.clampedInt(t.maxColumn,this.defaultValue.maxColumn,1,1e4),showRegionSectionHeaders:_e(t.showRegionSectionHeaders,this.defaultValue.showRegionSectionHeaders),showMarkSectionHeaders:_e(t.showMarkSectionHeaders,this.defaultValue.showMarkSectionHeaders),markSectionHeaderRegex:i,sectionHeaderFontSize:js.clamp(js.float(t.sectionHeaderFontSize,this.defaultValue.sectionHeaderFontSize),4,32),sectionHeaderLetterSpacing:js.clamp(js.float(t.sectionHeaderLetterSpacing,this.defaultValue.sectionHeaderLetterSpacing),0,5)}}}function Yae(o){return o==="ctrlCmd"?ze?"metaKey":"ctrlKey":"altKey"}class Xae extends Zt{constructor(){super(96,"padding",{top:0,bottom:0},{"editor.padding.top":{type:"number",default:0,minimum:0,maximum:1e3,description:m(295,"Controls the amount of space between the top edge of the editor and the first line.")
Line truncated
|
||||
`)}}const EL=new Fle;ei.add(iz.ColorContribution,EL);function N(o,e,t,i,n){return EL.registerColor(o,e,t,i,n)}function Wle(o,e){switch(o.op){case 0:return Nr(o.value,e)?.darken(o.factor);case 1:return Nr(o.value,e)?.lighten(o.factor);case 2:return Nr(o.value,e)?.transparent(o.factor);case 7:{const t=Nr(o.color,e)||z.transparent,i=Nr(o.with,e)||z.transparent;return t.mix(i,o.ratio)}case 3:{const t=Nr(o.background,e);return t?Nr(o.value,e)?.makeOpaque(t):Nr(o.value,e)}case 4:for(const t of o.values){const i=Nr(t,e);if(i)return i}return;case 6:return Nr(e.defines(o.if)?o.then:o.else,e);case 5:{const t=Nr(o.value,e);if(!t)return;const i=Nr(o.background,e);return i?t.isDarkerThan(i)?z.getLighterColor(t,i,o.factor).transparent(o.transparency):z.getDarkerColor(t,i,o.factor).transparent(o.transparency):t.transparent(o.factor*o.transparency)}default:throw nv()}}function Ks(o,e){return{op:0,value:o,factor:e}}function Ma(o,e){return{op:1,value:o,factor:e}}function Ne(o,e){return{op:2,value:o,factor:e}}function Kv(...o){return{op:4,values:o}}function Ble(o,e,t){return{op:6,if:o,then:e,else:t}}function nz(o,e,t,i){return{op:5,value:o,background:e,factor:t,transparency:i}}function Nr(o,e){if(o!==null){if(typeof o=="string")return o[0]==="#"?z.fromHex(o):e.getColor(o);if(o instanceof z)return o;if(typeof o=="object")return Wle(o,e)}}const sz="vscode://schemas/workbench-colors",oz=ei.as(uL.JSONContribution);oz.registerSchema(sz,EL.getColorSchema());const rz=new vt(()=>oz.notifySchemaChanged(sz),200);EL.onDidChangeSchema(()=>{rz.isScheduled()||rz.schedule()});const Ue=N("foreground",{dark:"#CCCCCC",light:"#616161",hcDark:"#FFFFFF",hcLight:"#292929"},m(1773,"Overall foreground color. This color is only used if not overridden by a component."));N("disabledForeground",{dark:"#CCCCCC80",light:"#61616180",hcDark:"#A5A5A5",hcLight:"#7F7F7F"},m(1774,"Overall foreground for disabled elements. This color is only used if not overridden by a component.")),N("errorForeground",{dark:"#F48771",light:"#A1260D",hcDark:"#F48771",hcLight:"#B5200D"},m(1775,"Overall foreground color for error messages. This color is only used if not overridden by a component."));const az=N("descriptionForeground",{light:"#717171",dark:Ne(Ue,.7),hcDark:Ne(Ue,.7),hcLight:Ne(Ue,.7)},m(1776,"Foreground color for description text providing additional information, for example for a label.")),NL=N("icon.foreground",{dark:"#C5C5C5",light:"#424242",hcDark:"#FFFFFF",hcLight:"#292929"},m(1777,"The default color for icons in the workbench.")),bl=N("focusBorder",{dark:"#007FD4",light:"#0090F1",hcDark:"#F38518",hcLight:"#006BBD"},m(1778,"Overall border color for focused elements. This color is only used if not overridden by a component.")),Ze=N("contrastBorder",{light:null,dark:null,hcDark:"#6FC3DF",hcLight:"#0F4A85"},m(1779,"An extra border around elements to separate them from others for greater contrast.")),jt=N("contrastActiveBorder",{light:null,dark:null,hcDark:bl,hcLight:bl},m(1780,"An extra border around active elements to separate them from others for greater contrast."));N("selection.background",null,m(1781,"The background color of text selections in the workbench (e.g. for input fields or text areas). Note that this does not apply to selections within the editor."));const Hle=N("textLink.foreground",{light:"#006AB1",dark:"#3794FF",hcDark:"#21A6FF",hcLight:"#0F4A85"},m(1782,"Foreground color for links in text."));N("textLink.activeForeground",{light:"#006AB1",dark:"#3794FF",hcDark:"#21A6FF",hcLight:"#0F4A85"},m(1783,"Foreground color for links in text when clicked on and on mouse hover.")),N("textSeparator.foreground",{light:"#0000002e",dark:"#ffffff2e",hcDark:z.black,hcLight:"#292929"},m(1784,"Color for text separators.")),N("textPreformat.foreground",{light:"#A31515",dark:"#D7BA7D",hcDark:"#000000",hcLight:"#FFFFFF"},m(1785,"Foreground color for preformatted text segments.")),N("textPreformat.background",{light:"#0000001A",dark:"#FFFFFF1A",hcDark:"#FFFFFF",hcLight:"#09345f"},m(1786,"Background color for preformatted text segments.")),N("textBlockQuote.background",{light:"#f2f2f2",dark:"#222222",hcDark:null,hcLight:"#F2F2F2"},m(1787,"Background color for block quotes in text.")),N("textBlockQuote.border",{light:"#007acc80",dark:"#007acc80",hcDark:z.white,hcLight:"#292929"},m(1788,"Border color for block quotes in text.")),N("textCodeBlock.background",{light:"#dcdcdc66",dark:"#0a0a0a66",hcDark:z.black,hcLight:"#F2F2F2"},m(1789,"Background color for code blocks in text.")),N("sash.hoverBorder",bl,m(1994,"Border color of active sashes."));const TL=N("badge.background",{dark:"#4D4D4D",light:"#C4C4C4",hcDark:z.black,hcLight:"#0F4A85"},m(1995,"Badge background color. Badges are small information labels, e.g. for search results count.")),Vle=N("badge.foreground",{dark:z.white,light:"#333",hcDark:z.white,hcLight:z.white},m(1996,"Badge foreground color. Badges are small information labels, e.g. for search results count."));N("activityWarningBadge.foreground",{dark:z.black
Line truncated
|
||||
${a}: ${r};`}return i+=`
|
||||
}`,i}dispose(){this._styleElementDisposables.dispose(),this._styleElement=void 0}increaseRefCount(){this._referenceCount++}decreaseRefCount(){this._referenceCount--}hasReferences(){return this._referenceCount>0}}function xde(o){return o.replace(/(^[A-Z])/,([e])=>e.toLowerCase()).replace(/([A-Z])/g,([e])=>`-${e.toLowerCase()}`)}class Pf extends P{constructor(){super(),this._shouldRender=!0}shouldRender(){return this._shouldRender}forceShouldRender(){this._shouldRender=!0}setShouldRender(){this._shouldRender=!0}onDidRender(){this._shouldRender=!1}onCompositionStart(e){return!1}onCompositionEnd(e){return!1}onConfigurationChanged(e){return!1}onCursorStateChanged(e){return!1}onDecorationsChanged(e){return!1}onFlushed(e){return!1}onFocusChanged(e){return!1}onLanguageConfigurationChanged(e){return!1}onLineMappingChanged(e){return!1}onLinesChanged(e){return!1}onLinesDeleted(e){return!1}onLinesInserted(e){return!1}onRevealRangeRequest(e){return!1}onScrollChanged(e){return!1}onThemeChanged(e){return!1}onTokensChanged(e){return!1}onTokensColorsChanged(e){return!1}onZonesChanged(e){return!1}handleEvents(e){let t=!1;for(let i=0,n=e.length;i<n;i++){const s=e[i];switch(s.type){case 0:this.onCompositionStart(s)&&(t=!0);break;case 1:this.onCompositionEnd(s)&&(t=!0);break;case 2:this.onConfigurationChanged(s)&&(t=!0);break;case 3:this.onCursorStateChanged(s)&&(t=!0);break;case 4:this.onDecorationsChanged(s)&&(t=!0);break;case 5:this.onFlushed(s)&&(t=!0);break;case 6:this.onFocusChanged(s)&&(t=!0);break;case 7:this.onLanguageConfigurationChanged(s)&&(t=!0);break;case 8:this.onLineMappingChanged(s)&&(t=!0);break;case 9:this.onLinesChanged(s)&&(t=!0);break;case 10:this.onLinesDeleted(s)&&(t=!0);break;case 11:this.onLinesInserted(s)&&(t=!0);break;case 12:this.onRevealRangeRequest(s)&&(t=!0);break;case 13:this.onScrollChanged(s)&&(t=!0);break;case 15:this.onTokensChanged(s)&&(t=!0);break;case 14:this.onThemeChanged(s)&&(t=!0);break;case 16:this.onTokensColorsChanged(s)&&(t=!0);break;case 17:this.onZonesChanged(s)&&(t=!0);break;default:console.info("View received unknown event: "),console.info(s)}}t&&(this._shouldRender=!0)}}class ys extends Pf{constructor(e){super(),this._context=e,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),super.dispose()}}class Aa{static write(e,t){e.setAttribute("data-mprt",String(t))}static read(e){const t=e.getAttribute("data-mprt");return t===null?0:parseInt(t,10)}static collect(e,t){const i=[];let n=0;for(;e&&e!==e.ownerDocument.body&&e!==t;)e.nodeType===e.ELEMENT_NODE&&(i[n++]=this.read(e)),e=e.parentElement;const s=new Uint8Array(n);for(let r=0;r<n;r++)s[r]=i[n-r-1];return s}}class kde{constructor(e,t){this._restrictedRenderingContextBrand=void 0,this._viewLayout=e,this.viewportData=t,this.scrollWidth=this._viewLayout.getScrollWidth(),this.scrollHeight=this._viewLayout.getScrollHeight(),this.visibleRange=this.viewportData.visibleRange,this.bigNumbersDelta=this.viewportData.bigNumbersDelta;const i=this._viewLayout.getCurrentViewport();this.scrollTop=i.top,this.scrollLeft=i.left,this.viewportWidth=i.width,this.viewportHeight=i.height}getScrolledTopFromAbsoluteTop(e){return e-this.scrollTop}getVerticalOffsetForLineNumber(e,t){return this._viewLayout.getVerticalOffsetForLineNumber(e,t)}getVerticalOffsetAfterLineNumber(e,t){return this._viewLayout.getVerticalOffsetAfterLineNumber(e,t)}getLineHeightForLineNumber(e){return this._viewLayout.getLineHeightForLineNumber(e)}getDecorationsInViewport(){return this.viewportData.getDecorationsInViewport()}}class Ide extends kde{constructor(e,t,i,n){super(e,t),this._renderingContextBrand=void 0,this._viewLines=i,this._viewLinesGpu=n}linesVisibleRangesForRange(e,t){const i=this._viewLines.linesVisibleRangesForRange(e,t);if(!this._viewLinesGpu)return i??null;const n=this._viewLinesGpu.linesVisibleRangesForRange(e,t);return i?n?i.concat(n).sort((s,r)=>s.lineNumber-r.lineNumber):i:n}visibleRangeForPosition(e){return this._viewLines.visibleRangeForPosition(e)??this._viewLinesGpu?.visibleRangeForPosition(e)??null}}class Tz{constructor(e,t,i,n){this.outsideRenderedLine=e,this.lineNumber=t,this.ranges=i,this.continuesOnNextLine=n}}class n1{static from(e){const t=new Array(e.length);for(let i=0,n=e.length;i<n;i++){const s=e[i];t[i]=new n1(s.left,s.width)}return t}constructor(e,t){this._horizontalRangeBrand=void 0,this.left=Math.round(e),this.width=Math.round(t)}toString(){return`[${this.left},${this.width}]`}}class Ih{constructor(e,t){this._floatHorizontalRangeBrand=void 0,this.left=e,this.width=t}toString(){return`[${this.left},${this.width}]`}static compare(e,t){return e.left-t.left}}class Rz{constructor(e,t){this.outsideRenderedLine=e,this.originalLeft=t,this.left=Math.round(this.originalLeft)}}class $2{constructor(e,t){this.outsideRenderedLine=e,this.ranges=t}}class $L{static _createRange(){return this._handyReadyRange||(this._handyReadyRange=document.createRange()),this._handyReadyRange}static _detachRange(e,t){e.selectNodeContents(
Line truncated
|
||||
</span></span>`):e.appendString("<span><span></span></span>"),new qL(new wl(0,0),0)}return Wde(Tde(o),e)}class Ede{constructor(e,t,i){this.characterMapping=e,this.html=t,this.containsForeignElements=i}}function KL(o){const e=new _h(1e4),t=b_(o,e);return new Ede(t.characterMapping,e.build(),t.containsForeignElements)}class Nde{constructor(e,t,i,n,s,r,a,l,c,d,h,u,f,g,p){this.fontIsMonospace=e,this.canUseHalfwidthRightwardsArrow=t,this.lineContent=i,this.len=n,this.isOverflowing=s,this.overflowingCharCount=r,this.parts=a,this.containsForeignElements=l,this.fauxIndentLength=c,this.tabSize=d,this.startVisibleColumn=h,this.spaceWidth=u,this.renderSpaceCharCode=f,this.renderWhitespace=g,this.renderControlCharacters=p}}function Tde(o){const e=o.lineContent;let t,i,n;o.stopRenderingLineAfter!==-1&&o.stopRenderingLineAfter<e.length?(t=!0,i=e.length-o.stopRenderingLineAfter,n=o.stopRenderingLineAfter):(t=!1,i=0,n=e.length);let s=Rde(e,o.containsRTL,o.lineTokens,o.fauxIndentLength,n);o.renderControlCharacters&&!o.isBasicASCII&&(s=Pde(e,s)),(o.renderWhitespace===4||o.renderWhitespace===1||o.renderWhitespace===2&&o.selectionsOnLine||o.renderWhitespace===3&&!o.continuesWithWrappedLine)&&(s=Ode(o,e,n,s));let r=0;if(o.lineDecorations.length>0){for(let a=0,l=o.lineDecorations.length;a<l;a++){const c=o.lineDecorations[a];c.type===3||c.type===1?r|=1:c.type===2&&(r|=2)}s=Fde(e,n,s,o.lineDecorations)}return o.containsRTL?s=Ade(e,s):s=Mde(e,s,!o.isBasicASCII||o.fontLigatures),new Nde(o.useMonospaceOptimizations,o.canUseHalfwidthRightwardsArrow,e,n,t,i,s,r,o.fauxIndentLength,o.tabSize,o.startVisibleColumn,o.spaceWidth,o.renderSpaceCharCode,o.renderWhitespace,o.renderControlCharacters)}function Rde(o,e,t,i,n){const s=[];let r=0;i>0&&(s[r++]=new qi(i,"",0,!1));let a=i;for(let l=0,c=t.getCount();l<c;l++){const d=t.getEndOffset(l);if(d<=i)continue;const h=t.getClassName(l);if(d>=n){const f=e?Om(o.substring(a,n)):!1;s[r++]=new qi(n,h,0,f);break}const u=e?Om(o.substring(a,d)):!1;s[r++]=new qi(d,h,0,u),a=d}return s}function Mde(o,e,t){let i=0;const n=[];let s=0;if(t)for(let r=0,a=e.length;r<a;r++){const l=e[r],c=l.endIndex;if(i+50<c){const d=l.type,h=l.metadata,u=l.containsRTL;let f=-1,g=i;for(let p=i;p<c;p++)o.charCodeAt(p)===32&&(f=p),f!==-1&&p-g>=50&&(n[s++]=new qi(f+1,d,h,u),g=f+1,f=-1);g!==c&&(n[s++]=new qi(c,d,h,u))}else n[s++]=l;i=c}else for(let r=0,a=e.length;r<a;r++){const l=e[r],c=l.endIndex,d=c-i;if(d>50){const h=l.type,u=l.metadata,f=l.containsRTL,g=Math.ceil(d/50);for(let p=1;p<g;p++){const _=i+p*50;n[s++]=new qi(_,h,u,f)}n[s++]=new qi(c,h,u,f)}else n[s++]=l;i=c}return n}function Ade(o,e){if(e.length===0)return e;const t=e[0];if(!t.containsRTL)return e;const i=t.endIndex;let n=0;for(let r=0;r<i;r++){const a=o.charCodeAt(r);if(a!==32&&a!==9){n=r;break}}if(n===0)return e;const s=[];s.push(new qi(n,t.type,t.metadata,!1)),s.push(new qi(i,t.type,t.metadata,t.containsRTL));for(let r=1;r<e.length;r++)s.push(e[r]);return s}function Pz(o){return o<32?o!==9:o===127||o>=8234&&o<=8238||o>=8294&&o<=8297||o>=8206&&o<=8207||o===1564}function Pde(o,e){const t=[];let i=new qi(0,"",0,!1),n=0;for(const s of e){const r=s.endIndex;for(;n<r;n++){const a=o.charCodeAt(n);Pz(a)&&(n>i.endIndex&&(i=new qi(n,s.type,s.metadata,s.containsRTL),t.push(i)),i=new qi(n+1,"mtkcontrol",s.metadata,!1),t.push(i))}n>i.endIndex&&(i=new qi(r,s.type,s.metadata,s.containsRTL),t.push(i))}return t}function Ode(o,e,t,i){const n=o.continuesWithWrappedLine,s=o.fauxIndentLength,r=o.tabSize,a=o.startVisibleColumn,l=o.useMonospaceOptimizations,c=o.selectionsOnLine,d=o.renderWhitespace===1,h=o.renderWhitespace===3,u=o.renderSpaceWidth!==o.spaceWidth,f=[];let g=0,p=0,_=i[p].type,b=i[p].containsRTL,C=i[p].endIndex;const w=i.length;let v=!1,S=ts(e),L;S===-1?(v=!0,S=t,L=t):L=Gr(e);let x=!1,I=0,D=c&&c[I],R=a%r;for(let F=s;F<t;F++){const B=e.charCodeAt(F);D&&D.endExclusive<=F&&(I++,D=c&&c[I]);let U;if(F<S||F>L)U=!0;else if(B===9)U=!0;else if(B===32)if(d)if(x)U=!0;else{const K=F+1<t?e.charCodeAt(F+1):0;U=K===32||K===9}else U=!0;else U=!1;if(U&&c&&(U=!!D&&D.start<=F&&F<D.endExclusive),U&&h&&(U=v||F>L),U&&b&&F>=S&&F<=L&&(U=!1),x){if(!U||!l&&R>=r){if(u){const K=g>0?f[g-1].endIndex:s;for(let ne=K+1;ne<=F;ne++)f[g++]=new qi(ne,"mtkw",1,!1)}else f[g++]=new qi(F,"mtkw",1,!1);R=R%r}}else(F===C||U&&F>s)&&(f[g++]=new qi(F,_,0,b),R=R%r);for(B===9?R=r:kc(B)?R+=2:R++,x=U;F===C&&(p++,p<w);)_=i[p].type,b=i[p].containsRTL,C=i[p].endIndex}let O=!1;if(x)if(n&&d){const F=t>0?e.charCodeAt(t-1):0,B=t>1?e.charCodeAt(t-2):0;F===32&&B!==32&&B!==9||(O=!0)}else O=!0;if(O)if(u){const F=g>0?f[g-1].endIndex:s;for(let B=F+1;B<=t;B++)f[g++]=new qi(B,"mtkw",1,!1)}else f[g++]=new qi(t,"mtkw",1,!1);else f[g++]=new qi(t,_,0,b);return f}function Fde(o,e,t,i){i.sort(as.compare);const n=Dde.normalize(o,i),s=n.length;let r=0;const a=[];let l=0,c=0;for(let h=0,u=t.length;h<u;h++){const f=t[h],g=f.endIndex,p=f.type,_=f.metadata,b=f.containsRTL;for(;r<s&&n[r].startOffset<g;){const C=n[r];if(C.startOffset>c&&(c=C.startOffsetLine truncated
|
||||
target: ${this.target?this.target.outerHTML:null}`}get wouldBenefitFromHitTestTargetSwitch(){return!this._useHitTestTarget&&this.hitTestResult.value.hitTarget!==null&&this.target!==this.hitTestResult.value.hitTarget}switchToHitTestTarget(){this._useHitTestTarget=!0}_getMouseColumn(e=null){return e&&e.column<this._ctx.viewModel.getLineMaxColumn(e.lineNumber)?ti.visibleColumnFromColumn(this._ctx.viewModel.getLineContent(e.lineNumber),e.column,this._ctx.viewModel.model.getOptions().tabSize)+1:this.mouseColumn}fulfillUnknown(e=null){return Tn.createUnknown(this.target,this._getMouseColumn(e),e)}fulfillTextarea(){return Tn.createTextarea(this.target,this._getMouseColumn())}fulfillMargin(e,t,i,n){return Tn.createMargin(e,this.target,this._getMouseColumn(t),t,i,n)}fulfillViewZone(e,t,i){return Tn.createViewZone(e,this.target,this._getMouseColumn(),t,i)}fulfillContentText(e,t,i){return Tn.createContentText(this.target,this._getMouseColumn(e),e,t,i)}fulfillContentEmpty(e,t){return Tn.createContentEmpty(this.target,this._getMouseColumn(e),e,t)}fulfillContentWidget(e){return Tn.createContentWidget(this.target,this._getMouseColumn(),e)}fulfillScrollbar(e){return Tn.createScrollbar(this.target,this._getMouseColumn(e),e)}fulfillOverlayWidget(e){return Tn.createOverlayWidget(this.target,this._getMouseColumn(),e)}}const Bz={isAfterLines:!0};function Ff(o){return{isAfterLines:!1,horizontalDistanceToText:o}}class ls{constructor(e,t){this._context=e,this._viewHelper=t}mouseTargetIsWidget(e){const t=e.target,i=Aa.collect(t,this._viewHelper.viewDomNode);return!!(Ls.isChildOfContentWidgets(i)||Ls.isChildOfOverflowingContentWidgets(i)||Ls.isChildOfOverlayWidgets(i)||Ls.isChildOfOverflowingOverlayWidgets(i))}createMouseTarget(e,t,i,n,s){const r=new S_(this._context,this._viewHelper,e),a=new Kde(r,t,i,n,s);try{const l=ls._createMouseTarget(r,a);if(l.type===6&&r.stickyTabStops&&l.position!==null){const c=ls._snapToSoftTabBoundary(l.position,r.viewModel),d=k.fromPositions(c,c).plusRange(l.range);return a.fulfillContentText(c,d,l.detail)}return l}catch{return a.fulfillUnknown()}}static _createMouseTarget(e,t){if(t.target===null)return t.fulfillUnknown();const i=t;let n=null;return!Ls.isChildOfOverflowGuard(t.targetPath)&&!Ls.isChildOfOverflowingContentWidgets(t.targetPath)&&!Ls.isChildOfOverflowingOverlayWidgets(t.targetPath)&&(n=n||t.fulfillUnknown()),n=n||ls._hitTestContentWidget(e,i),n=n||ls._hitTestOverlayWidget(e,i),n=n||ls._hitTestMinimap(e,i),n=n||ls._hitTestScrollbarSlider(e,i),n=n||ls._hitTestViewZone(e,i),n=n||ls._hitTestMargin(e,i),n=n||ls._hitTestViewCursor(e,i),n=n||ls._hitTestTextArea(e,i),n=n||ls._hitTestViewLines(e,i),n=n||ls._hitTestScrollbar(e,i),n||t.fulfillUnknown()}static _hitTestContentWidget(e,t){if(Ls.isChildOfContentWidgets(t.targetPath)||Ls.isChildOfOverflowingContentWidgets(t.targetPath)){const i=e.findAttribute(t.target,"widgetId");return i?t.fulfillContentWidget(i):t.fulfillUnknown()}return null}static _hitTestOverlayWidget(e,t){if(Ls.isChildOfOverlayWidgets(t.targetPath)||Ls.isChildOfOverflowingOverlayWidgets(t.targetPath)){const i=e.findAttribute(t.target,"widgetId");return i?t.fulfillOverlayWidget(i):t.fulfillUnknown()}return null}static _hitTestViewCursor(e,t){if(t.target){const i=e.lastRenderData.lastViewCursorsRenderData;for(const n of i)if(t.target===n.domNode)return t.fulfillContentText(n.position,null,{mightBeForeignElement:!1,injectedText:null})}if(t.isInContentArea){const i=e.lastRenderData.lastViewCursorsRenderData,n=t.mouseContentHorizontalOffset,s=t.mouseVerticalOffset;for(const r of i){if(n<r.contentLeft||n>r.contentLeft+r.width)continue;const a=e.getVerticalOffsetForLineNumber(r.position.lineNumber);if(a<=s&&s<=a+r.height)return t.fulfillContentText(r.position,null,{mightBeForeignElement:!1,injectedText:null})}}return null}static _hitTestViewZone(e,t){const i=e.getZoneAtCoord(t.mouseVerticalOffset);if(i){const n=t.isInContentArea?8:5;return t.fulfillViewZone(n,i.position,i)}return null}static _hitTestTextArea(e,t){return Ls.isTextArea(t.targetPath)?e.lastRenderData.lastTextareaPosition?t.fulfillContentText(e.lastRenderData.lastTextareaPosition,null,{mightBeForeignElement:!1,injectedText:null}):t.fulfillTextarea():null}static _hitTestMargin(e,t){if(t.isInMarginArea){const i=e.getFullLineRangeAtCoord(t.mouseVerticalOffset),n=i.range.getStartPosition();let s=Math.abs(t.relativePos.x);const r={isAfterLines:i.isAfterLines,glyphMarginLeft:e.layoutInfo.glyphMarginLeft,glyphMarginWidth:e.layoutInfo.glyphMarginWidth,lineNumbersWidth:e.layoutInfo.lineNumbersWidth,offsetX:s};if(s-=e.layoutInfo.glyphMarginLeft,s<=e.layoutInfo.glyphMarginWidth){const a=e.viewModel.coordinatesConverter.convertViewPositionToModelPosition(i.range.getStartPosition()),l=e.viewModel.glyphLanes.getLanesAtLine(a.lineNumber);return r.glyphMarginLane=l[Math.floor(s/e.lineHeight)],t.fulfillMargin(2,n,i.range,r)}return s-=e.layoutInfo.glyphMarginWidth,s<=e.layoutInfo.lineNumbersWidth?t.fulfillMargin(3,n,i.range,r):(s-=e.layoutInf
Line truncated
|
||||
`),null]:[e,t]},setTextData(o,e,t,i){o.setData(_i.text,e),typeof t=="string"&&o.setData("text/html",t),o.setData("vscode-editor-data",JSON.stringify(i))}},kp=class kp{constructor(e,t,i,n,s){this.value=e,this.selectionStart=t,this.selectionEnd=i,this.selection=n,this.newlineCountBeforeSelection=s}toString(){return`[ <${this.value}>, selectionStart: ${this.selectionStart}, selectionEnd: ${this.selectionEnd}]`}static readFromTextArea(e,t){const i=e.getValue(),n=e.getSelectionStart(),s=e.getSelectionEnd();let r;if(t){const a=i.substring(0,n),l=t.value.substring(0,t.selectionStart);a===l&&(r=t.newlineCountBeforeSelection)}return new kp(i,n,s,null,r)}collapseSelection(){return this.selectionStart===this.value.length?this:new kp(this.value,this.value.length,this.value.length,null,void 0)}isWrittenToTextArea(e,t){const i=this.value===e.getValue();return t?this.selectionStart===e.getSelectionStart()&&this.selectionEnd===e.getSelectionEnd()&&i:i}writeToTextArea(e,t,i){t.setValue(e,this.value),i&&t.setSelectionRange(e,this.selectionStart,this.selectionEnd)}deduceEditorPosition(e){if(e<=this.selectionStart){const n=this.value.substring(e,this.selectionStart);return this._finishDeduceEditorPosition(this.selection?.getStartPosition()??null,n,-1)}if(e>=this.selectionEnd){const n=this.value.substring(this.selectionEnd,e);return this._finishDeduceEditorPosition(this.selection?.getEndPosition()??null,n,1)}const t=this.value.substring(this.selectionStart,e);if(t.indexOf("…")===-1)return this._finishDeduceEditorPosition(this.selection?.getStartPosition()??null,t,1);const i=this.value.substring(e,this.selectionEnd);return this._finishDeduceEditorPosition(this.selection?.getEndPosition()??null,i,-1)}_finishDeduceEditorPosition(e,t,i){let n=0,s=-1;for(;(s=t.indexOf(`
|
||||
`,s+1))!==-1;)n++;return[e,i*t.length,n]}static deduceInput(e,t,i){if(!e)return{text:"",replacePrevCharCnt:0,replaceNextCharCnt:0,positionDelta:0};const n=Math.min(Zr(e.value,t.value),e.selectionStart,t.selectionStart),s=Math.min(xc(e.value,t.value),e.value.length-e.selectionEnd,t.value.length-t.selectionEnd);e.value.substring(n,e.value.length-s);const r=t.value.substring(n,t.value.length-s),a=e.selectionStart-n,l=e.selectionEnd-n,c=t.selectionStart-n,d=t.selectionEnd-n;if(c===d){const u=e.selectionStart-n;return{text:r,replacePrevCharCnt:u,replaceNextCharCnt:0,positionDelta:0}}const h=l-a;return{text:r,replacePrevCharCnt:h,replaceNextCharCnt:0,positionDelta:0}}static deduceAndroidCompositionInput(e,t){if(!e)return{text:"",replacePrevCharCnt:0,replaceNextCharCnt:0,positionDelta:0};if(e.value===t.value)return{text:"",replacePrevCharCnt:0,replaceNextCharCnt:0,positionDelta:t.selectionEnd-e.selectionEnd};const i=Math.min(Zr(e.value,t.value),e.selectionEnd),n=Math.min(xc(e.value,t.value),e.value.length-e.selectionEnd),s=e.value.substring(i,e.value.length-n),r=t.value.substring(i,t.value.length-n);e.selectionStart-i;const a=e.selectionEnd-i;t.selectionStart-i;const l=t.selectionEnd-i;return{text:r,replacePrevCharCnt:a,replaceNextCharCnt:s.length-a,positionDelta:l-r.length}}static fromScreenReaderContentState(e){return new kp(e.value,e.selectionStart,e.selectionEnd,e.selection,e.newlineCountBeforeSelection)}};kp.EMPTY=new kp("",0,0,null,void 0);let cs=kp;const Bf=(function(){if(typeof crypto.randomUUID=="function")return crypto.randomUUID.bind(crypto);const o=new Uint8Array(16),e=[];for(let t=0;t<256;t++)e.push(t.toString(16).padStart(2,"0"));return function(){crypto.getRandomValues(o),o[6]=o[6]&15|64,o[8]=o[8]&63|128;let i=0,n="";return n+=e[o[i++]],n+=e[o[i++]],n+=e[o[i++]],n+=e[o[i++]],n+="-",n+=e[o[i++]],n+=e[o[i++]],n+="-",n+=e[o[i++]],n+=e[o[i++]],n+="-",n+=e[o[i++]],n+=e[o[i++]],n+="-",n+=e[o[i++]],n+=e[o[i++]],n+=e[o[i++]],n+=e[o[i++]],n+=e[o[i++]],n+=e[o[i++]],n}})();function Kz(o){return`${o}-${Bf()}`}var fhe=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Gz=function(o,e){return function(t,i){e(t,i,o)}},QL;(function(o){o.Tap="-monaco-textarea-synthetic-tap"})(QL||(QL={}));class ghe{constructor(){this._lastTypeTextLength=0}handleCompositionUpdate(e){e=e||"";const t={text:e,replacePrevCharCnt:this._lastTypeTextLength,replaceNextCharCnt:0,positionDelta:0};return this._lastTypeTextLength=e.length,t}}let X2=class extends P{get textAreaState(){return this._textAreaState}constructor(e,t,i,n,s,r){super(),this._host=e,this._textArea=t,this._OS=i,this._browser=n,this._accessibilityService=s,this._logService=r,this._onFocus=this._register(new A),this.onFocus=this._onFocus.event,this._onBlur=this._register(new A),this.onBlur=this._onBlur.event,this._onKeyDown=this._register(new A),this.onKeyDown=this._onKeyDown.event,this._onKeyUp=this._register(new A),this.onKeyUp=this._onKeyUp.event,this._onCut=this._register(new A),this.onCut=this._onCut.event,this._onPaste=this._register(new A),this.onPaste=this._onPaste.event,this._onType=this._register(new A),this.onType=this._onType.event,this._onCompositionStart=this._register(new A),this.onCompositionStart=this._onCompositionStart.event,this._onCompositionUpdate=this._register(new A),this.onCompositionUpdate=this._onCompositionUpdate.event,this._onCompositionEnd=this._register(new A),this.onCompositionEnd=this._onCompositionEnd.event,this._onSelectionChangeRequest=this._register(new A),this.onSelectionChangeRequest=this._onSelectionChangeRequest.event,this._asyncFocusGainWriteScreenReaderContent=this._register(new rt),this._asyncTriggerCut=this._register(new vt(()=>this._onCut.fire(),0)),this._textAreaState=cs.EMPTY,this._selectionChangeListener=null,this._accessibilityService.isScreenReaderOptimized()&&this.writeNativeTextAreaContent("ctor"),this._register(ie.runAndSubscribe(this._accessibilityService.onDidChangeScreenReaderOptimized,()=>{this._accessibilityService.isScreenReaderOptimized()&&!this._asyncFocusGainWriteScreenReaderContent.value?this._asyncFocusGainWriteScreenReaderContent.value=this._register(new vt(()=>this.writeNativeTextAreaContent("asyncFocusGain"),0)):this._asyncFocusGainWriteScreenReaderContent.clear()})),this._hasFocus=!1,this._currentComposition=null;let a=null;this._register(this._textArea.onKeyDown(l=>{const c=new yt(l);(c.keyCode===114||this._currentComposition&&c.keyCode===1)&&c.stopPropagation(),c.equals(9)&&c.preventDefault(),a=c,this._onKeyDown.fire(c)})),this._register(this._textArea.onKeyUp(l=>{const c=new yt(l);this._onKeyUp.fire(c)})),this._register(this._textArea.onCompositionStart(l=>{const c=new ghe;if(this._currentComposition){this._currentComposition=c;return}i
Line truncated
|
||||
`):t.text,n),e.preventDefault(),e.clipboardData&&Wf.setTextData(e.clipboardData,t.text,t.html,n),this._logService.trace("TextAreaEditContextInput#_ensureClipboardGetsEditorSelection with id : ",i," with text.length: ",t.text.length)}};X2=fhe([Gz(4,bn),Gz(5,Mt)],X2);class phe extends P{get ownerDocument(){return this._actual.ownerDocument}constructor(e){super(),this._actual=e,this._onSyntheticTap=this._register(new A),this.onSyntheticTap=this._onSyntheticTap.event,this._ignoreSelectionChangeTime=0,this.onKeyDown=this._register(new mt(this._actual,"keydown")).event,this.onKeyPress=this._register(new mt(this._actual,"keypress")).event,this.onKeyUp=this._register(new mt(this._actual,"keyup")).event,this.onCompositionStart=this._register(new mt(this._actual,"compositionstart")).event,this.onCompositionUpdate=this._register(new mt(this._actual,"compositionupdate")).event,this.onCompositionEnd=this._register(new mt(this._actual,"compositionend")).event,this.onBeforeInput=this._register(new mt(this._actual,"beforeinput")).event,this.onInput=this._register(new mt(this._actual,"input")).event,this.onCut=this._register(new mt(this._actual,"cut")).event,this.onCopy=this._register(new mt(this._actual,"copy")).event,this.onPaste=this._register(new mt(this._actual,"paste")).event,this.onFocus=this._register(new mt(this._actual,"focus")).event,this.onBlur=this._register(new mt(this._actual,"blur")).event,this._register(this.onKeyDown(()=>Sh.onKeyDown())),this._register(this.onBeforeInput(()=>Sh.onBeforeInput())),this._register(this.onInput(()=>Sh.onInput())),this._register(this.onKeyUp(()=>Sh.onKeyUp())),this._register(W(this._actual,QL.Tap,()=>this._onSyntheticTap.fire()))}hasFocus(){const e=uh(this._actual);return e?e.activeElement===this._actual:this._actual.isConnected?$i()===this._actual:!1}setIgnoreSelectionChangeTime(e){this._ignoreSelectionChangeTime=Date.now()}getIgnoreSelectionChangeTime(){return this._ignoreSelectionChangeTime}resetSelectionChangeTime(){this._ignoreSelectionChangeTime=0}getValue(){return this._actual.value}setValue(e,t){const i=this._actual;i.value!==t&&(this.setIgnoreSelectionChangeTime("setValue"),i.value=t)}getSelectionStart(){return this._actual.selectionDirection==="backward"?this._actual.selectionEnd:this._actual.selectionStart}getSelectionEnd(){return this._actual.selectionDirection==="backward"?this._actual.selectionStart:this._actual.selectionEnd}setSelectionRange(e,t,i){const n=this._actual;let s=null;const r=uh(n);r?s=r.activeElement:s=$i();const a=me(s),l=s===n,c=n.selectionStart,d=n.selectionEnd;if(l&&c===t&&d===i){Bs&&a.parent!==a&&n.focus();return}if(l){this.setIgnoreSelectionChangeTime("setSelectionRange"),n.setSelectionRange(t,i),Bs&&a.parent!==a&&n.focus();return}try{const h=Qse(n);this.setIgnoreSelectionChangeTime("setSelectionRange"),n.focus(),n.setSelectionRange(t,i),Jse(n,h)}catch{}}}class mhe extends G2{constructor(e,t,i){super(e,t,i),this._register(qn.addTarget(this.viewHelper.linesContentDomNode)),this._register(W(this.viewHelper.linesContentDomNode,At.Tap,s=>this.onTap(s))),this._register(W(this.viewHelper.linesContentDomNode,At.Change,s=>this.onChange(s))),this._register(W(this.viewHelper.linesContentDomNode,At.Contextmenu,s=>this._onContextMenu(new $c(s,!1,this.viewHelper.viewDomNode),!1))),this._lastPointerType="mouse",this._register(W(this.viewHelper.linesContentDomNode,"pointerdown",s=>{const r=s.pointerType;if(r==="mouse"){this._lastPointerType="mouse";return}else r==="touch"?this._lastPointerType="touch":this._lastPointerType="pen"}));const n=new Sde(this.viewHelper.viewDomNode);this._register(n.onPointerMove(this.viewHelper.viewDomNode,s=>this._onMouseMove(s))),this._register(n.onPointerUp(this.viewHelper.viewDomNode,s=>this._onMouseUp(s))),this._register(n.onPointerLeave(this.viewHelper.viewDomNode,s=>this._onMouseLeave(s))),this._register(n.onPointerDown(this.viewHelper.viewDomNode,(s,r)=>this._onMouseDown(s,r)))}onTap(e){!e.initialTarget||!this.viewHelper.linesContentDomNode.contains(e.initialTarget)||(e.preventDefault(),this.viewHelper.focusTextArea(),this._dispatchGesture(e,!1))}onChange(e){this._lastPointerType==="touch"&&this._context.viewModel.viewLayout.deltaScrollNow(-e.translationX,-e.translationY),this._lastPointerType==="pen"&&this._dispatchGesture(e,!0)}_dispatchGesture(e,t){const i=this._createMouseTarget(new $c(e,!1,this.viewHelper.viewDomNode),!1);i.position&&this.viewController.dispatchMouse({position:i.position,mouseColumn:i.position.column,startedOnLineNumbers:!1,revealType:1,mouseDownCount:e.tapCount,inSelectionMode:t,altKey:!1,ctrlKey:!1,metaKey:!1,shiftKey:!1,leftButton:!1,middleButton:!1,onInjectedText:i.type===6&&i.detail.injectedText!==null})}_onMouseDown(e,t){e.browserEvent.pointerType!=="touch"&&super._onMouseDown(e,t)}}class _he extends G2{constructor(e,t,i){super(e,t,i),this._register(qn.addTarget(this.viewHelper.linesContentDomNode)),this._register(W(this.viewHelper.linesContentDomNode,At.Tap,n=>this.onTap(n))),this._register(W(th
Line truncated
|
||||
`)}}class bfe{constructor(e,t,i){this._canvas=e,this._textureIndex=t,this._slabs=[],this._activeSlabsByDims=new Ky,this._unusedRects=[],this._openRegionsByHeight=new Map,this._openRegionsByWidth=new Map,this._allocatedGlyphs=new Set,this._nextIndex=0,this._ctx=$f(this._canvas.getContext("2d",{willReadFrequently:!0})),this._slabW=Math.min(i?.slabW??64<<Math.max(Math.floor(pt().devicePixelRatio)-1,0),this._canvas.width),this._slabH=Math.min(i?.slabH??this._slabW,this._canvas.height),this._slabsPerRow=Math.floor(this._canvas.width/this._slabW),this._slabsPerColumn=Math.floor(this._canvas.height/this._slabH)}allocate(e){const t=e.boundingBox.right-e.boundingBox.left+1,i=e.boundingBox.bottom-e.boundingBox.top+1;if(t>this._canvas.width||i>this._canvas.height)throw new Ce("Glyph is too large for the atlas page");if(t>this._slabW||i>this._slabH){if(this._allocatedGlyphs.size>0)return;let c=this._canvas.width;for(;t<c/2&&i<c/2;)c/=2;this._slabW=c,this._slabH=c,this._slabsPerRow=Math.floor(this._canvas.width/this._slabW),this._slabsPerColumn=Math.floor(this._canvas.height/this._slabH)}const n={w:t,h:i};let s=this._activeSlabsByDims.get(n.w,n.h);if(s){const c=Math.floor(this._slabW/s.entryW)*Math.floor(this._slabH/s.entryH);s.count>=c&&(s=void 0)}let r,a;if(!s)if(t<i){const c=this._openRegionsByWidth.get(t);if(c?.length)for(let d=c.length-1;d>=0;d--){const h=c[d];if(h.w>=t&&h.h>=i){r=h.x,a=h.y,t<h.w&&this._unusedRects.push({x:h.x+t,y:h.y,w:h.w-t,h:i}),h.y+=i,h.h-=i,h.h===0&&(d===c.length-1?c.pop():this._unusedRects.splice(d,1));break}}}else{const c=this._openRegionsByHeight.get(i);if(c?.length)for(let d=c.length-1;d>=0;d--){const h=c[d];if(h.w>=t&&h.h>=i){r=h.x,a=h.y,i<h.h&&this._unusedRects.push({x:h.x,y:h.y+i,w:t,h:h.h-i}),h.x+=t,h.w-=t,h.h===0&&(d===c.length-1?c.pop():this._unusedRects.splice(d,1));break}}}if(r===void 0||a===void 0){if(!s){if(this._slabs.length>=this._slabsPerRow*this._slabsPerColumn)return;s={x:Math.floor(this._slabs.length%this._slabsPerRow)*this._slabW,y:Math.floor(this._slabs.length/this._slabsPerRow)*this._slabH,entryW:n.w,entryH:n.h,count:0};const d=this._slabW%s.entryW,h=this._slabH%s.entryH;d&&MU(this._openRegionsByWidth,d,{x:s.x+this._slabW-d,w:d,y:s.y,h:this._slabH-(h??0)}),h&&MU(this._openRegionsByHeight,h,{x:s.x,w:this._slabW,y:s.y+this._slabH-h,h}),this._slabs.push(s),this._activeSlabsByDims.set(s,n.w,n.h)}const c=Math.floor(this._slabW/s.entryW);r=s.x+Math.floor(s.count%c)*s.entryW,a=s.y+Math.floor(s.count/c)*s.entryH,s.count++}this._ctx.drawImage(e.source,e.boundingBox.left,e.boundingBox.top,t,i,r,a,t,i);const l={pageIndex:this._textureIndex,glyphIndex:this._nextIndex++,x:r,y:a,w:t,h:i,originOffsetX:e.originOffset.x,originOffsetY:e.originOffset.y,fontBoundingBoxAscent:e.fontBoundingBoxAscent,fontBoundingBoxDescent:e.fontBoundingBoxDescent};return this._allocatedGlyphs.add(l),l}getUsagePreview(){const e=this._canvas.width,t=this._canvas.height,i=new OffscreenCanvas(e,t),n=$f(i.getContext("2d"));n.fillStyle="#808080",n.fillRect(0,0,e,t);let s=0,r=0,a=0;const l=64<<Math.floor(pt().devicePixelRatio)-1,c=l;for(const h of this._slabs){let u=0,f=0;for(let _=0;_<h.count;_++)u+h.entryW>l&&(u=0,f+=h.entryH),n.fillStyle="#FF0000",n.fillRect(h.x+u,h.y+f,h.entryW,h.entryH),s+=h.entryW*h.entryH,u+=h.entryW;const g=Math.floor(l/h.entryW),p=Math.floor(c/h.entryH);h.entryW*g*h.entryH*p}for(const h of this._allocatedGlyphs)r+=h.w*h.h,n.fillStyle="#4040FF",n.fillRect(h.x,h.y,h.w,h.h);const d=Array.from(this._openRegionsByWidth.values()).flat().concat(Array.from(this._openRegionsByHeight.values()).flat());for(const h of d)n.fillStyle="#FF000088",n.fillRect(h.x,h.y,h.w,h.h),a+=h.w*h.h;return n.globalAlpha=.5,n.drawImage(this._canvas,0,0),n.globalAlpha=1,i.convertToBlob()}getStats(){const e=this._canvas.width,t=this._canvas.height;let i=0,n=0,s=0,r=0,a=0;const l=e*t,c=64<<Math.floor(pt().devicePixelRatio)-1,d=c;for(const g of this._slabs){let p=0,_=0;for(let v=0;v<g.count;v++)p+g.entryW>c&&(p=0,_+=g.entryH),i+=g.entryW*g.entryH,p+=g.entryW;const b=Math.floor(c/g.entryW),C=Math.floor(d/g.entryH),w=g.entryW*b*g.entryH*C;s+=c*d-w}for(const g of this._allocatedGlyphs)n+=g.w*g.h;const h=Array.from(this._openRegionsByWidth.values()).flat().concat(Array.from(this._openRegionsByHeight.values()).flat());for(const g of h)a+=g.w*g.h;const u=s-a;r=i-(n-u);const f=n/(n+r+a);return[`page[${this._textureIndex}]:`,` Total: ${l}px (${e}x${t})`,` Used: ${n}px (${(n/l*100).toFixed(2)}%)`,` Wasted: ${r}px (${(r/l*100).toFixed(2)}%)`,`Restricted: ${a}px (${(a/l*100).toFixed(2)}%) (hard to allocate)`,`Efficiency: ${f===1?"100":(f*100).toFixed(2)}%`,` Slabs: ${this._slabs.length} of ${Math.floor(this._canvas.width/c)*Math.floor(this._canvas.height/d)}`].join(`
|
||||
`)}}function MU(o,e,t){let i=o.get(e);i||(i=[],o.set(e,i)),i.push(t)}var Cfe=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},AU=function(o,e){return function(t,i){e(t,i,o)}},CA;let Oa=(Ip=class extends P{get version(){return this._version}get usedArea(){return this._usedArea}get source(){return this._canvas}get glyphs(){return this._glyphInOrderSet.values()}constructor(e,t,i,n,s){switch(super(),this._logService=n,this._version=0,this._usedArea={left:0,top:0,right:0,bottom:0},this._glyphMap=new Ky,this._glyphInOrderSet=new Set,this._canvas=new OffscreenCanvas(t,t),this._colorMap=s.getColorTheme().tokenColorMap,i){case"shelf":this._allocator=new _fe(this._canvas,e);break;case"slab":this._allocator=new bfe(this._canvas,e);break;default:this._allocator=i(this._canvas,e);break}this._register(fe(()=>{this._canvas.width=1,this._canvas.height=1}))}getGlyph(e,t,i,n){return this._glyphMap.get(t,i,n,e.cacheKey)??this._createGlyph(e,t,i,n)}_createGlyph(e,t,i,n){if(this._glyphInOrderSet.size>=CA.maximumGlyphCount)return;const s=e.rasterizeGlyph(t,i,n,this._colorMap),r=this._allocator.allocate(s);if(r!==void 0)return this._glyphMap.set(r,t,i,n,e.cacheKey),this._glyphInOrderSet.add(r),this._version++,this._usedArea.right=Math.max(this._usedArea.right,r.x+r.w-1),this._usedArea.bottom=Math.max(this._usedArea.bottom,r.y+r.h-1),this._logService.getLevel()===en.Trace&&this._logService.trace("New glyph",{chars:t,tokenMetadata:i,decorationStyleSetId:n,rasterizedGlyph:s,glyph:r}),r}getUsagePreview(){return this._allocator.getUsagePreview()}getStats(){return this._allocator.getStats()}},CA=Ip,Ip.maximumGlyphCount=5e3,Ip);Oa=CA=Cfe([AU(3,Mt),AU(4,ii)],Oa);var vfe=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},PU=function(o,e){return function(t,i){e(t,i,o)}},gx;let Nh=(Dp=class extends P{get pages(){return this._pages}constructor(e,t,i,n,s){super(),this._maxTextureSize=e,this._decorationStyleCache=i,this._themeService=n,this._instantiationService=s,this._warmUpTask=this._register(new rt),this._warmedUpRasterizers=new Set,this._pages=[],this._glyphPageIndex=new Ky,this._onDidDeleteGlyphs=this._register(new A),this.onDidDeleteGlyphs=this._onDidDeleteGlyphs.event,this._allocatorType=t?.allocatorType??"slab",this._register(ie.runAndSubscribe(this._themeService.onDidColorThemeChange,()=>{this._colorMap&&this.clear(),this._colorMap=this._themeService.getColorTheme().tokenColorMap}));const r=Math.max(1,Math.floor(pt().devicePixelRatio));this.pageSize=Math.min(1024*r,this._maxTextureSize),this._initFirstPage(),this._register(fe(()=>ht(this._pages)))}_initFirstPage(){const e=this._instantiationService.createInstance(Oa,0,this.pageSize,this._allocatorType);this._pages.push(e);const t=new w1(1,"",1,this._decorationStyleCache);e.getGlyph(t,"",0,0),t.dispose()}clear(){for(const e of this._pages)e.dispose();this._pages.length=0,this._glyphPageIndex.clear(),this._warmedUpRasterizers.clear(),this._warmUpTask.clear(),this._initFirstPage(),this._onDidDeleteGlyphs.fire()}getGlyph(e,t,i,n,s){return i&=-2048,i|=Math.floor(s%1*10),this._warmedUpRasterizers.has(e.id)||(this._warmUpAtlas(e),this._warmedUpRasterizers.add(e.id)),this._tryGetGlyph(this._glyphPageIndex.get(t,i,n,e.cacheKey)??0,e,t,i,n)}_tryGetGlyph(e,t,i,n,s){return this._glyphPageIndex.set(e,i,n,s,t.cacheKey),this._pages[e].getGlyph(t,i,n,s)??(e+1<this._pages.length?this._tryGetGlyph(e+1,t,i,n,s):void 0)??this._getGlyphFromNewPage(t,i,n,s)}_getGlyphFromNewPage(e,t,i,n){if(this._pages.length>=gx.maximumPageCount)throw new Error(`Attempt to create a texture atlas page past the limit ${gx.maximumPageCount}`);return this._pages.push(this._instantiationService.createInstance(Oa,this._pages.length,this.pageSize,this._allocatorType)),this._glyphPageIndex.set(this._pages.length-1,t,i,n,e.cacheKey),this._pages[this._pages.length-1].getGlyph(e,t,i,n)}getStats(){return this._pages.map(e=>e.getStats())}_warmUpAtlas(e){const t=this._colorMap;if(!t)throw new Ce("Cannot warm atlas without color map");this._warmUpTask.value?.clear();const i=this._warmUpTask.value=this._instantiationService.createInstance(mfe);for(let n=65;n<=90;n++)for(const s of t.keys())i.enqueue(()=>{for(let r=0;r<1;r+=.1)this.getGlyph(e,String.fromCharCode(n),s<<15&16744448,0,r)});for(let n=97;n<=122;n++)for(const s of t.keys())i.enqueue(()=>{for(let r=0;r<1;r+=.1)this.getGlyph(e,String.fromCharCode(n),s<<15&16744448,0,r)});for(let n=33;n<=126;n++)for(const s of t.keys())i.enqueue(()=>{for(let
Line truncated
|
||||
|
||||
struct Vertex {
|
||||
@location(0) position: vec2f,
|
||||
};
|
||||
|
||||
struct LayoutInfo {
|
||||
canvasDims: vec2f,
|
||||
viewportOffset: vec2f,
|
||||
viewportDims: vec2f,
|
||||
}
|
||||
|
||||
struct ScrollOffset {
|
||||
offset: vec2f,
|
||||
}
|
||||
|
||||
struct Shape {
|
||||
position: vec2f,
|
||||
size: vec2f,
|
||||
color: vec4f,
|
||||
};
|
||||
|
||||
struct VSOutput {
|
||||
@builtin(position) position: vec4f,
|
||||
@location(1) color: vec4f,
|
||||
};
|
||||
|
||||
// Uniforms
|
||||
@group(0) @binding(1) var<uniform> layoutInfo: LayoutInfo;
|
||||
|
||||
// Storage buffers
|
||||
@group(0) @binding(0) var<storage, read> shapes: array<Shape>;
|
||||
@group(0) @binding(2) var<uniform> scrollOffset: ScrollOffset;
|
||||
|
||||
@vertex fn vs(
|
||||
vert: Vertex,
|
||||
@builtin(instance_index) instanceIndex: u32,
|
||||
@builtin(vertex_index) vertexIndex : u32
|
||||
) -> VSOutput {
|
||||
let shape = shapes[instanceIndex];
|
||||
|
||||
var vsOut: VSOutput;
|
||||
vsOut.position = vec4f(
|
||||
(
|
||||
// Top left corner
|
||||
vec2f(-1, 1) +
|
||||
// Convert pixel position to clipspace
|
||||
vec2f( 2, -2) / layoutInfo.canvasDims *
|
||||
// Shape position and size
|
||||
(layoutInfo.viewportOffset - scrollOffset.offset + shape.position + vert.position * shape.size)
|
||||
),
|
||||
0.0,
|
||||
1.0
|
||||
);
|
||||
vsOut.color = shape.color;
|
||||
return vsOut;
|
||||
}
|
||||
|
||||
@fragment fn fs(vsOut: VSOutput) -> @location(0) vec4f {
|
||||
return vsOut.color;
|
||||
}
|
||||
`;class Ife extends Pf{constructor(e,t,i,n,s,r){super(),this._context=e,this._contentLeft=t,this._devicePixelRatio=i,this._canvas=n,this._ctx=s,this._shapeBindBuffer=this._register(new rt),this._initialized=!1,this._shapeCollection=this._register(yfe([{name:"x"},{name:"y"},{name:"width"},{name:"height"},{name:"red"},{name:"green"},{name:"blue"},{name:"alpha"}],32)),this._context.addEventHandler(this),this._initWebgpu(r)}async _initWebgpu(e){if(this._device=await e,this._store.isDisposed)return;const t=navigator.gpu.getPreferredCanvasFormat();this._ctx.configure({device:this._device,format:t,alphaMode:"premultiplied"}),this._renderPassColorAttachment={view:null,loadOp:"load",storeOp:"store"},this._renderPassDescriptor={label:"Monaco rectangle renderer render pass",colorAttachments:[this._renderPassColorAttachment]};let i;{const a=new Float32Array(6),l=(c=this._canvas.width,d=this._canvas.height)=>(a[0]=c,a[1]=d,a[2]=Math.ceil(this._context.configuration.options.get(165).contentLeft*pt().devicePixelRatio),a[3]=0,a[4]=a[0]-a[2],a[5]=a[1]-a[3],a);i=this._register(Zs.createBuffer(this._device,{label:"Monaco rectangle renderer uniform buffer",size:24,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST},()=>l())).object,this._register(RU(this._canvas,pt(),(c,d)=>{this._device.queue.writeBuffer(i,0,l(c,d))}))}const n=2;this._scrollOffsetBindBuffer=this._register(Zs.createBuffer(this._device,{label:"Monaco rectangle renderer scroll offset buffer",size:n*Float32Array.BYTES_PER_ELEMENT,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST})).object,this._scrollOffsetValueBuffer=new Float32Array(n);const s=()=>Zs.createBuffer(this._device,{label:"Monaco rectangle renderer shape buffer",size:this._shapeCollection.buffer.byteLength,usage:GPUBufferUsage.STORAGE|GPUBufferUsage.COPY_DST});this._shapeBindBuffer.value=s(),this._register(ie.runAndSubscribe(this._shapeCollection.onDidChangeBuffer,()=>{this._shapeBindBuffer.value=s(),this._pipeline&&this._updateBindGroup(this._pipeline,i)})),this._vertexBuffer=this._register(Zs.createBuffer(this._device,{label:"Monaco rectangle renderer vertex buffer",size:Uf.byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST},Uf)).object;const r=this._device.createShaderModule({label:"Monaco rectangle renderer shader module",code:kfe});this._pipeline=this._device.createRenderPipeline({label:"Monaco rectangle renderer render pipeline",layout:"auto",vertex:{module:r,buffers:[{arrayStride:2*Float32Array.BYTES_PER_ELEMENT,attributes:[{shaderLocation:0,offset:0,format:"float32x2"}]}]},fragment:{module:r,targets:[{format:t,blend:{color:{srcFactor:"src-alpha",dstFactor:"one-minus-src-alpha"},alpha:{srcFactor:"src-alpha",dstFactor:"one-minus-src-alpha"}}}]}}),this._updateBindGroup(this._pipeline,i),this._initialized=!0}_updateBindGroup(e,t){this._bindGroup=this._device.createBindGroup({label:"Monaco rectangle renderer bind group",layout:e.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:this._shapeBindBuffer.value.object}},{binding:1,resource:{buffer:t}},{binding:2,resource:{buffer:this._scrollOffsetBindBuffer}}]})}register(e,t,i,n,s,r,a,l){return this._shapeCollection.createEntry({x:e,y:t,width:i,height:n,red:s,green:r,blue:a,alpha:l})}onScrollChanged(e){if(this._device){const t=pt().devicePixelRatio;this._scrollOffsetValueBuffer[0]=this._context.viewLayout.getCurrentScrollLeft()*t,this._scrollOffsetValueBuffer[1]=this._context.viewLayout.getCurrentScrollTop()*t,this._device.queue.writeBuffer(this._scrollOffsetBindBuffer,0,this._scrollOffsetValueBuffer)}return!0}_update(){if(!this._device)return;const e=this._shapeCollection;e.dirtyTracker.isDirty&&(this._device.queue.writeBuffer(this._shapeBindBuffer.value.object,0,e.buffer,e.dirtyTracker.dataOffset,e.dirtyTracker.dirtySize*e.view.BYTES_PER_ELEMENT),e.dirtyTracker.clear())}draw(e){if(!this._initialized)return;this._update();const t=this._device.createCommandEncoder({label:"Monaco rectangle renderer command encoder"});this._renderPassColorAttachment.view=this._ctx.getCurrentTexture().createView();const i=t.beginRenderPass(this._renderPassDescriptor);i.setPipeline(this._pipeline),i.setVertexBuffer(0,this._vertexBuffer),i.setBindGroup(0,this._bindGroup);const n=Math.ceil(this._contentLeft.get()*this._devicePixelRatio.get());i.setScissorRect(n,0,this._canvas.width-n,this._canvas.height),i.draw(Uf.length/2,this._shapeCollection.entryCount),i.end();const s=t.finish();this._device.queue.submit([s])}}class Dfe extends P{constructor(){super(),this._ruleCache=new Map,this._container=ee("div.monaco-decoration-css-rule-extractor"),this._dummyElement=ee("span"),this._container.appendChild(this._dummyElement),this._register(fe(()=>this._container.remove()))}getStyleRules(e,t){const i=this._ruleCache.get(t);if(i)return i;this._dummyElement.className=t,e.appendChild(this._container);const n=this._getStyleRules(t);return this._ruleCache.set(t,n),e.removeChild(this._container),n}_getStyleRules(e){const t=[],n=[...Ev().styleSheets];for(let s=0;s<
Line truncated
|
||||
struct GlyphInfo {
|
||||
position: vec2f,
|
||||
size: vec2f,
|
||||
origin: vec2f,
|
||||
};
|
||||
|
||||
struct Vertex {
|
||||
@location(0) position: vec2f,
|
||||
};
|
||||
|
||||
struct Cell {
|
||||
position: vec2f,
|
||||
unused1: vec2f,
|
||||
glyphIndex: f32,
|
||||
textureIndex: f32
|
||||
};
|
||||
|
||||
struct LayoutInfo {
|
||||
canvasDims: vec2f,
|
||||
viewportOffset: vec2f,
|
||||
viewportDims: vec2f,
|
||||
}
|
||||
|
||||
struct ScrollOffset {
|
||||
offset: vec2f
|
||||
}
|
||||
|
||||
struct VSOutput {
|
||||
@builtin(position) position: vec4f,
|
||||
@location(1) layerIndex: f32,
|
||||
@location(0) texcoord: vec2f,
|
||||
};
|
||||
|
||||
// Uniforms
|
||||
@group(0) @binding(4) var<uniform> layoutInfo: LayoutInfo;
|
||||
@group(0) @binding(5) var<uniform> atlasDims: vec2f;
|
||||
@group(0) @binding(6) var<uniform> scrollOffset: ScrollOffset;
|
||||
|
||||
// Storage buffers
|
||||
@group(0) @binding(0) var<storage, read> glyphInfo: array<array<GlyphInfo, ${Oa.maximumGlyphCount}>, ${Nh.maximumPageCount}>;
|
||||
@group(0) @binding(1) var<storage, read> cells: array<Cell>;
|
||||
|
||||
@vertex fn vs(
|
||||
vert: Vertex,
|
||||
@builtin(instance_index) instanceIndex: u32,
|
||||
@builtin(vertex_index) vertexIndex : u32
|
||||
) -> VSOutput {
|
||||
let cell = cells[instanceIndex];
|
||||
var glyph = glyphInfo[u32(cell.textureIndex)][u32(cell.glyphIndex)];
|
||||
|
||||
var vsOut: VSOutput;
|
||||
// Multiple vert.position by 2,-2 to get it into clipspace which ranged from -1 to 1
|
||||
vsOut.position = vec4f(
|
||||
// Make everything relative to top left instead of center
|
||||
vec2f(-1, 1) +
|
||||
((vert.position * vec2f(2, -2)) / layoutInfo.canvasDims) * glyph.size +
|
||||
((cell.position * vec2f(2, -2)) / layoutInfo.canvasDims) +
|
||||
((glyph.origin * vec2f(2, -2)) / layoutInfo.canvasDims) +
|
||||
(((layoutInfo.viewportOffset - scrollOffset.offset * vec2(1, -1)) * 2) / layoutInfo.canvasDims),
|
||||
0.0,
|
||||
1.0
|
||||
);
|
||||
|
||||
vsOut.layerIndex = cell.textureIndex;
|
||||
// Textures are flipped from natural direction on the y-axis, so flip it back
|
||||
vsOut.texcoord = vert.position;
|
||||
vsOut.texcoord = (
|
||||
// Glyph offset (0-1)
|
||||
(glyph.position / atlasDims) +
|
||||
// Glyph coordinate (0-1)
|
||||
(vsOut.texcoord * (glyph.size / atlasDims))
|
||||
);
|
||||
|
||||
return vsOut;
|
||||
}
|
||||
|
||||
@group(0) @binding(2) var ourSampler: sampler;
|
||||
@group(0) @binding(3) var ourTexture: texture_2d_array<f32>;
|
||||
|
||||
@fragment fn fs(vsOut: VSOutput) -> @location(0) vec4f {
|
||||
return textureSample(ourTexture, ourSampler, vsOut.texcoord, u32(vsOut.layerIndex));
|
||||
}
|
||||
`,cc=class cc extends FU{get bindGroupEntries(){return[{binding:1,resource:{buffer:this._cellBindBuffer}},{binding:6,resource:{buffer:this._scrollOffsetBindBuffer}}]}constructor(e,t,i,n){super(e,t,i,n),this.type="viewport",this.wgsl=WU,this._cellBindBufferLineCapacity=63,this._activeDoubleBufferIndex=0,this._visibleObjectCount=0,this._scrollInitialized=!1,this._onDidChangeBindGroupEntries=this._register(new A),this.onDidChangeBindGroupEntries=this._onDidChangeBindGroupEntries.event,this._rebuildCellBuffer(this._cellBindBufferLineCapacity);const s=2;this._scrollOffsetBindBuffer=this._register(Zs.createBuffer(this._device,{label:"Monaco scroll offset buffer",size:s*Float32Array.BYTES_PER_ELEMENT,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST})).object,this._scrollOffsetValueBuffer=new Float32Array(s)}_rebuildCellBuffer(e){this._cellBindBuffer?.destroy();const t=(Math.floor(e/32)+1)*32,i=t*cc.maxSupportedColumns*6*Float32Array.BYTES_PER_ELEMENT;this._cellBindBuffer=this._register(Zs.createBuffer(this._device,{label:"Monaco full file cell buffer",size:i,usage:GPUBufferUsage.STORAGE|GPUBufferUsage.COPY_DST})).object,this._cellValueBuffers=[new ArrayBuffer(i),new ArrayBuffer(i)],this._cellBindBufferLineCapacity=t,this._onDidChangeBindGroupEntries.fire()}onConfigurationChanged(e){return!0}onDecorationsChanged(e){return!0}onTokensChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onLinesChanged(e){return!0}onScrollChanged(e){const t=pt().devicePixelRatio;return this._scrollOffsetValueBuffer[0]=(e?.scrollLeft??this._context.viewLayout.getCurrentScrollLeft())*t,this._scrollOffsetValueBuffer[1]=(e?.scrollTop??this._context.viewLayout.getCurrentScrollTop())*t,this._device.queue.writeBuffer(this._scrollOffsetBindBuffer,0,this._scrollOffsetValueBuffer),!0}onThemeChanged(e){return!0}onLineMappingChanged(e){return!0}onZonesChanged(e){return!0}reset(){for(const e of[0,1]){const t=new Float32Array(this._cellValueBuffers[e]);t.fill(0,0,t.length),this._device.queue.writeBuffer(this._cellBindBuffer,0,t.buffer,0,t.byteLength)}}update(e,t){let i="",n,s=0,r=0,a=0,l=0,c=0,d=0,h,u=0,f=0,g=0,p=0,_,b,C,w,v,S=0,L=0,x;const I=pt().devicePixelRatio;let D;this._scrollInitialized||(this.onScrollChanged(),this._scrollInitialized=!0),this._cellBindBufferLineCapacity<e.endLineNumber-e.startLineNumber+1&&this._rebuildCellBuffer(e.endLineNumber-e.startLineNumber+1);const R=new Float32Array(this._cellValueBuffers[this._activeDoubleBufferIndex]);R.fill(0);const O=cc.maxSupportedColumns*6;for(r=e.startLineNumber;r<=e.endLineNumber;r++)if(this._viewGpuContext.canRender(t,e,r)){w=e.getViewLineRenderingData(r),d=0,D=px(w,t),s=t.spaceWidth*I,l=0,x=w.tokens,f=w.minColumn-1,g=0;for(let B=0,U=x.getCount();B<U;B++)if(g=x.getEndOffset(B),!(g<=f)){for(p=x.getMetadata(B),a=f;a<g&&!(a>cc.maxSupportedColumns);a++){if(n=D.getSegmentAtIndex(a),n===void 0)continue;i=n,w.isBasicASCII&&t.useMonospaceOptimizations||(s=this.glyphRasterizer.getTextMetrics(i).width),b=void 0,_=void 0,C=void 0;for(v of w.inlineDecorations){if(r<v.range.startLineNumber||r>v.range.endLineNumber||r===v.range.startLineNumber&&a<v.range.startColumn-1||r===v.range.endLineNumber&&a>=v.range.endColumn-1)continue;const ne=ds.decorationCssRuleExtractor.getStyleRules(this._viewGpuContext.canvas.domNode,v.inlineClassName);for(const Q of ne)for(const se of Q.style){const de=Q.styleMap.get(se)?.toString()??"";switch(se){case"color":{const ye=z.Format.CSS.parse(de);if(!ye)throw new Ce("Invalid color format "+de);b=ye.toNumber32Bit();break}case"font-weight":{Afe(de)>=400?_=!0:_=!1;break}case"opacity":{C=Pfe(de);break}default:throw new Ce("Unexpected inline decoration style")}}}if(i===" "||i===" "){if(u=((r-1)*cc.maxSupportedColumns+a)*6,R.fill(0,u,u+6),i===" "){const ne=a+d;d=ti.nextRenderTabStop(a+d,w.tabSize),l+=s*(d-ne),d-=a+1}else l+=s;continue}const K=ds.decorationStyleCache.getOrCreateEntry(b,_,C);h=this._viewGpuContext.atlas.getGlyph(this.glyphRasterizer,i,p,K,l),c=Math.round(e.relativeVerticalOffset[r-e.startLineNumber]*I+Math.floor((e.lineHeight*I-(h.fontBoundingBoxAscent+h.fontBoundingBoxDescent))/2)+h.fontBoundingBoxAscent),u=((r-e.startLineNumber)*cc.maxSupportedColumns+a)*6,R[u+0]=Math.floor(l),R[u+1]=c,R[u+4]=h.glyphIndex,R[u+5]=h.pageIndex,l+=s}f=g}S=((r-e.startLineNumber)*cc.maxSupportedColumns+g)*6,L=(r-e.startLineNumber)*cc.maxSupportedColumns*6,R.fill(0,S,L)}const F=(e.endLineNumber-e.startLineNumber+1)*O;return this._device.queue.writeBuffer(this._cellBindBuffer,0,R.buffer,0,(e.endLineNumber-e.startLineNumber)*O*Float32Array.BYTES_PER_ELEMENT),this._activeDoubleBufferIndex=this._activeDoubleBufferIndex?0:1,this._visibleObjectCount=F,F}draw(e,t){if(this._visibleObjectCount<=0)throw new Ce("Attempt to draw 0 objects");e.draw(Uf.length/2,this._visibleObjectCount)}};cc.maxSupportedColumns=2e3;let SA=cc;function Afe(o){switch(o){case"lighter":case"normal":return 400;case"bolder":case"bold":return 700}return parseInt(o)}function Pfe(o){return o.endsWith("%")
Line truncated
|
||||
`,t+1),t===-1)break;e++}while(!0);return e}var Hfe=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},UU=function(o,e){return function(t,i){e(t,i,o)}};class Vfe{constructor(e,t,i,n,s){this._context=e,this.modelLineNumber=t,this.distanceToModelLineStart=i,this.widthOfHiddenLineTextBefore=n,this.distanceToModelLineEnd=s,this._visibleTextAreaBrand=void 0,this.startPosition=null,this.endPosition=null,this.visibleTextareaStart=null,this.visibleTextareaEnd=null,this._previousPresentation=null}prepareRender(e){const t=new M(this.modelLineNumber,this.distanceToModelLineStart+1),i=new M(this.modelLineNumber,this._context.viewModel.model.getLineMaxColumn(this.modelLineNumber)-this.distanceToModelLineEnd);this.startPosition=this._context.viewModel.coordinatesConverter.convertModelPositionToViewPosition(t),this.endPosition=this._context.viewModel.coordinatesConverter.convertModelPositionToViewPosition(i),this.startPosition.lineNumber===this.endPosition.lineNumber?(this.visibleTextareaStart=e.visibleRangeForPosition(this.startPosition),this.visibleTextareaEnd=e.visibleRangeForPosition(this.endPosition)):(this.visibleTextareaStart=null,this.visibleTextareaEnd=null)}definePresentation(e){return this._previousPresentation||(e?this._previousPresentation=e:this._previousPresentation={foreground:1,italic:!1,bold:!1,underline:!1,strikethrough:!1}),this._previousPresentation}}const xA=Bs;let kA=class extends HU{constructor(e,t,i,n,s,r){super(e),this._keybindingService=s,this._instantiationService=r,this._primaryCursorPosition=new M(1,1),this._primaryCursorVisibleRange=null,this._viewController=i,this._visibleRangeProvider=n,this._scrollLeft=0,this._scrollTop=0;const a=this._context.configuration.options,l=a.get(165);this._setAccessibilityOptions(a),this._contentLeft=l.contentLeft,this._contentWidth=l.contentWidth,this._contentHeight=l.height,this._fontInfo=a.get(59),this._emptySelectionClipboard=a.get(45),this._copyWithSyntaxHighlighting=a.get(31),this._visibleTextArea=null,this._selections=[new le(1,1,1,1)],this._modelSelections=[new le(1,1,1,1)],this._lastRenderPosition=null,this.textArea=ct(document.createElement("textarea")),Aa.write(this.textArea,7),this.textArea.setClassName(`inputarea ${E_}`),this.textArea.setAttribute("wrap",this._textAreaWrapping&&!this._visibleTextArea?"on":"off");const{tabSize:c}=this._context.viewModel.model.getOptions();this.textArea.domNode.style.tabSize=`${c*this._fontInfo.spaceWidth}px`,this.textArea.setAttribute("autocorrect","off"),this.textArea.setAttribute("autocapitalize","off"),this.textArea.setAttribute("autocomplete","off"),this.textArea.setAttribute("spellcheck","false"),this.textArea.setAttribute("aria-label",LA(a,this._keybindingService)),this.textArea.setAttribute("aria-required",a.get(9)?"true":"false"),this.textArea.setAttribute("tabindex",String(a.get(140))),this.textArea.setAttribute("role","textbox"),this.textArea.setAttribute("aria-roledescription",m(65,"editor")),this.textArea.setAttribute("aria-multiline","true"),this.textArea.setAttribute("aria-autocomplete",a.get(104)?"none":"both"),this._ensureReadOnlyAttribute(),this.textAreaCover=ct(document.createElement("div")),this.textAreaCover.setPosition("absolute"),t.appendChild(this.textArea),t.appendChild(this.textAreaCover);const d=new VU,h={getDataToCopy:()=>qz(this._context.viewModel,this._modelSelections,this._emptySelectionClipboard,this._copyWithSyntaxHighlighting),getScreenReaderContent:()=>{if(this._accessibilitySupport===1){const g=this._selections[0];if(ze&&g.isEmpty()){const _=g.getStartPosition();let b=this._getWordBeforePosition(_);if(b.length===0&&(b=this._getCharacterBeforePosition(_)),b.length>0)return new cs(b,b.length,b.length,k.fromPositions(_),0)}if(ze&&!g.isEmpty()&&this._context.viewModel.getValueLengthInRange(g,0)<500){const _=this._context.viewModel.getValueInRange(g,0);return new cs(_,0,_.length,g,0)}if(Xu&&!g.isEmpty()){const _="vscode-placeholder";return new cs(_,0,_.length,null,void 0)}return cs.EMPTY}if(i6){const g=this._selections[0];if(g.isEmpty()){const p=g.getStartPosition(),[_,b]=this._getAndroidWordAtPosition(p);if(_.length>0)return new cs(_,b,b,k.fromPositions(p),0)}return cs.EMPTY}const f=d.fromEditorSelection(this._context.viewModel,this._selections[0],this._accessibilityPageSize,this._accessibilitySupport===0);return cs.fromScreenReaderContentState(f)},deduceModelPosition:(f,g,p)=>this._context.viewModel.deduceModelPositionRelativeToViewPosition(f,g,p)},u=this._register(new phe(this.textArea.domNode));this._textAreaInput=this._register(this._instantiationService.createInstance(X2,h,u,oo,{isAndroid:i6,isChrome:iv,isFirefox:Bs,isSafari:Xu})),this._register(this._textAreaInput.onKeyDown(f=>{this._viewController.emitKeyDown(f
Line truncated
|
||||
`),S=w.substring(v+1),L=S.lastIndexOf(" "),x=S.length-L-1,I=p.getStartPosition(),D=Math.min(I.column-1,x),R=I.column-1-D,O=S.substring(0,S.length-D),{tabSize:F}=this._context.viewModel.model.getOptions(),B=zfe(this.textArea.domNode.ownerDocument,O,this._fontInfo,F);return{distanceToModelLineStart:R,widthOfHiddenTextBefore:B}})(),{distanceToModelLineEnd:C}=(()=>{const w=g.value.substring(Math.max(g.selectionStart,g.selectionEnd)),v=w.indexOf(`
|
||||
`),S=v===-1?w:w.substring(0,v),L=S.indexOf(" "),x=L===-1?S.length:S.length-L-1,I=p.getEndPosition(),D=Math.min(this._context.viewModel.model.getLineMaxColumn(I.lineNumber)-I.column,x);return{distanceToModelLineEnd:this._context.viewModel.model.getLineMaxColumn(I.lineNumber)-I.column-D}})();this._context.viewModel.revealRange("keyboard",!0,k.fromPositions(this._selections[0].getStartPosition()),0,1),this._visibleTextArea=new Vfe(this._context,p.startLineNumber,_,b,C),this.textArea.setAttribute("wrap",this._textAreaWrapping&&!this._visibleTextArea?"on":"off"),this._visibleTextArea.prepareRender(this._visibleRangeProvider),this._render(),this.textArea.setClassName(`inputarea ${E_} ime-input`),this._viewController.compositionStart(),this._context.viewModel.onCompositionStart()})),this._register(this._textAreaInput.onCompositionUpdate(f=>{this._visibleTextArea&&(this._visibleTextArea.prepareRender(this._visibleRangeProvider),this._render())})),this._register(this._textAreaInput.onCompositionEnd(()=>{this._visibleTextArea=null,this.textArea.setAttribute("wrap",this._textAreaWrapping&&!this._visibleTextArea?"on":"off"),this._render(),this.textArea.setClassName(`inputarea ${E_}`),this._viewController.compositionEnd(),this._context.viewModel.onCompositionEnd()})),this._register(this._textAreaInput.onFocus(()=>{this._context.viewModel.setHasFocus(!0)})),this._register(this._textAreaInput.onBlur(()=>{this._context.viewModel.setHasFocus(!1)})),this._register(xl.onDidChange(()=>{this._ensureReadOnlyAttribute()}))}get domNode(){return this.textArea}writeScreenReaderContent(e){this._textAreaInput.writeNativeTextAreaContent(e)}dispose(){super.dispose(),this.textArea.domNode.remove(),this.textAreaCover.domNode.remove()}_getAndroidWordAtPosition(e){const t='`~!@#$%^&*()-=+[{]}\\|;:",.<>/?',i=this._context.viewModel.getLineContent(e.lineNumber),n=Lr(t,[]);let s=!0,r=e.column,a=!0,l=e.column,c=0;for(;c<50&&(s||a);){if(s&&r<=1&&(s=!1),s){const d=i.charCodeAt(r-2);n.get(d)!==0?s=!1:r--}if(a&&l>i.length&&(a=!1),a){const d=i.charCodeAt(l-1);n.get(d)!==0?a=!1:l++}c++}return[i.substring(r-1,l-1),e.column-r]}_getWordBeforePosition(e){const t=this._context.viewModel.getLineContent(e.lineNumber),i=Lr(this._context.configuration.options.get(148),[]);let n=e.column,s=0;for(;n>1;){const r=t.charCodeAt(n-2);if(i.get(r)!==0||s>50)return t.substring(n-1,e.column-1);s++,n--}return t.substring(0,e.column-1)}_getCharacterBeforePosition(e){if(e.column>1){const i=this._context.viewModel.getLineContent(e.lineNumber).charAt(e.column-2);if(!zi(i.charCodeAt(0)))return i}return""}_setAccessibilityOptions(e){this._accessibilitySupport=e.get(2);const t=e.get(3);this._accessibilitySupport===2&&t===rs.accessibilityPageSize.defaultValue?this._accessibilityPageSize=500:this._accessibilityPageSize=t;const n=e.get(165).wrappingColumn;if(n!==-1&&this._accessibilitySupport!==1){const s=e.get(59);this._textAreaWrapping=!0,this._textAreaWidth=Math.round(n*s.typicalHalfwidthCharacterWidth)}else this._textAreaWrapping=!1,this._textAreaWidth=xA?0:1}onConfigurationChanged(e){const t=this._context.configuration.options,i=t.get(165);this._setAccessibilityOptions(t),this._contentLeft=i.contentLeft,this._contentWidth=i.contentWidth,this._contentHeight=i.height,this._fontInfo=t.get(59),this._emptySelectionClipboard=t.get(45),this._copyWithSyntaxHighlighting=t.get(31),this.textArea.setAttribute("wrap",this._textAreaWrapping&&!this._visibleTextArea?"on":"off");const{tabSize:n}=this._context.viewModel.model.getOptions();return this.textArea.domNode.style.tabSize=`${n*this._fontInfo.spaceWidth}px`,this.textArea.setAttribute("aria-label",LA(t,this._keybindingService)),this.textArea.setAttribute("aria-required",t.get(9)?"true":"false"),this.textArea.setAttribute("tabindex",String(t.get(140))),(e.hasChanged(41)||e.hasChanged(104))&&this._ensureReadOnlyAttribute(),e.hasChanged(2)&&this._textAreaInput.writeNativeTextAreaContent("strategy changed"),!0}onCursorStateChanged(e){return this._selections=e.selections.slice(0),this._modelSelections=e.modelSelections.slice(0),this._textAreaInput.writeNativeTextAreaContent("selection changed"),!0}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return this._scrollLeft=e.scrollLeft,this._scrollTop=e.scrollTop,!0}onZonesChanged(e){return!0}isFocused(){return this._textAreaInput.isFocused()}focus(){this._textAreaInput.focusTextArea()}refreshFocusState(){this._textAreaInput.refreshFocusState()}getLastRenderData(){return this._lastRenderPosition}setAriaOptions(e){e.activeDescendant?(this.textArea.setAttribute("aria-haspopup","true"),this.textArea.setAttribute("aria-autocomplete","list"),this.textArea.setAttribute("aria-activedescendant",e.activeDescendant)):(this.textArea.setAttribute("aria-haspopup","false"),this.textArea.setAttribute("aria-autocomplete","both"),this.textArea.removeAttribute("aria-activedescendant")),e.role&&this.textAreaLine truncated
|
||||
`;this.value=i}equals(e){return this.value===e.value}static get NULL(){const e={getLineContent:()=>"",getLineCount:()=>1,getLineMaxColumn:()=>1,getValueInRange:()=>"",getValueLengthInRange:()=>0,modifyPosition:(t,i)=>t};return new L1(e,[])}}class Yfe{constructor(){}_getPageOfLine(e,t){return Math.floor((e-1)/t)}_getRangeForPage(e,t,i){const n=t*i,s=n+1,r=Math.min(n+i,e.getLineCount());return new Zfe(s,r)}fromEditorSelection(e,t,i){const n=this._getPageOfLine(t.startLineNumber,i),s=this._getRangeForPage(e,n,i),r=this._getPageOfLine(t.endLineNumber,i),a=this._getRangeForPage(e,r,i),l=[{startLine:s.startLine,endLine:s.endLine}];return n+1<r&&l.push({startLine:a.startLine,endLine:a.endLine}),new L1(e,l)}}class Xfe{constructor(e){this.replacements=e;let t=-1;for(const i of e){if(!(i.replaceRange.start>=t))throw new Ce(`Edits must be disjoint and sorted. Found ${i} after ${t}`);t=i.replaceRange.endExclusive}}toString(){return`[${this.replacements.map(t=>t.toString()).join(", ")}]`}normalize(){const e=[];let t;for(const i of this.replacements)if(!(i.getNewLength()===0&&i.replaceRange.length===0)){if(t&&t.replaceRange.endExclusive===i.replaceRange.start){const n=t.tryJoinTouching(i);if(n){t=n;continue}}t&&e.push(t),t=i}return t&&e.push(t),this._createNew(e)}compose(e){const t=this.normalize(),i=e.normalize();if(t.isEmpty())return i;if(i.isEmpty())return t;const n=[...t.replacements],s=[];let r=0;for(const a of i.replacements){for(;;){const h=n[0];if(!h||h.replaceRange.start+r+h.getNewLength()>=a.replaceRange.start)break;n.shift(),s.push(h),r+=h.getNewLength()-h.replaceRange.length}const l=r;let c,d;for(;;){const h=n[0];if(!h||h.replaceRange.start+r>a.replaceRange.endExclusive)break;c||(c=h),d=h,n.shift(),r+=h.getNewLength()-h.replaceRange.length}if(!c)s.push(a.delta(-r));else{const h=Math.min(c.replaceRange.start,a.replaceRange.start-l),u=a.replaceRange.start-(c.replaceRange.start+l);if(u>0){const _=c.slice(ge.emptyAt(h),new ge(0,u));s.push(_)}if(!d)throw new Ce("Invariant violation: lastIntersecting is undefined");const f=d.replaceRange.endExclusive+r-a.replaceRange.endExclusive;if(f>0){const _=d.slice(ge.ofStartAndLength(d.replaceRange.endExclusive,0),new ge(d.getNewLength()-f,d.getNewLength()));n.unshift(_),r-=_.getNewLength()-_.replaceRange.length}const g=new ge(h,a.replaceRange.endExclusive-r),p=a.slice(g,new ge(0,a.getNewLength()));s.push(p)}}for(;;){const a=n.shift();if(!a)break;s.push(a)}return this._createNew(s).normalize()}getNewRanges(){const e=[];let t=0;for(const i of this.replacements)e.push(ge.ofStartAndLength(i.replaceRange.start+t,i.getNewLength())),t+=i.getLengthDelta();return e}isEmpty(){return this.replacements.length===0}}class Qfe{constructor(e){this.replaceRange=e}delta(e){return this.slice(this.replaceRange.delta(e),new ge(0,this.getNewLength()))}getLengthDelta(){return this.getNewLength()-this.replaceRange.length}toString(){return`{ ${this.replaceRange.toString()} -> ${this.getNewLength()} }`}get isEmpty(){return this.getNewLength()===0&&this.replaceRange.length===0}getRangeAfterReplace(){return new ge(this.replaceRange.start,this.replaceRange.start+this.getNewLength())}}class Jfe extends Xfe{apply(e){const t=[];let i=0;for(const n of this.replacements)t.push(e.substring(i,n.replaceRange.start)),t.push(n.newText),i=n.replaceRange.endExclusive;return t.push(e.substring(i)),t.join("")}}class ege extends Qfe{constructor(e,t){super(e),this.newText=t}getNewLength(){return this.newText.length}toString(){return`${this.replaceRange} -> ${JSON.stringify(this.newText)}`}replace(e){return e.substring(0,this.replaceRange.start)+this.newText+e.substring(this.replaceRange.endExclusive)}removeCommonSuffixPrefix(e){const t=e.substring(this.replaceRange.start,this.replaceRange.endExclusive),i=Zr(t,this.newText),n=Math.min(t.length-i,this.newText.length-i,xc(t,this.newText)),s=new ge(this.replaceRange.start+i,this.replaceRange.endExclusive-n),r=this.newText.substring(i,this.newText.length-n);return new Cn(s,r)}removeCommonSuffixAndPrefix(e){return this.removeCommonSuffix(e).removeCommonPrefix(e)}removeCommonPrefix(e){const t=this.replaceRange.substring(e),i=Zr(t,this.newText);return i===0?this:this.slice(this.replaceRange.deltaStart(i),new ge(i,this.newText.length))}removeCommonSuffix(e){const t=this.replaceRange.substring(e),i=xc(t,this.newText);return i===0?this:this.slice(this.replaceRange.deltaEnd(-i),new ge(0,this.newText.length-i))}toJson(){return{txt:this.newText,pos:this.replaceRange.start,len:this.replaceRange.length}}}const DC=class DC extends Jfe{static compose(e){if(e.length===0)return DC.empty;let t=e[0];for(let i=1;i<e.length;i++)t=t.compose(e[i]);return t}constructor(e){super(e)}_createNew(e){return new DC(e)}};DC.empty=new DC([]);let Xc=DC;class Cn extends ege{static insert(e,t){return new Cn(ge.emptyAt(e),t)}static replace(e,t){return new Cn(e,t)}equals(e){return this.replaceRange.equals(e.replaceRange)&&this.newText===e.newText}tryJoinTouching(e){return new Cn(this.replaceRange.joinRightTo
Line truncated
|
||||
`?(t++,i=0):i++;return new nl(t,i)}constructor(e,t){this.lineCount=e,this.columnCount=t}isGreaterThanOrEqualTo(e){return this.lineCount!==e.lineCount?this.lineCount>e.lineCount:this.columnCount>=e.columnCount}add(e){return e.lineCount===0?new nl(this.lineCount,this.columnCount+e.columnCount):new nl(this.lineCount+e.lineCount,e.columnCount)}createRange(e){return this.lineCount===0?new k(e.lineNumber,e.column,e.lineNumber,e.column+this.columnCount):new k(e.lineNumber,e.column,e.lineNumber+this.lineCount,this.columnCount+1)}toRange(){return new k(1,1,this.lineCount+1,this.columnCount+1)}toLineRange(){return Ie.ofLength(1,this.lineCount+1)}addToPosition(e){return this.lineCount===0?new M(e.lineNumber,e.column+this.columnCount):new M(e.lineNumber+this.lineCount,this.columnCount+1)}toString(){return`${this.lineCount},${this.columnCount}`}};nl.zero=new nl(0,0);let Ki=nl;class jU{getOffsetRange(e){return new ge(this.getOffset(e.getStartPosition()),this.getOffset(e.getEndPosition()))}getRange(e){return k.fromPositions(this.getPosition(e.start),this.getPosition(e.endExclusive))}getStringReplacement(e){return new qf.deps.StringReplacement(this.getOffsetRange(e.range),e.text)}getTextReplacement(e){return new qf.deps.TextReplacement(this.getRange(e.replaceRange),e.newText)}getTextEdit(e){const t=e.replacements.map(i=>this.getTextReplacement(i));return new qf.deps.TextEdit(t)}}const NB=class NB{static get deps(){if(!this._deps)throw new Error("Dependencies not set. Call _setDependencies first.");return this._deps}};NB._deps=void 0;let qf=NB;function tge(o){qf._deps=o}class mx extends jU{constructor(e){super(),this.text=e,this.lineStartOffsetByLineIdx=[],this.lineEndOffsetByLineIdx=[],this.lineStartOffsetByLineIdx.push(0);for(let t=0;t<e.length;t++)e.charAt(t)===`
|
||||
`&&(this.lineStartOffsetByLineIdx.push(t+1),t>0&&e.charAt(t-1)==="\r"?this.lineEndOffsetByLineIdx.push(t-1):this.lineEndOffsetByLineIdx.push(t));this.lineEndOffsetByLineIdx.push(e.length)}getOffset(e){const t=this._validatePosition(e);return this.lineStartOffsetByLineIdx[t.lineNumber-1]+t.column-1}_validatePosition(e){if(e.lineNumber<1)return new M(1,1);const t=this.textLength.lineCount+1;if(e.lineNumber>t){const n=this.getLineLength(t);return new M(t,n+1)}if(e.column<1)return new M(e.lineNumber,1);const i=this.getLineLength(e.lineNumber);return e.column-1>i?new M(e.lineNumber,i+1):e}getPosition(e){const t=I_(this.lineStartOffsetByLineIdx,s=>s<=e),i=t+1,n=e-this.lineStartOffsetByLineIdx[t]+1;return new M(i,n)}get textLength(){const e=this.lineStartOffsetByLineIdx.length-1;return new qf.deps.TextLength(e,this.text.length-this.lineStartOffsetByLineIdx[e])}getLineLength(e){return this.lineEndOffsetByLineIdx[e-1]-this.lineStartOffsetByLineIdx[e-1]}}class NA{constructor(){this._transformer=void 0}get endPositionExclusive(){return this.length.addToPosition(new M(1,1))}get lineRange(){return this.length.toLineRange()}getValue(){return this.getValueOfRange(this.length.toRange())}getValueOfOffsetRange(e){return this.getValueOfRange(this.getTransformer().getRange(e))}getLineLength(e){return this.getValueOfRange(new k(e,1,e,Number.MAX_SAFE_INTEGER)).length}getTransformer(){return this._transformer||(this._transformer=new mx(this.getValue())),this._transformer}getLineAt(e){return this.getValueOfRange(new k(e,1,e,Number.MAX_SAFE_INTEGER))}}class ige extends NA{constructor(e,t){sv(t>=1),super(),this._getLineContent=e,this._lineCount=t}getValueOfRange(e){if(e.startLineNumber===e.endLineNumber)return this._getLineContent(e.startLineNumber).substring(e.startColumn-1,e.endColumn-1);let t=this._getLineContent(e.startLineNumber).substring(e.startColumn-1);for(let i=e.startLineNumber+1;i<e.endLineNumber;i++)t+=`
|
||||
`+this._getLineContent(i);return t+=`
|
||||
`+this._getLineContent(e.endLineNumber).substring(0,e.endColumn-1),t}getLineLength(e){return this._getLineContent(e).length}get length(){const e=this._getLineContent(this._lineCount);return new Ki(this._lineCount-1,e.length)}}class _x extends ige{constructor(e){super(t=>e[t-1],e.length)}}class Th extends NA{constructor(e){super(),this.value=e,this._t=new mx(this.value)}getValueOfRange(e){return this._t.getOffsetRange(e).substring(this.value)}get length(){return this._t.textLength}getTransformer(){return this._t}}class bo{static fromStringEdit(e,t){const i=e.replacements.map(n=>Ti.fromStringReplacement(n,t));return new bo(i)}static fromParallelReplacementsUnsorted(e){const t=e.slice().sort(kn(i=>i.range,k.compareRangesUsingStarts));return new bo(t)}constructor(e){this.replacements=e,sh(()=>ov(e,(t,i)=>t.range.getEndPosition().isBeforeOrEqual(i.range.getStartPosition())))}mapPosition(e){let t=0,i=0,n=0;for(const s of this.replacements){const r=s.range.getStartPosition();if(e.isBeforeOrEqual(r))break;const a=s.range.getEndPosition(),l=Ki.ofText(s.text);if(e.isBefore(a)){const c=new M(r.lineNumber+t,r.column+(r.lineNumber+t===i?n:0)),d=l.addToPosition(c);return bx(c,d)}r.lineNumber+t!==i&&(n=0),t+=l.lineCount-(s.range.endLineNumber-s.range.startLineNumber),l.lineCount===0?a.lineNumber!==r.lineNumber?n+=l.columnCount-(a.column-1):n+=l.columnCount-(a.column-r.column):n=l.columnCount,i=a.lineNumber+t}return new M(e.lineNumber+t,e.column+(e.lineNumber+t===i?n:0))}mapRange(e){function t(r){return r instanceof M?r:r.getStartPosition()}function i(r){return r instanceof M?r:r.getEndPosition()}const n=t(this.mapPosition(e.getStartPosition())),s=i(this.mapPosition(e.getEndPosition()));return bx(n,s)}apply(e){let t="",i=new M(1,1);for(const s of this.replacements){const r=s.range,a=r.getStartPosition(),l=r.getEndPosition(),c=bx(i,a);c.isEmpty()||(t+=e.getValueOfRange(c)),t+=s.text,i=l}const n=bx(i,e.endPositionExclusive);return n.isEmpty()||(t+=e.getValueOfRange(n)),t}applyToString(e){const t=new Th(e);return this.apply(t)}getNewRanges(){const e=[];let t=0,i=0,n=0;for(const s of this.replacements){const r=Ki.ofText(s.text),a=M.lift({lineNumber:s.range.startLineNumber+i,column:s.range.startColumn+(s.range.startLineNumber===t?n:0)}),l=r.createRange(a);e.push(l),i=l.endLineNumber-s.range.endLineNumber,n=l.endColumn-s.range.endColumn,t=s.range.endLineNumber}return e}toReplacement(e){if(this.replacements.length===0)throw new Ce;if(this.replacements.length===1)return this.replacements[0];const t=this.replacements[0].range.getStartPosition(),i=this.replacements[this.replacements.length-1].range.getEndPosition();let n="";for(let s=0;s<this.replacements.length;s++){const r=this.replacements[s];if(n+=r.text,s<this.replacements.length-1){const a=this.replacements[s+1],l=k.fromPositions(r.range.getEndPosition(),a.range.getStartPosition()),c=e.getValueOfRange(l);n+=c}}return new Ti(k.fromPositions(t,i),n)}toString(e){return e===void 0?this.replacements.map(t=>t.toString()).join(`
|
||||
`):typeof e=="string"?this.toString(new Th(e)):this.replacements.length===0?"":this.replacements.map(t=>{const n=e.getValueOfRange(t.range),s=k.fromPositions(new M(Math.max(1,t.range.startLineNumber-1),1),t.range.getStartPosition());let r=e.getValueOfRange(s);r.length>10&&(r="..."+r.substring(r.length-10));const a=k.fromPositions(t.range.getEndPosition(),new M(t.range.endLineNumber+1,1));let l=e.getValueOfRange(a);l.length>10&&(l=l.substring(0,10)+"...");let c=n;if(c.length>10){const h=Math.floor(5);c=c.substring(0,h)+"..."+c.substring(c.length-h)}let d=t.text;if(d.length>10){const h=Math.floor(5);d=d.substring(0,h)+"..."+d.substring(d.length-h)}return c.length===0?`${r}❰${d}❱${l}`:`${r}❰${c}↦${d}❱${l}`}).join(`
|
||||
`)}}class Ti{static joinReplacements(e,t){if(e.length===0)throw new Ce;if(e.length===1)return e[0];const i=e[0].range.getStartPosition(),n=e[e.length-1].range.getEndPosition();let s="";for(let r=0;r<e.length;r++){const a=e[r];if(s+=a.text,r<e.length-1){const l=e[r+1],c=k.fromPositions(a.range.getEndPosition(),l.range.getStartPosition()),d=t.getValueOfRange(c);s+=d}}return new Ti(k.fromPositions(i,n),s)}static fromStringReplacement(e,t){return new Ti(t.getTransformer().getRange(e.replaceRange),e.newText)}static delete(e){return new Ti(e,"")}constructor(e,t){this.range=e,this.text=t}get isEmpty(){return this.range.isEmpty()&&this.text.length===0}static equals(e,t){return e.range.equalsRange(t.range)&&e.text===t.text}equals(e){return Ti.equals(this,e)}removeCommonPrefixAndSuffix(e){return this.removeCommonPrefix(e).removeCommonSuffix(e)}removeCommonPrefix(e){const t=e.getValueOfRange(this.range).replaceAll(`\r
|
||||
`,`
|
||||
`),i=this.text.replaceAll(`\r
|
||||
`,`
|
||||
`),n=Zr(t,i),s=Ki.ofText(t.substring(0,n)).addToPosition(this.range.getStartPosition()),r=i.substring(n),a=k.fromPositions(s,this.range.getEndPosition());return new Ti(a,r)}removeCommonSuffix(e){const t=e.getValueOfRange(this.range).replaceAll(`\r
|
||||
`,`
|
||||
`),i=this.text.replaceAll(`\r
|
||||
`,`
|
||||
`),n=xc(t,i),s=Ki.ofText(t.substring(0,t.length-n)).addToPosition(this.range.getStartPosition()),r=i.substring(0,i.length-n),a=k.fromPositions(this.range.getStartPosition(),s);return new Ti(a,r)}toString(){const e=this.range.getStartPosition(),t=this.range.getEndPosition();return`(${e.lineNumber},${e.column} -> ${t.lineNumber},${t.column}): "${this.text}"`}}function bx(o,e){if(o.lineNumber===e.lineNumber&&o.column===Number.MAX_SAFE_INTEGER)return k.fromPositions(e,e);if(!o.isBeforeOrEqual(e))throw new Ce("start must be before end");return new k(o.lineNumber,o.column,e.lineNumber,e.column)}tge({StringEdit:Xc,StringReplacement:Cn,TextReplacement:Ti,TextEdit:bo,TextLength:Ki});var nge=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},sge=function(o,e){return function(t,i){e(t,i,o)}};let TA=class extends P{constructor(e,t,i,n){super(),this._domNode=e,this._context=t,this._viewController=i,this._accessibilityService=n,this._selectionChangeListener=this._register(new rt),this._accessibilityPageSize=1,this._ignoreSelectionChangeTime=0,this._strategy=new VU,this.onConfigurationChanged(this._context.configuration.options)}updateScreenReaderContent(e){const t=this._domNode.domNode,i=pt().document.activeElement;if(!i||i!==t)return;if(this._accessibilityService.isScreenReaderOptimized()){this._state=this._getScreenReaderContentState(e),t.textContent!==this._state.value&&(this._setIgnoreSelectionChangeTime("setValue"),t.textContent=this._state.value);const s=pt().document.getSelection();if(!s)return;const r=this._getScreenReaderRange(this._state.selectionStart,this._state.selectionEnd);if(!r)return;this._setIgnoreSelectionChangeTime("setRange"),s.setBaseAndExtent(r.anchorNode,r.anchorOffset,r.focusNode,r.focusOffset)}else this._state=void 0,this._setIgnoreSelectionChangeTime("setValue"),this._domNode.domNode.textContent=""}updateScrollTop(e){if(!this._state)return;const t=this._context.viewModel.viewLayout,i=this._state.startPositionWithinEditor.lineNumber,n=t.getVerticalOffsetForLineNumber(i),s=t.getVerticalOffsetForLineNumber(e.positionLineNumber);this._domNode.domNode.scrollTop=s-n}onFocusChange(e){e?this._selectionChangeListener.value=this._setSelectionChangeListener():this._selectionChangeListener.value=void 0}onConfigurationChanged(e){this._accessibilityPageSize=e.get(3)}onWillCut(){this._setIgnoreSelectionChangeTime("onCut")}onWillPaste(){this._setIgnoreSelectionChangeTime("onWillPaste")}_setIgnoreSelectionChangeTime(e){this._ignoreSelectionChangeTime=Date.now()}_setSelectionChangeListener(){let e=0;return W(this._domNode.domNode.ownerDocument,"selectionchange",()=>{const t=this._accessibilityService.isScreenReaderOptimized();if(!this._state||!t||!xl.enabled||!(pt().document.activeElement===this._domNode.domNode))return;const s=pt().document.getSelection();if(!s||s.rangeCount===0)return;const a=s.getRangeAt(0),l=Date.now(),c=l-e;if(e=l,c<5)return;const d=l-this._ignoreSelectionChangeTime;this._ignoreSelectionChangeTime=0,!(d<100)&&this._viewController.setSelection(this._getEditorSelectionFromDomRange(this._context,this._state,s.direction,a))})}_getScreenReaderContentState(e){const t=this._strategy.fromEditorSelection(this._context.viewModel,e,this._accessibilityPageSize,this._accessibilityService.getAccessibilitySupport()===0),i=this._context.viewModel.model.getPositionAt(1/0);let n=t.value;return i.column===1&&e.getEndPosition().equals(i)&&(n+=`
|
||||
`),t.value=n,t}_getScreenReaderRange(e,t){const i=this._domNode.domNode.firstChild;if(!i)return;const n=new globalThis.Range;return n.setStart(i,e),n.setEnd(i,t),{anchorNode:i,anchorOffset:e,focusNode:i,focusOffset:t}}_getEditorSelectionFromDomRange(e,t,i,n){const s=e.viewModel,r=s.model,l=s.coordinatesConverter.convertViewPositionToModelPosition(t.startPositionWithinEditor),c=r.getOffsetAt(l);let d=n.startOffset+c,h=n.endOffset+c;if(r.getEndOfLineSequence()===1){const b=t.value,C=new mx(b),w=C.getPosition(n.startOffset),v=C.getPosition(n.endOffset);d+=w.lineNumber-1,h+=v.lineNumber-1}const f=r.getPositionAt(d),g=r.getPositionAt(h),p=i==="forward"?f:g,_=i==="forward"?g:f;return le.fromPositions(p,_)}};TA=nge([sge(3,bn)],TA);var oge=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},qU=function(o,e){return function(t,i){e(t,i,o)}};let RA=class extends P{constructor(e,t,i,n,s){super(),this._domNode=e,this._context=t,this._viewController=i,this._keybindingService=n,this._accessibilityService=s,this._contentLeft=1,this._contentWidth=1,this._contentHeight=1,this._divWidth=1,this._primarySelection=new le(1,1,1,1),this._primaryCursorVisibleRange=null,this._state=this._register(new rt),this._instantiateScreenReaderContent(),this._updateConfigurationSettings(),this._updateDomAttributes()}onWillPaste(){this._state.value?.onWillPaste()}onWillCut(){this._state.value?.onWillCut()}handleFocusChange(e){this._state.value?.onFocusChange(e),this.writeScreenReaderContent()}onConfigurationChanged(e){this._instantiateScreenReaderContent(),this._updateConfigurationSettings(),this._updateDomAttributes(),e.hasChanged(2)&&this.writeScreenReaderContent()}_instantiateScreenReaderContent(){const e=this._context.configuration.options.get(107);this._renderRichContent!==e&&(this._renderRichContent=e,this._state.value=this._createScreenReaderContent(e))}_createScreenReaderContent(e){return e?new EA(this._domNode,this._context,this._viewController,this._accessibilityService):new TA(this._domNode,this._context,this._viewController,this._accessibilityService)}_updateConfigurationSettings(){const e=this._context.configuration.options,t=e.get(165),i=t.wrappingColumn;this._contentLeft=t.contentLeft,this._contentWidth=t.contentWidth,this._contentHeight=t.height,this._fontInfo=e.get(59),this._divWidth=Math.round(i*this._fontInfo.typicalHalfwidthCharacterWidth),this._state.value?.onConfigurationChanged(e)}_updateDomAttributes(){const e=this._context.configuration.options;this._domNode.domNode.setAttribute("role","textbox"),this._domNode.domNode.setAttribute("aria-required",e.get(9)?"true":"false"),this._domNode.domNode.setAttribute("aria-multiline","true"),this._domNode.domNode.setAttribute("aria-autocomplete",e.get(104)?"none":"both"),this._domNode.domNode.setAttribute("aria-roledescription",m(60,"editor")),this._domNode.domNode.setAttribute("aria-label",LA(e,this._keybindingService));const t=this._context.viewModel.model.getOptions().tabSize,i=e.get(59).spaceWidth;this._domNode.domNode.style.tabSize=`${t*i}px`;const n=e.get(154),s=n==="inherit"?e.get(153):n,r=s==="inherit"?e.get(149):s;this._domNode.domNode.style.textWrap=r==="off"?"nowrap":"wrap"}onCursorStateChanged(e){this._primarySelection=e.selections[0]??new le(1,1,1,1)}prepareRender(e){this.writeScreenReaderContent(),this._primaryCursorVisibleRange=e.visibleRangeForPosition(this._primarySelection.getPosition())}render(e){if(!this._primaryCursorVisibleRange){this._renderAtTopLeft();return}const t=this._context.viewLayout.getCurrentScrollLeft(),i=this._contentLeft+this._primaryCursorVisibleRange.left-t;if(i<this._contentLeft||i>this._contentLeft+this._contentWidth){this._renderAtTopLeft();return}const n=this._context.viewLayout.getCurrentScrollTop(),s=this._primarySelection.positionLineNumber,r=this._context.viewLayout.getVerticalOffsetForLineNumber(s)-n;if(r<0||r>this._contentHeight){this._renderAtTopLeft();return}const a=this._context.viewLayout.getLineHeightForLineNumber(s);this._doRender(r,this._contentLeft,this._divWidth,a),this._state.value?.updateScrollTop(this._primarySelection)}_renderAtTopLeft(){this._doRender(0,0,this._contentWidth,1)}_doRender(e,t,i,n){un(this._domNode,this._fontInfo),this._domNode.setTop(e),this._domNode.setLeft(t),this._domNode.setWidth(i),this._domNode.setHeight(n),this._domNode.setLineHeight(n)}setAriaOptions(e){e.activeDescendant?(this._domNode.setAttribute("aria-haspopup","true"),this._domNode.setAttribute("aria-autocomplete","list"),this._domNode.setAttribute("aria-activedescendant",e.activeDescendant)):(this._domNode.setAttribute("aria-haspopup","false"),this._domNode.setAttribute("aria-autocomplete","both"),this._domNode.removeAttribute("aria-activedescendant")),e.role&&this._domNode.
Line truncated
|
||||
`,replacePrevCharCnt:0,replaceNextCharCnt:0,positionDelta:0})})),this._register(W(this.domNode.domNode,"paste",h=>{if(this.logService.trace("NativeEditContext#paste"),h.preventDefault(),!h.clipboardData)return;let[u,f]=Wf.getTextData(h.clipboardData);if(this.logService.trace("NativeEditContext#paste with id : ",f?.id," with text.length: ",u.length),!u)return;f=f||Sl.INSTANCE.get(u);let g=!1,p=null,_=null;f&&(g=this._context.configuration.options.get(45)&&!!f.isFromEmptySelection,p=typeof f.multicursorText<"u"?f.multicursorText:null,_=f.mode),this.logService.trace("NativeEditContext#paste (before viewController.paste)"),this._viewController.paste(u,g,p,_)})),this._register(y1(this._editContext,"textformatupdate",h=>this._handleTextFormatUpdate(h))),this._register(y1(this._editContext,"characterboundsupdate",h=>this._updateCharacterBounds(h)));let c;this._register(y1(this._editContext,"textupdate",h=>{const u=h.text;if(u.length===1){const f=u.charCodeAt(0);if(zi(f)){c=u;return}if(ah(f)&&c){const g={text:c+u,selectionEnd:h.selectionEnd,selectionStart:h.selectionStart,updateRangeStart:h.updateRangeStart-1,updateRangeEnd:h.updateRangeEnd-1};c=void 0,this._emitTypeEvent(this._viewController,g);return}}this._emitTypeEvent(this._viewController,h)})),this._register(y1(this._editContext,"compositionstart",h=>{this._updateEditContext(),this._viewController.compositionStart(),this._context.viewModel.onCompositionStart()})),this._register(y1(this._editContext,"compositionend",h=>{this._updateEditContext(),this._viewController.compositionEnd(),this._context.viewModel.onCompositionEnd()}));let d=!1;this._register(xl.onDidChange(()=>{xl.enabled&&d&&(this._focusTracker.resume(),this.domNode.focus(),d=!1),!xl.enabled&&this.isFocused()&&(this._focusTracker.pause(),this._imeTextArea.focus(),d=!0)})),this._register(AA.register(e,this))}dispose(){this.domNode.domNode.editContext=void 0,this.domNode.domNode.blur(),this.domNode.domNode.remove(),this._imeTextArea.domNode.remove(),super.dispose()}setAriaOptions(e){this._screenReaderSupport.setAriaOptions(e)}getLastRenderData(){return this._primarySelection.getPosition()}prepareRender(e){this._screenReaderSupport.prepareRender(e),this._updateSelectionAndControlBoundsData(e)}onDidRender(){this._updateSelectionAndControlBoundsAfterRender()}render(e){this._screenReaderSupport.render(e)}onCursorStateChanged(e){return this._primarySelection=e.modelSelections[0]??new le(1,1,1,1),this._screenReaderSupport.onCursorStateChanged(e),this._updateEditContext(),!0}onConfigurationChanged(e){return this._screenReaderSupport.onConfigurationChanged(e),this._updateDomAttributes(),!0}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLinesChanged(e){return this._updateEditContextOnLineChange(e.fromLineNumber,e.fromLineNumber+e.count-1),!0}onLinesDeleted(e){return this._updateEditContextOnLineChange(e.fromLineNumber,e.toLineNumber),!0}onLinesInserted(e){return this._updateEditContextOnLineChange(e.fromLineNumber,e.toLineNumber),!0}_updateEditContextOnLineChange(e,t){this._editContextPrimarySelection.endLineNumber<e||this._editContextPrimarySelection.startLineNumber>t||this._updateEditContext()}onScrollChanged(e){return this._scrollLeft=e.scrollLeft,this._scrollTop=e.scrollTop,!0}onZonesChanged(e){return!0}onWillPaste(){this.logService.trace("NativeEditContext#onWillPaste"),this._onWillPaste()}_onWillPaste(){this._screenReaderSupport.onWillPaste()}onWillCopy(){this.logService.trace("NativeEditContext#onWillCopy"),this.logService.trace("NativeEditContext#isFocused : ",this.domNode.domNode===$i())}writeScreenReaderContent(){this._screenReaderSupport.writeScreenReaderContent()}isFocused(){return this._focusTracker.isFocused}focus(){this._focusTracker.focus(),this.refreshFocusState()}refreshFocusState(){this._focusTracker.refreshFocusState()}setEditContextOnDomNode(){const e=me(this.domNode.domNode),t=kv(e);this._targetWindowId!==t&&(this.domNode.domNode.editContext=this._editContext,this._targetWindowId=t)}_onKeyUp(e){this._viewController.emitKeyUp(new yt(e))}_onKeyDown(e){const t=new yt(e);t.keyCode===114&&t.stopPropagation(),this._viewController.emitKeyDown(t)}_updateDomAttributes(){const e=this._context.configuration.options;this.domNode.domNode.setAttribute("tabindex",String(e.get(140)))}_updateEditContext(){const e=this._getNewEditContextState();e&&(this._editContext.updateText(0,Number.MAX_SAFE_INTEGER,e.text??" "),this._editContext.updateSelection(e.selectionStartOffset,e.selectionEndOffset),this._editContextPrimarySelection=e.editContextPrimarySelection,this._previousEditContextSelection=new ge(e.selectionStartOffset,e.selectionEndOffset))}_emitTypeEvent(e,t){if(!this._editContext)return;const i=this._previousEditContextSelection.endExclusive,n=this._previousEditContextSelection.start;this._previousEditContextSelection=new ge(t.selectionStart,t.selectionEnd);let s=0,r=0;t.updateRangeEnd>i&&(s=t.updateRangeEnd-i),t.updateRangeStart<n&&(r=n-t.updateRangeStart);let a="";n<t.updateRangeStart&&(a+=
Line truncated
|
||||
`):r.text,l),e.preventDefault(),e.clipboardData&&Wf.setTextData(e.clipboardData,r.text,r.html,l),this.logService.trace("NativeEditContext#_ensureClipboardGetsEditorSelectios with id : ",a," with text.length: ",r.text.length)}};Cx=age([KU(5,pe),KU(6,Mt)],Cx);class lge extends ys{constructor(e,t){super(e),this._viewGpuContext=t,this._gpuShapes=[],this._register(Se(i=>this._updateEntries(i)))}onConfigurationChanged(e){return this._updateEntries(void 0),!0}prepareRender(e){}render(e){}_updateEntries(e){const t=this._context.configuration.options,i=t.get(116),n=t.get(59).typicalHalfwidthCharacterWidth,s=this._viewGpuContext.devicePixelRatio.read(e);for(let r=0,a=i.length;r<a;r++){const l=i[r],c=this._gpuShapes[r],d=l.color?z.fromHex(l.color):this._context.theme.getColor(jhe)??z.white,h=[l.column*n*s,0,Math.max(1,Math.ceil(s)),Number.MAX_SAFE_INTEGER,d.rgba.r/255,d.rgba.g/255,d.rgba.b/255,d.rgba.a];c?c.setRaw(h):this._gpuShapes[r]=this._viewGpuContext.rectangleRenderer.register(...h)}for(;this._gpuShapes.length>i.length;)this._gpuShapes.splice(-1,1)[0].dispose()}}const NN=class NN extends Eh{constructor(e,t){super(),this._viewGpuContext=t,this._context=e,this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(e){return!0}onCursorStateChanged(e){return!0}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollTopChanged}onZonesChanged(e){return!0}onDecorationsChanged(e){return!0}prepareRender(e){const t=e.visibleRange.startLineNumber,i=e.visibleRange.endLineNumber,n=e.viewportData,s=new sx(this._context.configuration,this._context.theme.type),r=[];for(let a=t;a<=i;a++){const l=a-t,c=this._viewGpuContext.canRenderDetailed(s,n,a);r[l]=c.length?`<div class="${NN.CLASS_NAME}" title="Cannot render on GPU: ${c.join(", ")}"></div>`:""}this._renderResult=r}render(e,t){if(!this._renderResult)return"";const i=t-e;return i<0||i>=this._renderResult.length?"":this._renderResult[i]}};NN.CLASS_NAME="gpu-mark";let PA=NN;var cge=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},dge=function(o,e){return function(t,i){e(t,i,o)}};let OA=class extends Pf{constructor(e,t,i,n,s,r,a,l,c){super(),this._instantiationService=c,this._shouldRecomputeGlyphMarginLanes=!1,this._ownerID=t,this._widgetFocusTracker=this._register(new hge(e,l)),this._register(this._widgetFocusTracker.onChange(()=>{this._context.viewModel.setHasWidgetFocus(this._widgetFocusTracker.hasFocus())})),this._selections=[new le(1,1,1,1)],this._renderAnimationFrame=null,this._overflowGuardContainer=ct(document.createElement("div")),Aa.write(this._overflowGuardContainer,3),this._overflowGuardContainer.setClassName("overflow-guard"),this._viewController=new Che(n,r,a,i),this._context=new cfe(n,s,r),this._context.addEventHandler(this),this._viewParts=[],this._editContextEnabled=this._context.configuration.options.get(170),this._accessibilitySupport=this._context.configuration.options.get(2),this._editContext=this._instantiateEditContext(),this._viewParts.push(this._editContext),this._linesContent=ct(document.createElement("div")),this._linesContent.setClassName("lines-content monaco-editor-background"),this._linesContent.setPosition("absolute"),this.domNode=ct(document.createElement("div")),this.domNode.setClassName(this._getEditorClassName()),this.domNode.setAttribute("role","code"),this._context.configuration.options.get(46)==="on"&&(this._viewGpuContext=this._instantiationService.createInstance(ds,this._context)),this._scrollbar=new mue(this._context,this._linesContent,this.domNode,this._overflowGuardContainer),this._viewParts.push(this._scrollbar),this._viewLines=new rA(this._context,this._viewGpuContext,this._linesContent),this._viewGpuContext&&(this._viewLinesGpu=this._instantiationService.createInstance(yA,this._context,this._viewGpuContext)),this._viewZones=new sfe(this._context),this._viewParts.push(this._viewZones);const d=new Zue(this._context);this._viewParts.push(d);const h=new Jue(this._context);this._viewParts.push(h);const u=new whe(this._context);this._viewParts.push(u),u.addDynamicOverlay(new fue(this._context)),u.addDynamicOverlay(new mA(this._context)),u.addDynamicOverlay(new Due(this._context)),u.addDynamicOverlay(new pue(this._context)),u.addDynamicOverlay(new rfe(this._context));const f=new She(this._context);this._viewParts.push(f),f.addDynamicOverlay(new gue(this._context)),f.addDynamicOverlay(new Mue(this._context)),f.addDynamicOverlay(new Rue(this._context)),f.addDynamicOverlay(new nx(this._context)),this._viewGpuContext&&f.addDynamicOverlay(new PA(this._context,this._viewGpuContext)),thiLine truncated
|
||||
`,"gi"):null,s=[];let r,a=0,l=0,c=0,d=0;const h=[];for(let g=0;g<60;g++)h.push(new Ah(Ri(0,g),0,-1,Co.getEmpty(),new Zf(Ri(0,g))));const u=[];for(let g=0;g<60;g++)u.push(new Ah(Ri(1,g),0,-1,Co.getEmpty(),new Zf(Ri(1,g))));if(n)for(n.lastIndex=0;(r=n.exec(e))!==null;){const g=r.index,p=r[0];if(p===`
|
||||
`)a++,l=g+1;else{if(c!==g){let _;if(d===a){const b=g-c;if(b<h.length)_=h[b];else{const C=Ri(0,b);_=new Ah(C,0,-1,Co.getEmpty(),new Zf(C))}}else{const b=a-d,C=g-l;if(b===1&&C<u.length)_=u[C];else{const w=Ri(b,C);_=new Ah(w,0,-1,Co.getEmpty(),new Zf(w))}}s.push(_)}s.push(t.getToken(p)),c=g+p.length,d=a}}const f=e.length;if(c!==f){const g=d===a?Ri(0,f-c):Ri(a-d,f-l);s.push(new Ah(g,0,-1,Co.getEmpty(),new Zf(g)))}this.length=Ri(a,f-l),this.tokens=s}get offset(){return this._offset}read(){return this.tokens[this.idx++]||null}peek(){return this.tokens[this.idx]||null}skip(e){throw new yie}}class $A{static createFromLanguage(e,t){function i(s){return t.getKey(`${s.languageId}:::${s.bracketText}`)}const n=new Map;for(const s of e.bracketsNew.openingBrackets){const r=Ri(0,s.bracketText.length),a=i(s),l=Co.getEmpty().add(a,n$);n.set(s.bracketText,new Ah(r,1,a,l,Lx.create(r,s,l)))}for(const s of e.bracketsNew.closingBrackets){const r=Ri(0,s.bracketText.length);let a=Co.getEmpty();const l=s.getOpeningBrackets();for(const c of l)a=a.add(i(c),n$);n.set(s.bracketText,new Ah(r,2,i(l[0]),a,Lx.create(r,s,a)))}return new $A(n)}constructor(e){this.map=e,this.hasRegExp=!1,this._regExpGlobal=null}getRegExpStr(){if(this.isEmpty)return null;{const e=[...this.map.keys()];return e.sort(),e.reverse(),e.map(t=>Oge(t)).join("|")}}get regExpGlobal(){if(!this.hasRegExp){const e=this.getRegExpStr();this._regExpGlobal=e?new RegExp(e,"gi"):null,this.hasRegExp=!0}return this._regExpGlobal}getToken(e){return this.map.get(e.toLowerCase())}findClosingTokenText(e){for(const[t,i]of this.map)if(i.kind===2&&i.bracketIds.intersects(e))return t}get isEmpty(){return this.map.size===0}}function Oge(o){let e=ao(o);return/^[\w ]+/.test(o)&&(e=`\\b${e}`),/[\w ]+$/.test(o)&&(e=`${e}\\b`),e}class r${constructor(e,t){this.denseKeyProvider=e,this.getLanguageConfiguration=t,this.languageIdToBracketTokens=new Map}didLanguageChange(e){return this.languageIdToBracketTokens.has(e)}getSingleLanguageBracketTokens(e){let t=this.languageIdToBracketTokens.get(e);return t||(t=$A.createFromLanguage(this.getLanguageConfiguration(e),this.denseKeyProvider),this.languageIdToBracketTokens.set(e,t)),t}}function Fge(o){if(o.length===0)return null;if(o.length===1)return o[0];let e=0;function t(){if(e>=o.length)return null;const r=e,a=o[r].listHeight;for(e++;e<o.length&&o[e].listHeight===a;)e++;return e-r>=2?a$(r===0&&e===o.length?o:o.slice(r,e),!1):o[r]}let i=t(),n=t();if(!n)return i;for(let r=t();r;r=t())l$(i,n)<=l$(n,r)?(i=jA(i,n),n=r):n=jA(n,r);return jA(i,n)}function a$(o,e=!1){if(o.length===0)return null;if(o.length===1)return o[0];let t=o.length;for(;t>3;){const i=t>>1;for(let n=0;n<i;n++){const s=n<<1;o[n]=kl.create23(o[s],o[s+1],s+3===t?o[s+2]:null,e)}t=i}return kl.create23(o[0],o[1],t>=3?o[2]:null,e)}function l$(o,e){return Math.abs(o.listHeight-e.listHeight)}function jA(o,e){return o.listHeight===e.listHeight?kl.create23(o,e,null,!1):o.listHeight>e.listHeight?Wge(o,e):Bge(e,o)}function Wge(o,e){o=o.toMutable();let t=o;const i=[];let n;for(;;){if(e.listHeight===t.listHeight){n=e;break}if(t.kind!==4)throw new Error("unexpected");i.push(t),t=t.makeLastElementMutable()}for(let s=i.length-1;s>=0;s--){const r=i[s];n?r.childrenLength>=3?n=kl.create23(r.unappendChild(),n,null,!1):(r.appendChildOfSameHeight(n),n=void 0):r.handleChildrenChanged()}return n?kl.create23(o,n,null,!1):o}function Bge(o,e){o=o.toMutable();let t=o;const i=[];for(;e.listHeight!==t.listHeight;){if(t.kind!==4)throw new Error("unexpected");i.push(t),t=t.makeFirstElementMutable()}let n=e;for(let s=i.length-1;s>=0;s--){const r=i[s];n?r.childrenLength>=3?n=kl.create23(n,r.unprependChild(),null,!1):(r.prependChildOfSameHeight(n),n=void 0):r.handleChildrenChanged()}return n?kl.create23(n,o,null,!1):o}class Hge{constructor(e){this.lastOffset=ks,this.nextNodes=[e],this.offsets=[ks],this.idxs=[]}readLongestNodeAt(e,t){if(O_(e,this.lastOffset))throw new Error("Invalid offset");for(this.lastOffset=e;;){const i=R1(this.nextNodes);if(!i)return;const n=R1(this.offsets);if(O_(e,n))return;if(O_(n,e))if(fi(n,i.length)<=e)this.nextNodeAfterCurrent();else{const s=qA(i);s!==-1?(this.nextNodes.push(i.getChild(s)),this.offsets.push(n),this.idxs.push(s)):this.nextNodeAfterCurrent()}else{if(t(i))return this.nextNodeAfterCurrent(),i;{const s=qA(i);if(s===-1){this.nextNodeAfterCurrent();return}else this.nextNodes.push(i.getChild(s)),this.offsets.push(n),this.idxs.push(s)}}}}nextNodeAfterCurrent(){for(;;){const e=R1(this.offsets),t=R1(this.nextNodes);if(this.nextNodes.pop(),this.offsets.pop(),this.idxs.length===0)break;const i=R1(this.nextNodes),n=qA(i,this.idxs[this.idxs.length-1]);if(n!==-1){this.nextNodes.push(i.getChild(n)),this.offsets.push(fi(e,t.length)),this.idxs[this.idxs.length-1]=n;break}else this.idxs.pop()}}}function qA(o,e=-1){for(;;){if(e++,e>=o.childrenLength)return-1;if(o.getChild(e))return e}}function R1(o){return o.length>0?o[o.length-1]:void 0}function KA(o,e,t,i){return new Vge(o,e,t,i).parseDocument()}class Vg
Line truncated
|
||||
`?0:1}function ed(o){return o?o instanceof m$||o instanceof Zge:!1}class QA{constructor(e,t){this._model=e,this._undoRedoService=t}pushStackElement(){const e=this._undoRedoService.getLastElement(this._model.uri);ed(e)&&e.close()}popStackElement(){const e=this._undoRedoService.getLastElement(this._model.uri);ed(e)&&e.open()}clear(){this._undoRedoService.removeElements(this._model.uri)}_getOrCreateEditStackElement(e,t){const i=this._undoRedoService.getLastElement(this._model.uri);if(ed(i)&&i.canAppend(this._model))return i;const n=new m$(m(785,"Typing"),"undoredo.textBufferEdit",this._model,e);return this._undoRedoService.pushElement(n,t),n}pushEOL(e){const t=this._getOrCreateEditStackElement(null,void 0);this._model.setEOL(e),t.append(this._model,[],XA(this._model),this._model.getAlternativeVersionId(),null)}pushEditOperation(e,t,i,n,s=Kn.unknown({name:"pushEditOperation"})){const r=this._getOrCreateEditStackElement(e,n),a=this._model.applyEdits(t,!0,s),l=QA._computeCursorState(i,a),c=a.map((d,h)=>({index:h,textChange:d.textChange}));return c.sort((d,h)=>d.textChange.oldPosition===h.textChange.oldPosition?d.index-h.index:d.textChange.oldPosition-h.textChange.oldPosition),r.append(this._model,c.map(d=>d.textChange),XA(this._model),this._model.getAlternativeVersionId(),l),l}static _computeCursorState(e,t){try{return e?e(t):null}catch(i){return De(i),null}}}class Yge{constructor(){this.spacesDiff=0,this.looksLikeAlignment=!1}}function Xge(o,e,t,i,n){n.spacesDiff=0,n.looksLikeAlignment=!1;let s;for(s=0;s<e&&s<i;s++){const u=o.charCodeAt(s),f=t.charCodeAt(s);if(u!==f)break}let r=0,a=0;for(let u=s;u<e;u++)o.charCodeAt(u)===32?r++:a++;let l=0,c=0;for(let u=s;u<i;u++)t.charCodeAt(u)===32?l++:c++;if(r>0&&a>0||l>0&&c>0)return;const d=Math.abs(a-c),h=Math.abs(r-l);if(d===0){n.spacesDiff=h,h>0&&0<=l-1&&l-1<o.length&&l<t.length&&t.charCodeAt(l)!==32&&o.charCodeAt(l-1)===32&&o.charCodeAt(o.length-1)===44&&(n.looksLikeAlignment=!0);return}if(h%d===0){n.spacesDiff=h/d;return}}function _$(o,e,t){const i=Math.min(o.getLineCount(),1e4);let n=0,s=0,r="",a=0;const l=[2,4,6,8,3,5,7],c=8,d=[0,0,0,0,0,0,0,0,0],h=new Yge;for(let g=1;g<=i;g++){const p=o.getLineLength(g),_=o.getLineContent(g),b=p<=65536;let C=!1,w=0,v=0,S=0;for(let x=0,I=p;x<I;x++){const D=b?_.charCodeAt(x):o.getLineCharCode(g,x);if(D===9)S++;else if(D===32)v++;else{C=!0,w=x;break}}if(!C||(S>0?n++:v>1&&s++,Xge(r,a,_,w,h),h.looksLikeAlignment&&!(t&&e===h.spacesDiff)))continue;const L=h.spacesDiff;L<=c&&d[L]++,r=_,a=w}let u=t;n!==s&&(u=n<s);let f=e;if(u){let g=u?0:.1*i;l.forEach(p=>{const _=d[p];_>g&&(g=_,f=p)}),f===4&&d[4]>0&&d[2]>0&&d[2]>=d[4]/2&&(f=2)}return{insertSpaces:u,tabSize:f}}function Xs(o){return(o.metadata&1)>>>0}function qt(o,e){o.metadata=o.metadata&254|e<<0}function Mn(o){return(o.metadata&2)>>>1===1}function Wt(o,e){o.metadata=o.metadata&253|(e?1:0)<<1}function b$(o){return(o.metadata&4)>>>2===1}function C$(o,e){o.metadata=o.metadata&251|(e?1:0)<<2}function v$(o){return(o.metadata&64)>>>6===1}function w$(o,e){o.metadata=o.metadata&191|(e?1:0)<<6}function S$(o){return(o.metadata&128)>>>7===1}function y$(o,e){o.metadata=o.metadata&127|(e?1:0)<<7}function Qge(o){return(o.metadata&24)>>>3}function L$(o,e){o.metadata=o.metadata&231|e<<3}function Jge(o){return(o.metadata&32)>>>5===1}function x$(o,e){o.metadata=o.metadata&223|(e?1:0)<<5}class k${constructor(e,t,i){this.metadata=0,this.parent=this,this.left=this,this.right=this,qt(this,1),this.start=t,this.end=i,this.delta=0,this.maxEnd=i,this.id=e,this.ownerId=0,this.options=null,C$(this,!1),w$(this,!1),L$(this,1),x$(this,!1),y$(this,!1),this.cachedVersionId=0,this.cachedAbsoluteStart=t,this.cachedAbsoluteEnd=i,this.range=null,Wt(this,!1)}reset(e,t,i,n){this.start=t,this.end=i,this.maxEnd=i,this.cachedVersionId=e,this.cachedAbsoluteStart=t,this.cachedAbsoluteEnd=i,this.range=n}setOptions(e){this.options=e;const t=this.options.className;C$(this,t==="squiggly-error"||t==="squiggly-warning"||t==="squiggly-info"),w$(this,this.options.glyphMarginClassName!==null),L$(this,this.options.stickiness),x$(this,this.options.collapseOnReplaceEdit),y$(this,this.options.affectsFont??!1)}setCachedOffsets(e,t,i){this.cachedVersionId!==i&&(this.range=null),this.cachedVersionId=i,this.cachedAbsoluteStart=e,this.cachedAbsoluteEnd=t}detach(){this.parent=null,this.left=null,this.right=null}}const qe=new k$(null,0,0);qe.parent=qe,qe.left=qe,qe.right=qe,qt(qe,0);class JA{constructor(){this.root=qe,this.requestNormalizeDelta=!1}intervalSearch(e,t,i,n,s,r,a){return this.root===qe?[]:ape(this,e,t,i,n,s,r,a)}search(e,t,i,n,s){return this.root===qe?[]:rpe(this,e,t,i,n,s)}collectNodesFromOwner(e){return spe(this,e)}collectNodesPostOrder(){return ope(this)}insert(e){I$(this,e),this._normalizeDeltaIfNecessary()}delete(e){D$(this,e),this._normalizeDeltaIfNecessary()}resolveNode(e,t){const i=e;let n=0;for(;e!==this.root;)e===e.parent.right&&(n+=e.parent.delta),e=e.parent;const s=i.start+n,r=i.end+n;i.setCachedOffsets(s,r,t)}acceptReplace(e,t,i
Line truncated
|
||||
`)>=0;let t=null;try{t=y6(this.searchString,this.isRegex,{matchCase:this.matchCase,wholeWord:!1,multiline:e,global:!0,unicode:!0})}catch{return null}if(!t)return null;let i=!this.isRegex&&!e;return i&&this.searchString.toLowerCase()!==this.searchString.toUpperCase()&&(i=this.matchCase),new ure(t,this.wordSeparators?Lr(this.wordSeparators,[]):null,i?this.searchString:null)}}function R$(o){if(!o||o.length===0)return!1;for(let e=0,t=o.length;e<t;e++){const i=o.charCodeAt(e);if(i===10)return!0;if(i===92){if(e++,e>=t)break;const n=o.charCodeAt(e);if(n===110||n===114||n===87)return!0}}return!1}function Xf(o,e,t){if(!t)return new Fv(o,null);const i=[];for(let n=0,s=e.length;n<s;n++)i[n]=e[n];return new Fv(o,i)}class M${constructor(e){const t=[];let i=0;for(let n=0,s=e.length;n<s;n++)e.charCodeAt(n)===10&&(t[i++]=n);this._lineFeedsOffsets=t}findLineFeedCountBeforeOffset(e){const t=this._lineFeedsOffsets;let i=0,n=t.length-1;if(n===-1||e<=t[0])return 0;for(;i<n;){const s=i+((n-i)/2>>0);t[s]>=e?n=s-1:t[s+1]>=e?(i=s,n=s):i=s+1}return i+1}}class Nx{static findMatches(e,t,i,n,s){const r=t.parseSearchRequest();return r?r.regex.multiline?this._doFindMatchesMultiline(e,i,new V_(r.wordSeparators,r.regex),n,s):this._doFindMatchesLineByLine(e,i,r,n,s):[]}static _getMultilineMatchRange(e,t,i,n,s,r){let a,l=0;n?(l=n.findLineFeedCountBeforeOffset(s),a=t+s+l):a=t+s;let c;if(n){const f=n.findLineFeedCountBeforeOffset(s+r.length)-l;c=a+r.length+f}else c=a+r.length;const d=e.getPositionAt(a),h=e.getPositionAt(c);return new k(d.lineNumber,d.column,h.lineNumber,h.column)}static _doFindMatchesMultiline(e,t,i,n,s){const r=e.getOffsetAt(t.getStartPosition()),a=e.getValueInRange(t,1),l=e.getEOL()===`\r
|
||||
`?new M$(a):null,c=[];let d=0,h;for(i.reset(0);h=i.next(a);)if(c[d++]=Xf(this._getMultilineMatchRange(e,r,a,l,h.index,h[0]),h,n),d>=s)return c;return c}static _doFindMatchesLineByLine(e,t,i,n,s){const r=[];let a=0;if(t.startLineNumber===t.endLineNumber){const c=e.getLineContent(t.startLineNumber).substring(t.startColumn-1,t.endColumn-1);return a=this._findMatchesInLine(i,c,t.startLineNumber,t.startColumn-1,a,r,n,s),r}const l=e.getLineContent(t.startLineNumber).substring(t.startColumn-1);a=this._findMatchesInLine(i,l,t.startLineNumber,t.startColumn-1,a,r,n,s);for(let c=t.startLineNumber+1;c<t.endLineNumber&&a<s;c++)a=this._findMatchesInLine(i,e.getLineContent(c),c,0,a,r,n,s);if(a<s){const c=e.getLineContent(t.endLineNumber).substring(0,t.endColumn-1);a=this._findMatchesInLine(i,c,t.endLineNumber,0,a,r,n,s)}return r}static _findMatchesInLine(e,t,i,n,s,r,a,l){const c=e.wordSeparators;if(!a&&e.simpleSearch){const u=e.simpleSearch,f=u.length,g=t.length;let p=-f;for(;(p=t.indexOf(u,p+f))!==-1;)if((!c||rP(c,t,g,p,f))&&(r[s++]=new Fv(new k(i,p+1+n,i,p+1+f+n),null),s>=l))return s;return s}const d=new V_(e.wordSeparators,e.regex);let h;d.reset(0);do if(h=d.next(t),h&&(r[s++]=Xf(new k(i,h.index+1+n,i,h.index+1+h[0].length+n),h,a),s>=l))return s;while(h);return s}static findNextMatch(e,t,i,n){const s=t.parseSearchRequest();if(!s)return null;const r=new V_(s.wordSeparators,s.regex);return s.regex.multiline?this._doFindNextMatchMultiline(e,i,r,n):this._doFindNextMatchLineByLine(e,i,r,n)}static _doFindNextMatchMultiline(e,t,i,n){const s=new M(t.lineNumber,1),r=e.getOffsetAt(s),a=e.getLineCount(),l=e.getValueInRange(new k(s.lineNumber,s.column,a,e.getLineMaxColumn(a)),1),c=e.getEOL()===`\r
|
||||
`?new M$(l):null;i.reset(t.column-1);const d=i.next(l);return d?Xf(this._getMultilineMatchRange(e,r,l,c,d.index,d[0]),d,n):t.lineNumber!==1||t.column!==1?this._doFindNextMatchMultiline(e,new M(1,1),i,n):null}static _doFindNextMatchLineByLine(e,t,i,n){const s=e.getLineCount(),r=t.lineNumber,a=e.getLineContent(r),l=this._findFirstMatchInLine(i,a,r,t.column,n);if(l)return l;for(let c=1;c<=s;c++){const d=(r+c-1)%s,h=e.getLineContent(d+1),u=this._findFirstMatchInLine(i,h,d+1,1,n);if(u)return u}return null}static _findFirstMatchInLine(e,t,i,n,s){e.reset(n-1);const r=e.next(t);return r?Xf(new k(i,r.index+1,i,r.index+1+r[0].length),r,s):null}static findPreviousMatch(e,t,i,n){const s=t.parseSearchRequest();if(!s)return null;const r=new V_(s.wordSeparators,s.regex);return s.regex.multiline?this._doFindPreviousMatchMultiline(e,i,r,n):this._doFindPreviousMatchLineByLine(e,i,r,n)}static _doFindPreviousMatchMultiline(e,t,i,n){const s=this._doFindMatchesMultiline(e,new k(1,1,t.lineNumber,t.column),i,n,10*hpe);if(s.length>0)return s[s.length-1];const r=e.getLineCount();return t.lineNumber!==r||t.column!==e.getLineMaxColumn(r)?this._doFindPreviousMatchMultiline(e,new M(r,e.getLineMaxColumn(r)),i,n):null}static _doFindPreviousMatchLineByLine(e,t,i,n){const s=e.getLineCount(),r=t.lineNumber,a=e.getLineContent(r).substring(0,t.column-1),l=this._findLastMatchInLine(i,a,r,n);if(l)return l;for(let c=1;c<=s;c++){const d=(s+r-c-1)%s,h=e.getLineContent(d+1),u=this._findLastMatchInLine(i,h,d+1,n);if(u)return u}return null}static _findLastMatchInLine(e,t,i,n){let s=null,r;for(e.reset(0);r=e.next(t);)s=Xf(new k(i,r.index+1,i,r.index+1+r[0].length),r,n);return s}}function upe(o,e,t,i,n){if(i===0)return!0;const s=e.charCodeAt(i-1);if(o.get(s)!==0||s===13||s===10)return!0;if(n>0){const r=e.charCodeAt(i);if(o.get(r)!==0)return!0}return!1}function fpe(o,e,t,i,n){if(i+n===t)return!0;const s=e.charCodeAt(i+n);if(o.get(s)!==0||s===13||s===10)return!0;if(n>0){const r=e.charCodeAt(i+n-1);if(o.get(r)!==0)return!0}return!1}function rP(o,e,t,i,n){return upe(o,e,t,i,n)&&fpe(o,e,t,i,n)}class V_{constructor(e,t){this._wordSeparators=e,this._searchRegex=t,this._prevMatchStartIndex=-1,this._prevMatchLength=0}reset(e){this._searchRegex.lastIndex=e,this._prevMatchStartIndex=-1,this._prevMatchLength=0}next(e){const t=e.length;let i;do{if(this._prevMatchStartIndex+this._prevMatchLength===t||(i=this._searchRegex.exec(e),!i))return null;const n=i.index,s=i[0].length;if(n===this._prevMatchStartIndex&&s===this._prevMatchLength){if(s===0){hy(e,t,this._searchRegex.lastIndex)>65535?this._searchRegex.lastIndex+=2:this._searchRegex.lastIndex+=1;continue}return null}if(this._prevMatchStartIndex=n,this._prevMatchLength=s,!this._wordSeparators||rP(this._wordSeparators,e,t,n,s))return i}while(i);return null}}const id=65535;function A$(o){let e;return o[o.length-1]<65536?e=new Uint16Array(o.length):e=new Uint32Array(o.length),e.set(o,0),e}class gpe{constructor(e,t,i,n,s){this.lineStarts=e,this.cr=t,this.lf=i,this.crlf=n,this.isBasicASCII=s}}function nd(o,e=!0){const t=[0];let i=1;for(let n=0,s=o.length;n<s;n++){const r=o.charCodeAt(n);r===13?n+1<s&&o.charCodeAt(n+1)===10?(t[i++]=n+2,n++):t[i++]=n+1:r===10&&(t[i++]=n+1)}return e?A$(t):t}function ppe(o,e){o.length=0,o[0]=0;let t=1,i=0,n=0,s=0,r=!0;for(let l=0,c=e.length;l<c;l++){const d=e.charCodeAt(l);d===13?l+1<c&&e.charCodeAt(l+1)===10?(s++,o[t++]=l+2,l++):(i++,o[t++]=l+1):d===10?(n++,o[t++]=l+1):r&&d!==9&&(d<32||d>126)&&(r=!1)}const a=new gpe(A$(o),i,n,s,r);return o.length=0,a}class vo{constructor(e,t,i,n,s){this.bufferIndex=e,this.start=t,this.end=i,this.lineFeedCnt=n,this.length=s}}class Qf{constructor(e,t){this.buffer=e,this.lineStarts=t}}class mpe{constructor(e,t){this._pieces=[],this._tree=e,this._BOM=t,this._index=0,e.root!==Oe&&e.iterate(e.root,i=>(i!==Oe&&this._pieces.push(i.piece),!0))}read(){return this._pieces.length===0?this._index===0?(this._index++,this._BOM):null:this._index>this._pieces.length-1?null:this._index===0?this._BOM+this._tree.getPieceContent(this._pieces[this._index++]):this._tree.getPieceContent(this._pieces[this._index++])}}class _pe{constructor(e){this._limit=e,this._cache=[]}get(e){for(let t=this._cache.length-1;t>=0;t--){const i=this._cache[t];if(i.nodeStartOffset<=e&&i.nodeStartOffset+i.node.piece.length>=e)return i}return null}get2(e){for(let t=this._cache.length-1;t>=0;t--){const i=this._cache[t];if(i.nodeStartLineNumber&&i.nodeStartLineNumber<e&&i.nodeStartLineNumber+i.node.piece.lineFeedCnt>=e)return i}return null}set(e){this._cache.length>=this._limit&&this._cache.shift(),this._cache.push(e)}validate(e){let t=!1;const i=this._cache;for(let n=0;n<i.length;n++){const s=i[n];if(s.node.parent===null||s.nodeStartOffset>=e){i[n]=null,t=!0;continue}}if(t){const n=[];for(const s of i)s!==null&&n.push(s);this._cache=n}}}class bpe{constructor(e,t,i){this.create(e,t,i)}create(e,t,i){this._buffers=[new Qf("",[0])],this._lastChangeBufferPos={line:0,column:0},this.root=Oe,this._lineCnt=1,this._
Line truncated
|
||||
`}if(this.shouldCheckCRLF()&&this.startWithLF(t))if(this.nodeCharCodeAt(n,s-1)===13){const p=this.positionInBuffer(n,s-1);this.deleteNodeTail(n,p),t="\r"+t,n.piece.length===0&&d.push(n)}else this.deleteNodeTail(n,c);else this.deleteNodeTail(n,c);const u=this.createNewPieces(t);h.length>0&&this.rbInsertRight(n,h);let f=n;for(let g=0;g<u.length;g++)f=this.rbInsertRight(f,u[g]);this.deleteNodes(d)}else this.insertContentToNodeRight(t,n)}else{const n=this.createNewPieces(t);let s=this.rbInsertLeft(null,n[0]);for(let r=1;r<n.length;r++)s=this.rbInsertRight(s,n[r])}this.computeBufferMetadata()}delete(e,t){if(this._lastVisitedLine.lineNumber=0,this._lastVisitedLine.value="",t<=0||this.root===Oe)return;const i=this.nodeAt(e),n=this.nodeAt(e+t),s=i.node,r=n.node;if(s===r){const u=this.positionInBuffer(s,i.remainder),f=this.positionInBuffer(s,n.remainder);if(i.nodeStartOffset===e){if(t===s.piece.length){const g=s.next();Ex(this,s),this.validateCRLFWithPrevNode(g),this.computeBufferMetadata();return}this.deleteNodeHead(s,f),this._searchCache.validate(e),this.validateCRLFWithPrevNode(s),this.computeBufferMetadata();return}if(i.nodeStartOffset+s.piece.length===e+t){this.deleteNodeTail(s,u),this.validateCRLFWithNextNode(s),this.computeBufferMetadata();return}this.shrinkNode(s,u,f),this.computeBufferMetadata();return}const a=[],l=this.positionInBuffer(s,i.remainder);this.deleteNodeTail(s,l),this._searchCache.validate(e),s.piece.length===0&&a.push(s);const c=this.positionInBuffer(r,n.remainder);this.deleteNodeHead(r,c),r.piece.length===0&&a.push(r);const d=s.next();for(let u=d;u!==Oe&&u!==r;u=u.next())a.push(u);const h=s.piece.length===0?s.prev():s;this.deleteNodes(a),this.validateCRLFWithNextNode(h),this.computeBufferMetadata()}insertContentToNodeLeft(e,t){const i=[];if(this.shouldCheckCRLF()&&this.endWithCR(e)&&this.startWithLF(t)){const r=t.piece,a={line:r.start.line+1,column:0},l=new vo(r.bufferIndex,a,r.end,this.getLineFeedCnt(r.bufferIndex,a,r.end),r.length-1);t.piece=l,e+=`
|
||||
`,td(this,t,-1,-1),t.piece.length===0&&i.push(t)}const n=this.createNewPieces(e);let s=this.rbInsertLeft(t,n[n.length-1]);for(let r=n.length-2;r>=0;r--)s=this.rbInsertLeft(s,n[r]);this.validateCRLFWithPrevNode(s),this.deleteNodes(i)}insertContentToNodeRight(e,t){this.adjustCarriageReturnFromNext(e,t)&&(e+=`
|
||||
`);const i=this.createNewPieces(e),n=this.rbInsertRight(t,i[0]);let s=n;for(let r=1;r<i.length;r++)s=this.rbInsertRight(s,i[r]);this.validateCRLFWithPrevNode(n)}positionInBuffer(e,t,i){const n=e.piece,s=e.piece.bufferIndex,r=this._buffers[s].lineStarts,l=r[n.start.line]+n.start.column+t;let c=n.start.line,d=n.end.line,h=0,u=0,f=0;for(;c<=d&&(h=c+(d-c)/2|0,f=r[h],h!==d);)if(u=r[h+1],l<f)d=h-1;else if(l>=u)c=h+1;else break;return i?(i.line=h,i.column=l-f,null):{line:h,column:l-f}}getLineFeedCnt(e,t,i){if(i.column===0)return i.line-t.line;const n=this._buffers[e].lineStarts;if(i.line===n.length-1)return i.line-t.line;const s=n[i.line+1],r=n[i.line]+i.column;if(s>r+1)return i.line-t.line;const a=r-1;return this._buffers[e].buffer.charCodeAt(a)===13?i.line-t.line+1:i.line-t.line}offsetInBuffer(e,t){return this._buffers[e].lineStarts[t.line]+t.column}deleteNodes(e){for(let t=0;t<e.length;t++)Ex(this,e[t])}createNewPieces(e){if(e.length>id){const d=[];for(;e.length>id;){const u=e.charCodeAt(id-1);let f;u===13||u>=55296&&u<=56319?(f=e.substring(0,id-1),e=e.substring(id-1)):(f=e.substring(0,id),e=e.substring(id));const g=nd(f);d.push(new vo(this._buffers.length,{line:0,column:0},{line:g.length-1,column:f.length-g[g.length-1]},g.length-1,f.length)),this._buffers.push(new Qf(f,g))}const h=nd(e);return d.push(new vo(this._buffers.length,{line:0,column:0},{line:h.length-1,column:e.length-h[h.length-1]},h.length-1,e.length)),this._buffers.push(new Qf(e,h)),d}let t=this._buffers[0].buffer.length;const i=nd(e,!1);let n=this._lastChangeBufferPos;if(this._buffers[0].lineStarts[this._buffers[0].lineStarts.length-1]===t&&t!==0&&this.startWithLF(e)&&this.endWithCR(this._buffers[0].buffer)){this._lastChangeBufferPos={line:this._lastChangeBufferPos.line,column:this._lastChangeBufferPos.column+1},n=this._lastChangeBufferPos;for(let d=0;d<i.length;d++)i[d]+=t+1;this._buffers[0].lineStarts=this._buffers[0].lineStarts.concat(i.slice(1)),this._buffers[0].buffer+="_"+e,t+=1}else{if(t!==0)for(let d=0;d<i.length;d++)i[d]+=t;this._buffers[0].lineStarts=this._buffers[0].lineStarts.concat(i.slice(1)),this._buffers[0].buffer+=e}const s=this._buffers[0].buffer.length,r=this._buffers[0].lineStarts.length-1,a=s-this._buffers[0].lineStarts[r],l={line:r,column:a},c=new vo(0,n,l,this.getLineFeedCnt(0,n,l),s-t);return this._lastChangeBufferPos=l,[c]}getLineRawContent(e,t=0){let i=this.root,n="";const s=this._searchCache.get2(e);if(s){i=s.node;const r=this.getAccumulatedValue(i,e-s.nodeStartLineNumber-1),a=this._buffers[i.piece.bufferIndex].buffer,l=this.offsetInBuffer(i.piece.bufferIndex,i.piece.start);if(s.nodeStartLineNumber+i.piece.lineFeedCnt===e)n=a.substring(l+r,l+i.piece.length);else{const c=this.getAccumulatedValue(i,e-s.nodeStartLineNumber);return a.substring(l+r,l+c-t)}}else{let r=0;const a=e;for(;i!==Oe;)if(i.left!==Oe&&i.lf_left>=e-1)i=i.left;else if(i.lf_left+i.piece.lineFeedCnt>e-1){const l=this.getAccumulatedValue(i,e-i.lf_left-2),c=this.getAccumulatedValue(i,e-i.lf_left-1),d=this._buffers[i.piece.bufferIndex].buffer,h=this.offsetInBuffer(i.piece.bufferIndex,i.piece.start);return r+=i.size_left,this._searchCache.set({node:i,nodeStartOffset:r,nodeStartLineNumber:a-(e-1-i.lf_left)}),d.substring(h+l,h+c-t)}else if(i.lf_left+i.piece.lineFeedCnt===e-1){const l=this.getAccumulatedValue(i,e-i.lf_left-2),c=this._buffers[i.piece.bufferIndex].buffer,d=this.offsetInBuffer(i.piece.bufferIndex,i.piece.start);n=c.substring(d+l,d+i.piece.length);break}else e-=i.lf_left+i.piece.lineFeedCnt,r+=i.size_left+i.piece.length,i=i.right}for(i=i.next();i!==Oe;){const r=this._buffers[i.piece.bufferIndex].buffer;if(i.piece.lineFeedCnt>0){const a=this.getAccumulatedValue(i,0),l=this.offsetInBuffer(i.piece.bufferIndex,i.piece.start);return n+=r.substring(l,l+a-t),n}else{const a=this.offsetInBuffer(i.piece.bufferIndex,i.piece.start);n+=r.substr(a,i.piece.length)}i=i.next()}return n}computeBufferMetadata(){let e=this.root,t=1,i=0;for(;e!==Oe;)t+=e.lf_left+e.piece.lineFeedCnt,i+=e.size_left+e.piece.length,e=e.right;this._lineCnt=t,this._length=i,this._searchCache.validate(this._length)}getIndexOf(e,t){const i=e.piece,n=this.positionInBuffer(e,t),s=n.line-i.start.line;if(this.offsetInBuffer(i.bufferIndex,i.end)-this.offsetInBuffer(i.bufferIndex,i.start)===t){const r=this.getLineFeedCnt(e.piece.bufferIndex,i.start,n);if(r!==s)return{index:r,remainder:0}}return{index:s,remainder:n.column}}getAccumulatedValue(e,t){if(t<0)return 0;const i=e.piece,n=this._buffers[i.bufferIndex].lineStarts,s=i.start.line+t+1;return s>i.end.line?n[i.end.line]+i.end.column-n[i.start.line]-i.start.column:n[s]-n[i.start.line]-i.start.column}deleteNodeTail(e,t){const i=e.piece,n=i.lineFeedCnt,s=this.offsetInBuffer(i.bufferIndex,i.end),r=t,a=this.offsetInBuffer(i.bufferIndex,r),l=this.getLineFeedCnt(i.bufferIndex,i.start,r),c=l-n,d=a-s,h=i.length+d;e.piece=new vo(i.bufferIndex,i.start,r,l,h),td(this,e,d,c)}deleteNodeHead(e,t){const i=e.piece,n=i.lineFeedCnt,s=this.offsetInBuffer(i.bufferIndex,
Line truncated
|
||||
`);const i=this.shouldCheckCRLF()&&this.startWithLF(t)&&this.endWithCR(e),n=this._buffers[0].buffer.length;this._buffers[0].buffer+=t;const s=nd(t,!1);for(let f=0;f<s.length;f++)s[f]+=n;if(i){const f=this._buffers[0].lineStarts[this._buffers[0].lineStarts.length-2];this._buffers[0].lineStarts.pop(),this._lastChangeBufferPos={line:this._lastChangeBufferPos.line-1,column:n-f}}this._buffers[0].lineStarts=this._buffers[0].lineStarts.concat(s.slice(1));const r=this._buffers[0].lineStarts.length-1,a=this._buffers[0].buffer.length-this._buffers[0].lineStarts[r],l={line:r,column:a},c=e.piece.length+t.length,d=e.piece.lineFeedCnt,h=this.getLineFeedCnt(0,e.piece.start,l),u=h-d;e.piece=new vo(e.piece.bufferIndex,e.piece.start,l,h,c),this._lastChangeBufferPos=l,td(this,e,t.length,u)}nodeAt(e){let t=this.root;const i=this._searchCache.get(e);if(i)return{node:i.node,nodeStartOffset:i.nodeStartOffset,remainder:e-i.nodeStartOffset};let n=0;for(;t!==Oe;)if(t.size_left>e)t=t.left;else if(t.size_left+t.piece.length>=e){n+=t.size_left;const s={node:t,remainder:e-t.size_left,nodeStartOffset:n};return this._searchCache.set(s),s}else e-=t.size_left+t.piece.length,n+=t.size_left+t.piece.length,t=t.right;return null}nodeAt2(e,t){let i=this.root,n=0;for(;i!==Oe;)if(i.left!==Oe&&i.lf_left>=e-1)i=i.left;else if(i.lf_left+i.piece.lineFeedCnt>e-1){const s=this.getAccumulatedValue(i,e-i.lf_left-2),r=this.getAccumulatedValue(i,e-i.lf_left-1);return n+=i.size_left,{node:i,remainder:Math.min(s+t-1,r),nodeStartOffset:n}}else if(i.lf_left+i.piece.lineFeedCnt===e-1){const s=this.getAccumulatedValue(i,e-i.lf_left-2);if(s+t-1<=i.piece.length)return{node:i,remainder:s+t-1,nodeStartOffset:n};t-=i.piece.length-s;break}else e-=i.lf_left+i.piece.lineFeedCnt,n+=i.size_left+i.piece.length,i=i.right;for(i=i.next();i!==Oe;){if(i.piece.lineFeedCnt>0){const s=this.getAccumulatedValue(i,0),r=this.offsetOfNode(i);return{node:i,remainder:Math.min(t-1,s),nodeStartOffset:r}}else if(i.piece.length>=t-1){const s=this.offsetOfNode(i);return{node:i,remainder:t-1,nodeStartOffset:s}}else t-=i.piece.length;i=i.next()}return null}nodeCharCodeAt(e,t){if(e.piece.lineFeedCnt<1)return-1;const i=this._buffers[e.piece.bufferIndex],n=this.offsetInBuffer(e.piece.bufferIndex,e.piece.start)+t;return i.buffer.charCodeAt(n)}offsetOfNode(e){if(!e)return 0;let t=e.size_left;for(;e!==this.root;)e.parent.right===e&&(t+=e.parent.size_left+e.parent.piece.length),e=e.parent;return t}shouldCheckCRLF(){return!(this._EOLNormalized&&this._EOL===`
|
||||
`)}startWithLF(e){if(typeof e=="string")return e.charCodeAt(0)===10;if(e===Oe||e.piece.lineFeedCnt===0)return!1;const t=e.piece,i=this._buffers[t.bufferIndex].lineStarts,n=t.start.line,s=i[n]+t.start.column;return n===i.length-1||i[n+1]>s+1?!1:this._buffers[t.bufferIndex].buffer.charCodeAt(s)===10}endWithCR(e){return typeof e=="string"?e.charCodeAt(e.length-1)===13:e===Oe||e.piece.lineFeedCnt===0?!1:this.nodeCharCodeAt(e,e.piece.length-1)===13}validateCRLFWithPrevNode(e){if(this.shouldCheckCRLF()&&this.startWithLF(e)){const t=e.prev();this.endWithCR(t)&&this.fixCRLF(t,e)}}validateCRLFWithNextNode(e){if(this.shouldCheckCRLF()&&this.endWithCR(e)){const t=e.next();this.startWithLF(t)&&this.fixCRLF(e,t)}}fixCRLF(e,t){const i=[],n=this._buffers[e.piece.bufferIndex].lineStarts;let s;e.piece.end.column===0?s={line:e.piece.end.line-1,column:n[e.piece.end.line]-n[e.piece.end.line-1]-1}:s={line:e.piece.end.line,column:e.piece.end.column-1};const r=e.piece.length-1,a=e.piece.lineFeedCnt-1;e.piece=new vo(e.piece.bufferIndex,e.piece.start,s,a,r),td(this,e,-1,-1),e.piece.length===0&&i.push(e);const l={line:t.piece.start.line+1,column:0},c=t.piece.length-1,d=this.getLineFeedCnt(t.piece.bufferIndex,l,t.piece.end);t.piece=new vo(t.piece.bufferIndex,l,t.piece.end,d,c),td(this,t,-1,-1),t.piece.length===0&&i.push(t);const h=this.createNewPieces(`\r
|
||||
`);this.rbInsertRight(e,h[0]);for(let u=0;u<i.length;u++)Ex(this,i[u])}adjustCarriageReturnFromNext(e,t){if(this.shouldCheckCRLF()&&this.endWithCR(e)){const i=t.next();if(this.startWithLF(i)){if(e+=`
|
||||
`,i.piece.length===1)Ex(this,i);else{const n=i.piece,s={line:n.start.line+1,column:0},r=n.length-1,a=this.getLineFeedCnt(n.bufferIndex,s,n.end);i.piece=new vo(n.bufferIndex,s,n.end,a,r),td(this,i,-1,-1)}return!0}}return!1}iterate(e,t){if(e===Oe)return t(Oe);const i=this.iterate(e.left,t);return i&&t(e)&&this.iterate(e.right,t)}getNodeContent(e){if(e===Oe)return"";const t=this._buffers[e.piece.bufferIndex],i=e.piece,n=this.offsetInBuffer(i.bufferIndex,i.start),s=this.offsetInBuffer(i.bufferIndex,i.end);return t.buffer.substring(n,s)}getPieceContent(e){const t=this._buffers[e.bufferIndex],i=this.offsetInBuffer(e.bufferIndex,e.start),n=this.offsetInBuffer(e.bufferIndex,e.end);return t.buffer.substring(i,n)}rbInsertRight(e,t){const i=new tP(t,1);if(i.left=Oe,i.right=Oe,i.parent=Oe,i.size_left=0,i.lf_left=0,this.root===Oe)this.root=i,i.color=0;else if(e.right===Oe)e.right=i,i.parent=e;else{const s=iP(e.right);s.left=i,i.parent=s}return T$(this,i),i}rbInsertLeft(e,t){const i=new tP(t,1);if(i.left=Oe,i.right=Oe,i.parent=Oe,i.size_left=0,i.lf_left=0,this.root===Oe)this.root=i,i.color=0;else if(e.left===Oe)e.left=i,i.parent=e;else{const n=N$(e.left);n.right=i,i.parent=n}return T$(this,i),i}}class z_ extends P{constructor(e,t,i,n,s,r,a){super(),this._onDidChangeContent=this._register(new A),this._BOM=t,this._mightContainNonBasicASCII=!r,this._mightContainRTL=n,this._mightContainUnusualLineTerminators=s,this._pieceTree=new bpe(e,i,a)}mightContainRTL(){return this._mightContainRTL}mightContainUnusualLineTerminators(){return this._mightContainUnusualLineTerminators}resetMightContainUnusualLineTerminators(){this._mightContainUnusualLineTerminators=!1}mightContainNonBasicASCII(){return this._mightContainNonBasicASCII}getBOM(){return this._BOM}getEOL(){return this._pieceTree.getEOL()}createSnapshot(e){return this._pieceTree.createSnapshot(e?this._BOM:"")}getOffsetAt(e,t){return this._pieceTree.getOffsetAt(e,t)}getPositionAt(e){return this._pieceTree.getPositionAt(e)}getRangeAt(e,t){const i=e+t,n=this.getPositionAt(e),s=this.getPositionAt(i);return new k(n.lineNumber,n.column,s.lineNumber,s.column)}getValueInRange(e,t=0){if(e.isEmpty())return"";const i=this._getEndOfLine(t);return this._pieceTree.getValueInRange(e,i)}getValueLengthInRange(e,t=0){if(e.isEmpty())return 0;if(e.startLineNumber===e.endLineNumber)return e.endColumn-e.startColumn;const i=this.getOffsetAt(e.startLineNumber,e.startColumn),n=this.getOffsetAt(e.endLineNumber,e.endColumn);let s=0;const r=this._getEndOfLine(t),a=this.getEOL();if(r.length!==a.length){const l=r.length-a.length,c=e.endLineNumber-e.startLineNumber;s=l*c}return n-i+s}getCharacterCountInRange(e,t=0){if(this._mightContainNonBasicASCII){let i=0;const n=e.startLineNumber,s=e.endLineNumber;for(let r=n;r<=s;r++){const a=this.getLineContent(r),l=r===n?e.startColumn-1:0,c=r===s?e.endColumn-1:a.length;for(let d=l;d<c;d++)zi(a.charCodeAt(d))?(i=i+1,d=d+1):i=i+1}return i+=this._getEndOfLine(t).length*(s-n),i}return this.getValueLengthInRange(e,t)}getNearestChunk(e){return this._pieceTree.getNearestChunk(e)}getLength(){return this._pieceTree.getLength()}getLineCount(){return this._pieceTree.getLineCount()}getLinesContent(){return this._pieceTree.getLinesContent()}getLineContent(e){return this._pieceTree.getLineContent(e)}getLineCharCode(e,t){return this._pieceTree.getLineCharCode(e,t)}getLineLength(e){return this._pieceTree.getLineLength(e)}getLineFirstNonWhitespaceColumn(e){const t=ts(this.getLineContent(e));return t===-1?0:t+1}getLineLastNonWhitespaceColumn(e){const t=Gr(this.getLineContent(e));return t===-1?0:t+2}_getEndOfLine(e){switch(e){case 1:return`
|
||||
`;case 2:return`\r
|
||||
`;case 0:return this.getEOL();default:throw new Error("Unknown EOL preference")}}setEOL(e){this._pieceTree.setEOL(e)}applyEdits(e,t,i){let n=this._mightContainRTL,s=this._mightContainUnusualLineTerminators,r=this._mightContainNonBasicASCII,a=!0,l=[];for(let p=0;p<e.length;p++){const _=e[p];a&&_._isTracked&&(a=!1);const b=_.range;if(_.text){let L=!0;r||(L=!_v(_.text),r=L),!n&&L&&(n=Om(_.text)),!s&&L&&(s=I6(_.text))}let C="",w=0,v=0,S=0;if(_.text){let L;[w,v,S,L]=Mh(_.text);const x=this.getEOL();L===0||L===(x===`\r
|
||||
`?2:1)?C=_.text:C=_.text.replace(/\r\n|\r|\n/g,x)}l[p]={sortIndex:p,identifier:_.identifier||null,range:b,rangeOffset:this.getOffsetAt(b.startLineNumber,b.startColumn),rangeLength:this.getValueLengthInRange(b),text:C,eolCount:w,firstLineLength:v,lastLineLength:S,forceMoveMarkers:!!_.forceMoveMarkers,isAutoWhitespaceEdit:_.isAutoWhitespaceEdit||!1}}l.sort(z_._sortOpsAscending);let c=!1;for(let p=0,_=l.length-1;p<_;p++){const b=l[p].range.getEndPosition(),C=l[p+1].range.getStartPosition();if(C.isBeforeOrEqual(b)){if(C.isBefore(b))throw new Error("Overlapping ranges are not allowed!");c=!0}}a&&(l=this._reduceOperations(l));const d=i||t?z_._getInverseEditRanges(l):[],h=[];if(t)for(let p=0;p<l.length;p++){const _=l[p],b=d[p];if(_.isAutoWhitespaceEdit&&_.range.isEmpty())for(let C=b.startLineNumber;C<=b.endLineNumber;C++){let w="";C===b.startLineNumber&&(w=this.getLineContent(_.range.startLineNumber),ts(w)!==-1)||h.push({lineNumber:C,oldContent:w})}}let u=null;if(i){let p=0;u=[];for(let _=0;_<l.length;_++){const b=l[_],C=d[_],w=this.getValueInRange(b.range),v=b.rangeOffset+p;p+=b.text.length-w.length,u[_]={sortIndex:b.sortIndex,identifier:b.identifier,range:C,text:w,textChange:new Rn(b.rangeOffset,w,v,b.text)}}c||u.sort((_,b)=>_.sortIndex-b.sortIndex)}this._mightContainRTL=n,this._mightContainUnusualLineTerminators=s,this._mightContainNonBasicASCII=r;const f=this._doApplyEdits(l);let g=null;if(t&&h.length>0){h.sort((p,_)=>_.lineNumber-p.lineNumber),g=[];for(let p=0,_=h.length;p<_;p++){const b=h[p].lineNumber;if(p>0&&h[p-1].lineNumber===b)continue;const C=h[p].oldContent,w=this.getLineContent(b);w.length===0||w===C||ts(w)!==-1||g.push(b)}}return this._onDidChangeContent.fire(),new fre(u,f,g)}_reduceOperations(e){return e.length<1e3?e:[this._toSingleEditOperation(e)]}_toSingleEditOperation(e){let t=!1;const i=e[0].range,n=e[e.length-1].range,s=new k(i.startLineNumber,i.startColumn,n.endLineNumber,n.endColumn);let r=i.startLineNumber,a=i.startColumn;const l=[];for(let f=0,g=e.length;f<g;f++){const p=e[f],_=p.range;t=t||p.forceMoveMarkers,l.push(this.getValueInRange(new k(r,a,_.startLineNumber,_.startColumn))),p.text.length>0&&l.push(p.text),r=_.endLineNumber,a=_.endColumn}const c=l.join(""),[d,h,u]=Mh(c);return{sortIndex:0,identifier:e[0].identifier,range:s,rangeOffset:this.getOffsetAt(s.startLineNumber,s.startColumn),rangeLength:this.getValueLengthInRange(s,0),text:c,eolCount:d,firstLineLength:h,lastLineLength:u,forceMoveMarkers:t,isAutoWhitespaceEdit:!1}}_doApplyEdits(e){e.sort(z_._sortOpsDescending);const t=[];for(let i=0;i<e.length;i++){const n=e[i],s=n.range.startLineNumber,r=n.range.startColumn,a=n.range.endLineNumber,l=n.range.endColumn;if(s===a&&r===l&&n.text.length===0)continue;n.text?(this._pieceTree.delete(n.rangeOffset,n.rangeLength),this._pieceTree.insert(n.rangeOffset,n.text,!0)):this._pieceTree.delete(n.rangeOffset,n.rangeLength);const c=new k(s,r,a,l);t.push({range:c,rangeLength:n.rangeLength,text:n.text,rangeOffset:n.rangeOffset,forceMoveMarkers:n.forceMoveMarkers})}return t}findMatchesLineByLine(e,t,i,n){return this._pieceTree.findMatchesLineByLine(e,t,i,n)}static _getInverseEditRanges(e){const t=[];let i=0,n=0,s=null;for(let r=0,a=e.length;r<a;r++){const l=e[r];let c,d;s?s.range.endLineNumber===l.range.startLineNumber?(c=i,d=n+(l.range.startColumn-s.range.endColumn)):(c=i+(l.range.startLineNumber-s.range.endLineNumber),d=l.range.startColumn):(c=l.range.startLineNumber,d=l.range.startColumn);let h;if(l.text.length>0){const u=l.eolCount+1;u===1?h=new k(c,d,c,d+l.firstLineLength):h=new k(c,d,c+u-1,l.lastLineLength+1)}else h=new k(c,d,c,d);i=h.endLineNumber,n=h.endColumn,t.push(h),s=l}return t}static _sortOpsAscending(e,t){const i=k.compareRangesUsingEnds(e.range,t.range);return i===0?e.sortIndex-t.sortIndex:i}static _sortOpsDescending(e,t){const i=k.compareRangesUsingEnds(e.range,t.range);return i===0?t.sortIndex-e.sortIndex:-i}}class Cpe{constructor(e,t,i,n,s,r,a,l,c){this._chunks=e,this._bom=t,this._cr=i,this._lf=n,this._crlf=s,this._containsRTL=r,this._containsUnusualLineTerminators=a,this._isBasicASCII=l,this._normalizeEOL=c}_getEOL(e){const t=this._cr+this._lf+this._crlf,i=this._cr+this._crlf;return t===0?e===1?`
|
||||
`:`\r
|
||||
`:i>t/2?`\r
|
||||
`:`
|
||||
`}create(e){const t=this._getEOL(e),i=this._chunks;if(this._normalizeEOL&&(t===`\r
|
||||
`&&(this._cr>0||this._lf>0)||t===`
|
||||
`&&(this._cr>0||this._crlf>0)))for(let s=0,r=i.length;s<r;s++){const a=i[s].buffer.replace(/\r\n|\r|\n/g,t),l=nd(a);i[s]=new Qf(a,l)}const n=new z_(i,this._bom,t,this._containsRTL,this._containsUnusualLineTerminators,this._isBasicASCII,this._normalizeEOL);return{textBuffer:n,disposable:n}}}class P${constructor(){this.chunks=[],this.BOM="",this._hasPreviousChar=!1,this._previousChar=0,this._tmpLineStarts=[],this.cr=0,this.lf=0,this.crlf=0,this.containsRTL=!1,this.containsUnusualLineTerminators=!1,this.isBasicASCII=!0}acceptChunk(e){if(e.length===0)return;this.chunks.length===0&&$R(e)&&(this.BOM=yne,e=e.substr(1));const t=e.charCodeAt(e.length-1);t===13||t>=55296&&t<=56319?(this._acceptChunk1(e.substr(0,e.length-1),!1),this._hasPreviousChar=!0,this._previousChar=t):(this._acceptChunk1(e,!1),this._hasPreviousChar=!1,this._previousChar=t)}_acceptChunk1(e,t){!t&&e.length===0||(this._hasPreviousChar?this._acceptChunk2(String.fromCharCode(this._previousChar)+e):this._acceptChunk2(e))}_acceptChunk2(e){const t=ppe(this._tmpLineStarts,e);this.chunks.push(new Qf(e,t.lineStarts)),this.cr+=t.cr,this.lf+=t.lf,this.crlf+=t.crlf,t.isBasicASCII||(this.isBasicASCII=!1,this.containsRTL||(this.containsRTL=Om(e)),this.containsUnusualLineTerminators||(this.containsUnusualLineTerminators=I6(e)))}finish(e=!0){return this._finish(),new Cpe(this.chunks,this.BOM,this.cr,this.lf,this.crlf,this.containsRTL,this.containsUnusualLineTerminators,this.isBasicASCII,e)}_finish(){if(this.chunks.length===0&&this._acceptChunk1("",!0),this._hasPreviousChar){this._hasPreviousChar=!1;const e=this.chunks[this.chunks.length-1];e.buffer+=String.fromCharCode(this._previousChar);const t=nd(e.buffer);e.lineStarts=t,this._previousChar===13&&this.cr++}}}class vpe{constructor(){this._onDidChangeVisibleRanges=new A,this.onDidChangeVisibleRanges=this._onDidChangeVisibleRanges.event,this._views=new Set,this._viewsChanged=Cr(this),this.visibleLineRanges=In({owner:this,equalsFn:wv(cM())},e=>(this._viewsChanged.read(e),Ie.joinMany([...this._views].map(i=>i.state.read(e)?.visibleLineRanges??[]))))}attachView(){const e=new Spe(t=>{this._onDidChangeVisibleRanges.fire({view:e,state:t})});return this._views.add(e),this._viewsChanged.trigger(void 0),e}detachView(e){this._views.delete(e),this._onDidChangeVisibleRanges.fire({view:e,state:void 0}),this._viewsChanged.trigger(void 0)}}class wpe{constructor(e,t){this.visibleLineRanges=e,this.stabilized=t}equals(e){return this===e?!0:!(!Ut(this.visibleLineRanges,e.visibleLineRanges,(t,i)=>t.equals(i))||this.stabilized!==e.stabilized)}}class Spe{get state(){return this._state}constructor(e){this.handleStateChange=e,this._state=Lv({owner:this,equalsFn:uf((t,i)=>t.equals(i))},void 0)}setVisibleLines(e,t){const i=e.map(s=>new Ie(s.startLineNumber,s.endLineNumber+1)),n=new wpe(i,t);this._state.set(n,void 0,void 0),this.handleStateChange(n)}}class ype extends P{get lineRanges(){return this._lineRanges}constructor(e){super(),this._refreshTokens=e,this.runner=this._register(new vt(()=>this.update(),50)),this._computedLineRanges=[],this._lineRanges=[]}update(){Ut(this._computedLineRanges,this._lineRanges,(e,t)=>e.equals(t))||(this._computedLineRanges=this._lineRanges,this._refreshTokens())}handleStateChange(e){this._lineRanges=e.visibleLineRanges,e.stabilized?(this.runner.cancel(),this.update()):this.runner.schedule()}}class O$ extends P{get backgroundTokenizationState(){return this._backgroundTokenizationState}constructor(e,t){super(),this._languageIdCodec=e,this._textModel=t,this._onDidChangeTokens=this._register(new A),this.onDidChangeTokens=this._onDidChangeTokens.event}tokenizeIfCheap(e){this.isCheapToTokenize(e)&&this.forceTokenization(e)}}function Lpe(o,e){const t=o.gotoNextSibling(),i=e.gotoNextSibling();if(t!==i)throw new Error("Trees are out of sync");return t&&i}function F$(o,e){const t=o.gotoParent(),i=e.gotoParent();if(t!==i)throw new Error("Trees are out of sync");return t&&i}function xpe(o,e,t){const i=o.gotoFirstChild(),n=e.gotoFirstChild();if(i!==n)throw new Error("Trees are out of sync");if(t===0)return i&&n;for(let s=1;s<=t;s++){const r=o.gotoNextSibling(),a=e.gotoNextSibling();if(r!==a)throw new Error("Trees are out of sync");if(!r||!a)return!1}return i&&n}function W$(o,e){do{if(o.currentNode.nextSibling)return Lpe(o,e);o.currentNode.parent&&F$(o,e)}while(o.currentNode.nextSibling||o.currentNode.parent);return!1}function kpe(o,e){const t=e.walk();t.resetTo(o);const i=o.currentNode;do if(t.currentNode.previousSibling&&t.currentNode.endIndex-t.currentNode.startIndex!==0)t.gotoPreviousSibling();else{for(;!t.currentNode.previousSibling&&t.currentNode.parent;)t.gotoParent();t.gotoPreviousSibling()}while(t.currentNode.endIndex>i.startIndex&&(t.currentNode.parent||t.currentNode.previousSibling)&&t.currentNode.id!==i.id);if(t.currentNode.id!==i.id&&t.currentNode.endIndex<=i.startIndex)return t.currentNode}var Ipe=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof
Line truncated
|
||||
`,!1,!1,!0,!0);e.dispose(),this._buffer=e,this._bufferDisposable=P.None}_assertNotDisposed(){if(this._isDisposed)throw new Ce("Model is disposed!")}getTextBuffer(){return this._assertNotDisposed(),this._buffer}_emitContentChangedEvent(e,t){this.__isDisposing||(this._tokenizationTextModelPart.handleDidChangeContent(t),this._bracketPairs.handleDidChangeContent(t),this._eventEmitter.fire(new Kf(e,t)))}setValue(e,t=Kn.setValue()){if(this._assertNotDisposed(),e==null)throw ur();const{textBuffer:i,disposable:n}=Z$(e,this._options.defaultEOL);this._setValueFromTextBuffer(i,n,t)}_createContentChanged2(e,t,i,n,s,r,a,l,c,d){return{changes:[{range:e,rangeOffset:t,rangeLength:i,text:s}],eol:this._buffer.getEOL(),isEolChange:c,versionId:this.getVersionId(),isUndoing:r,isRedoing:a,isFlush:l,detailedReasons:[d],detailedReasonsChangeLengths:[1]}}_setValueFromTextBuffer(e,t,i){this._assertNotDisposed();const n=this.getFullModelRange(),s=this.getValueLengthInRange(n),r=this.getLineCount(),a=this.getLineMaxColumn(r);this._buffer=e,this._bufferDisposable.dispose(),this._bufferDisposable=t,this._increaseVersionId(),this._decorations=Object.create(null),this._decorationsTree=new Y$,this._commandManager.clear(),this._trimAutoWhitespaceLines=null,this._emitContentChangedEvent(new P_([new uge],this._versionId,!1,!1),this._createContentChanged2(new k(1,1,r,a),0,s,new M(r,a),this.getValue(),!1,!1,!0,!1,i))}setEOL(e){this._assertNotDisposed();const t=e===1?`\r
|
||||
`:`
|
||||
`;if(this._buffer.getEOL()===t)return;const i=this.getFullModelRange(),n=this.getValueLengthInRange(i),s=this.getLineCount(),r=this.getLineMaxColumn(s);this._onBeforeEOLChange(),this._buffer.setEOL(t),this._increaseVersionId(),this._onAfterEOLChange(),this._emitContentChangedEvent(new P_([new _ge],this._versionId,!1,!1),this._createContentChanged2(new k(1,1,s,r),0,n,new M(s,r),this.getValue(),!1,!1,!1,!0,Kn.eolChange()))}_onBeforeEOLChange(){this._decorationsTree.ensureAllNodesHaveRanges(this)}_onAfterEOLChange(){const e=this.getVersionId(),t=this._decorationsTree.collectNodesPostOrder();for(let i=0,n=t.length;i<n;i++){const s=t[i],r=s.range,a=s.cachedAbsoluteStart-s.start,l=this._buffer.getOffsetAt(r.startLineNumber,r.startColumn),c=this._buffer.getOffsetAt(r.endLineNumber,r.endColumn);s.cachedAbsoluteStart=l,s.cachedAbsoluteEnd=c,s.cachedVersionId=e,s.start=l-a,s.end=c-a,Oh(s)}}onBeforeAttached(){return this._attachedEditorCount++,this._attachedEditorCount===1&&(this._tokenizationTextModelPart.handleDidChangeAttached(),this._onDidChangeAttached.fire(void 0)),this._attachedViews.attachView()}onBeforeDetached(e){this._attachedEditorCount--,this._attachedEditorCount===0&&(this._tokenizationTextModelPart.handleDidChangeAttached(),this._onDidChangeAttached.fire(void 0)),this._attachedViews.detachView(e)}isAttachedToEditor(){return this._attachedEditorCount>0}getAttachedEditorCount(){return this._attachedEditorCount}isTooLargeForSyncing(){return this._isTooLargeForSyncing}isTooLargeForTokenization(){return this._isTooLargeForTokenization}isTooLargeForHeapOperation(){return this._isTooLargeForHeapOperation}isDisposed(){return this._isDisposed}isDominatedByLongLines(){if(this._assertNotDisposed(),this.isTooLargeForTokenization())return!1;let e=0,t=0;const i=this._buffer.getLineCount();for(let n=1;n<=i;n++){const s=this._buffer.getLineLength(n);s>=tme?t+=s:e+=s}return t>e}get uri(){return this._associatedResource}getOptions(){return this._assertNotDisposed(),this._options}getFormattingOptions(){return{tabSize:this._options.indentSize,insertSpaces:this._options.insertSpaces}}updateOptions(e){this._assertNotDisposed();const t=typeof e.tabSize<"u"?e.tabSize:this._options.tabSize,i=typeof e.indentSize<"u"?e.indentSize:this._options.originalIndentSize,n=typeof e.insertSpaces<"u"?e.insertSpaces:this._options.insertSpaces,s=typeof e.trimAutoWhitespace<"u"?e.trimAutoWhitespace:this._options.trimAutoWhitespace,r=typeof e.bracketColorizationOptions<"u"?e.bracketColorizationOptions:this._options.bracketPairColorizationOptions,a=new rL({tabSize:t,indentSize:i,insertSpaces:n,defaultEOL:this._options.defaultEOL,trimAutoWhitespace:s,bracketPairColorizationOptions:r});if(this._options.equals(a))return;const l=this._options.createChangeEvent(a);this._options=a,this._bracketPairs.handleDidChangeOptions(l),this._decorationProvider.handleDidChangeOptions(l),this._onDidChangeOptions.fire(l)}detectIndentation(e,t){this._assertNotDisposed();const i=_$(this._buffer,t,e);this.updateOptions({insertSpaces:i.insertSpaces,tabSize:i.tabSize,indentSize:i.tabSize})}normalizeIndentation(e){return this._assertNotDisposed(),PM(e,this._options.indentSize,this._options.insertSpaces)}getVersionId(){return this._assertNotDisposed(),this._versionId}mightContainRTL(){return this._buffer.mightContainRTL()}mightContainUnusualLineTerminators(){return this._buffer.mightContainUnusualLineTerminators()}removeUnusualLineTerminators(e=null){const t=this.findMatches(k6.source,!1,!0,!1,null,!1,1073741824);this._buffer.resetMightContainUnusualLineTerminators(),this.pushEditOperations(e,t.map(i=>({range:i.range,text:null})),()=>null)}mightContainNonBasicASCII(){return this._buffer.mightContainNonBasicASCII()}getAlternativeVersionId(){return this._assertNotDisposed(),this._alternativeVersionId}getInitialUndoRedoSnapshot(){return this._assertNotDisposed(),this._initialUndoRedoSnapshot}getOffsetAt(e){this._assertNotDisposed();const t=this._validatePosition(e.lineNumber,e.column,0);return this._buffer.getOffsetAt(t.lineNumber,t.column)}getPositionAt(e){this._assertNotDisposed();const t=Math.min(this._buffer.getLength(),Math.max(0,e));return this._buffer.getPositionAt(t)}_increaseVersionId(){this._versionId=this._versionId+1,this._alternativeVersionId=this._versionId}_overwriteVersionId(e){this._versionId=e}_overwriteAlternativeVersionId(e){this._alternativeVersionId=e}_overwriteInitialUndoRedoSnapshot(e){this._initialUndoRedoSnapshot=e}getValue(e,t=!1){if(this._assertNotDisposed(),this.isTooLargeForHeapOperation())throw new Ce("Operation would exceed heap memory limits");const i=this.getFullModelRange(),n=this.getValueInRange(i,e);return t?this._buffer.getBOM()+n:n}createSnapshot(e=!1){return new nme(this._buffer.createSnapshot(e))}getValueLength(e,t=!1){this._assertNotDisposed();const i=this.getFullModelRange(),n=this.getValueLengthInRange(i,e);return t?this._buffer.getBOM().length+n:n}getValueInRange(e,t=0){return this._assertNotDisposed(),this._buffer.getValueInRang
Line truncated
|
||||
`?0:1}getLineMinColumn(e){return this._assertNotDisposed(),1}getLineMaxColumn(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new Ce("Illegal value for lineNumber");return this._buffer.getLineLength(e)+1}getLineFirstNonWhitespaceColumn(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new Ce("Illegal value for lineNumber");return this._buffer.getLineFirstNonWhitespaceColumn(e)}getLineLastNonWhitespaceColumn(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new Ce("Illegal value for lineNumber");return this._buffer.getLineLastNonWhitespaceColumn(e)}_validateRangeRelaxedNoAllocations(e){const t=this._buffer.getLineCount(),i=e.startLineNumber,n=e.startColumn;let s=Math.floor(typeof i=="number"&&!isNaN(i)?i:1),r=Math.floor(typeof n=="number"&&!isNaN(n)?n:1);if(s<1)s=1,r=1;else if(s>t)s=t,r=this.getLineMaxColumn(s);else if(r<=1)r=1;else{const h=this.getLineMaxColumn(s);r>=h&&(r=h)}const a=e.endLineNumber,l=e.endColumn;let c=Math.floor(typeof a=="number"&&!isNaN(a)?a:1),d=Math.floor(typeof l=="number"&&!isNaN(l)?l:1);if(c<1)c=1,d=1;else if(c>t)c=t,d=this.getLineMaxColumn(c);else if(d<=1)d=1;else{const h=this.getLineMaxColumn(c);d>=h&&(d=h)}return i===s&&n===r&&a===c&&l===d&&e instanceof k&&!(e instanceof le)?e:new k(s,r,c,d)}_isValidPosition(e,t,i){if(typeof e!="number"||typeof t!="number"||isNaN(e)||isNaN(t)||e<1||t<1||(e|0)!==e||(t|0)!==t)return!1;const n=this._buffer.getLineCount();if(e>n)return!1;if(t===1)return!0;const s=this.getLineMaxColumn(e);if(t>s)return!1;if(i===1){const r=this._buffer.getLineCharCode(e,t-2);if(zi(r))return!1}return!0}_validatePosition(e,t,i){const n=Math.floor(typeof e=="number"&&!isNaN(e)?e:1),s=Math.floor(typeof t=="number"&&!isNaN(t)?t:1),r=this._buffer.getLineCount();if(n<1)return new M(1,1);if(n>r)return new M(r,this.getLineMaxColumn(r));if(s<=1)return new M(n,1);const a=this.getLineMaxColumn(n);if(s>=a)return new M(n,a);if(i===1){const l=this._buffer.getLineCharCode(n,s-2);if(zi(l))return new M(n,s-1)}return new M(n,s)}validatePosition(e){return this._assertNotDisposed(),e instanceof M&&this._isValidPosition(e.lineNumber,e.column,1)?e:this._validatePosition(e.lineNumber,e.column,1)}isValidRange(e){return this._isValidRange(e,1)}_isValidRange(e,t){const i=e.startLineNumber,n=e.startColumn,s=e.endLineNumber,r=e.endColumn;if(!this._isValidPosition(i,n,0)||!this._isValidPosition(s,r,0))return!1;if(t===1){const a=n>1?this._buffer.getLineCharCode(i,n-2):0,l=r>1&&r<=this._buffer.getLineLength(s)?this._buffer.getLineCharCode(s,r-2):0,c=zi(a),d=zi(l);return!c&&!d}return!0}validateRange(e){if(this._assertNotDisposed(),e instanceof k&&!(e instanceof le)&&this._isValidRange(e,1))return e;const i=this._validatePosition(e.startLineNumber,e.startColumn,0),n=this._validatePosition(e.endLineNumber,e.endColumn,0),s=i.lineNumber,r=i.column,a=n.lineNumber,l=n.column;{const c=r>1?this._buffer.getLineCharCode(s,r-2):0,d=l>1&&l<=this._buffer.getLineLength(a)?this._buffer.getLineCharCode(a,l-2):0,h=zi(c),u=zi(d);return!h&&!u?new k(s,r,a,l):s===a&&r===l?new k(s,r-1,a,l-1):h&&u?new k(s,r-1,a,l+1):h?new k(s,r-1,a,l):new k(s,r,a,l+1)}}modifyPosition(e,t){this._assertNotDisposed();const i=this.getOffsetAt(e)+t;return this.getPositionAt(Math.min(this._buffer.getLength(),Math.max(0,i)))}getFullModelRange(){this._assertNotDisposed();const e=this.getLineCount();return new k(1,1,e,this.getLineMaxColumn(e))}findMatchesLineByLine(e,t,i,n){return this._buffer.findMatchesLineByLine(e,t,i,n)}findMatches(e,t,i,n,s,r,a=eme){this._assertNotDisposed();let l=null;t!==null&&typeof t!="boolean"&&(Array.isArray(t)||(t=[t]),t.every(h=>k.isIRange(h))&&(l=t.map(h=>this.validateRange(h)))),l===null&&(l=[this.getFullModelRange()]),l=l.sort((h,u)=>h.startLineNumber-u.startLineNumber||h.startColumn-u.startColumn);const c=[];c.push(l.reduce((h,u)=>k.areIntersecting(h,u)?h.plusRange(u):(c.push(h),u)));let d;if(!i&&e.indexOf(`
|
||||
`)<0){const u=new Yf(e,i,n,s).parseSearchRequest();if(!u)return[];d=f=>this.findMatchesLineByLine(f,u,r,a)}else d=h=>Nx.findMatches(this,new Yf(e,i,n,s),h,r,a);return c.map(d).reduce((h,u)=>h.concat(u),[])}findNextMatch(e,t,i,n,s,r){this._assertNotDisposed();const a=this.validatePosition(t);if(!i&&e.indexOf(`
|
||||
`)<0){const c=new Yf(e,i,n,s).parseSearchRequest();if(!c)return null;const d=this.getLineCount();let h=new k(a.lineNumber,a.column,d,this.getLineMaxColumn(d)),u=this.findMatchesLineByLine(h,c,r,1);return Nx.findNextMatch(this,new Yf(e,i,n,s),a,r),u.length>0||(h=new k(1,1,a.lineNumber,this.getLineMaxColumn(a.lineNumber)),u=this.findMatchesLineByLine(h,c,r,1),u.length>0)?u[0]:null}return Nx.findNextMatch(this,new Yf(e,i,n,s),a,r)}findPreviousMatch(e,t,i,n,s,r){this._assertNotDisposed();const a=this.validatePosition(t);return Nx.findPreviousMatch(this,new Yf(e,i,n,s),a,r)}pushStackElement(){this._commandManager.pushStackElement()}popStackElement(){this._commandManager.popStackElement()}pushEOL(e){if((this.getEOL()===`
|
||||
`?0:1)!==e)try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),this._initialUndoRedoSnapshot===null&&(this._initialUndoRedoSnapshot=this._undoRedoService.createSnapshot(this.uri)),this._commandManager.pushEOL(e)}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}}_validateEditOperation(e){return e instanceof VM?e:new VM(e.identifier||null,this.validateRange(e.range),e.text,e.forceMoveMarkers||!1,e.isAutoWhitespaceEdit||!1,e._isTracked||!1)}_validateEditOperations(e){const t=[];for(let i=0,n=e.length;i<n;i++)t[i]=this._validateEditOperation(e[i]);return t}pushEditOperations(e,t,i,n,s){try{return this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),this._pushEditOperations(e,this._validateEditOperations(t),i,n,s)}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}}_pushEditOperations(e,t,i,n,s){if(this._options.trimAutoWhitespace&&this._trimAutoWhitespaceLines){const r=t.map(l=>({range:this.validateRange(l.range),text:l.text}));let a=!0;if(e)for(let l=0,c=e.length;l<c;l++){const d=e[l];let h=!1;for(let u=0,f=r.length;u<f;u++){const g=r[u].range,p=g.startLineNumber>d.endLineNumber,_=d.startLineNumber>g.endLineNumber;if(!p&&!_){h=!0;break}}if(!h){a=!1;break}}if(a)for(let l=0,c=this._trimAutoWhitespaceLines.length;l<c;l++){const d=this._trimAutoWhitespaceLines[l],h=this.getLineMaxColumn(d);let u=!0;for(let f=0,g=r.length;f<g;f++){const p=r[f].range,_=r[f].text;if(!(d<p.startLineNumber||d>p.endLineNumber)&&!(d===p.startLineNumber&&p.startColumn===h&&p.isEmpty()&&_&&_.length>0&&_.charAt(0)===`
|
||||
`)&&!(d===p.startLineNumber&&p.startColumn===1&&p.isEmpty()&&_&&_.length>0&&_.charAt(_.length-1)===`
|
||||
`)){u=!1;break}}if(u){const f=new k(d,1,d,h);t.push(new VM(null,f,null,!1,!1,!1))}}this._trimAutoWhitespaceLines=null}return this._initialUndoRedoSnapshot===null&&(this._initialUndoRedoSnapshot=this._undoRedoService.createSnapshot(this.uri)),this._commandManager.pushEditOperation(e,t,i,n,s)}_applyUndo(e,t,i,n){const s=e.map(r=>{const a=this.getPositionAt(r.newPosition),l=this.getPositionAt(r.newEnd);return{range:new k(a.lineNumber,a.column,l.lineNumber,l.column),text:r.oldText}});this._applyUndoRedoEdits(s,t,!0,!1,i,n)}_applyRedo(e,t,i,n){const s=e.map(r=>{const a=this.getPositionAt(r.oldPosition),l=this.getPositionAt(r.oldEnd);return{range:new k(a.lineNumber,a.column,l.lineNumber,l.column),text:r.newText}});this._applyUndoRedoEdits(s,t,!1,!0,i,n)}_applyUndoRedoEdits(e,t,i,n,s,r){try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),this._isUndoing=i,this._isRedoing=n,this.applyEdits(e,!1),this.setEOL(t),this._overwriteAlternativeVersionId(s)}finally{this._isUndoing=!1,this._isRedoing=!1,this._eventEmitter.endDeferredEmit(r),this._onDidChangeDecorations.endDeferredEmit()}}applyEdits(e,t,i){try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit();const n=this._validateEditOperations(e);return this._doApplyEdits(n,t??!1,i??Kn.applyEdits())}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}}_doApplyEdits(e,t,i){const n=this._buffer.getLineCount(),s=this._buffer.applyEdits(e,this._options.trimAutoWhitespace,t),r=this._buffer.getLineCount(),a=s.changes;if(this._trimAutoWhitespaceLines=s.trimAutoWhitespaceLineNumbers,a.length!==0){for(let d=0,h=a.length;d<h;d++){const u=a[d];this._decorationsTree.acceptReplace(u.rangeOffset,u.rangeLength,u.text.length,u.forceMoveMarkers)}const l=[];this._increaseVersionId();let c=n;for(let d=0,h=a.length;d<h;d++){const u=a[d],[f]=Mh(u.text);this._onDidChangeDecorations.fire();const g=u.range.startLineNumber,p=u.range.endLineNumber,_=p-g,b=f,C=Math.min(_,b),w=b-_,v=r-c-w+g,S=v,L=v+b,x=this._decorationsTree.getInjectedTextInInterval(this,this.getOffsetAt(new M(S,1)),this.getOffsetAt(new M(L,this.getLineMaxColumn(L))),0),I=Fa.fromDecorations(x),D=new Rc(I);for(let R=C;R>=0;R--){const O=g+R,F=v+R;D.takeFromEndWhile(U=>U.lineNumber>F);const B=D.takeFromEndWhile(U=>U.lineNumber===F);l.push(new YU(O,this.getLineContent(F),B))}if(C<_){const R=g+C;l.push(new pge(R+1,p))}if(C<b){const R=new Rc(I),O=g+C,F=b-C,B=r-c-F+O+1,U=[],K=[];for(let ne=0;ne<F;ne++){const Q=B+ne;K[ne]=this.getLineContent(Q),R.takeWhile(se=>se.lineNumber<Q),U[ne]=R.takeWhile(se=>se.lineNumber===Q)}l.push(new mge(O+1,g+b,K,U))}c+=w}this._emitContentChangedEvent(new P_(l,this.getVersionId(),this._isUndoing,this._isRedoing),{changes:a,eol:this._buffer.getEOL(),isEolChange:!1,versionId:this.getVersionId(),isUndoing:this._isUndoing,isRedoing:this._isRedoing,isFlush:!1,detailedReasons:[i],detailedReasonsChangeLengths:[a.length]})}return s.reverseEdits===null?void 0:s.reverseEdits}undo(){return this._undoRedoService.undo(this.uri)}canUndo(){return this._undoRedoService.canUndo(this.uri)}redo(){return this._undoRedoService.redo(this.uri)}canRedo(){return this._undoRedoService.canRedo(this.uri)}handleBeforeFireDecorationsChangedEvent(e,t,i){if(e&&e.size>0){const s=Array.from(e).map(r=>new YU(r,this.getLineContent(r),this._getInjectedTextInLine(r)));this._onDidChangeInjectedText.fire(new XU(s))}if(t&&t.size>0){const s=Array.from(t).map(r=>new fge(r.ownerId,r.decorationId,r.lineNumber,r.lineHeight));this._onDidChangeLineHeight.fire(new QU(s))}if(i&&i.size>0){const s=Array.from(i).map(r=>new gge(r.ownerId,r.lineNumber));this._onDidChangeFont.fire(new JU(s))}}changeDecorations(e,t=0){this._assertNotDisposed();try{return this._onDidChangeDecorations.beginDeferredEmit(),this._changeDecorations(t,e)}finally{this._onDidChangeDecorations.endDeferredEmit()}}_changeDecorations(e,t){const i={addDecoration:(s,r)=>this._deltaDecorationsImpl(e,[],[{range:s,options:r}])[0],changeDecoration:(s,r)=>{this._changeDecorationImpl(e,s,r)},changeDecorationOptions:(s,r)=>{this._changeDecorationOptionsImpl(e,s,J$(r))},removeDecoration:s=>{this._deltaDecorationsImpl(e,[s],[])},deltaDecorations:(s,r)=>s.length===0&&r.length===0?[]:this._deltaDecorationsImpl(e,s,r)};let n=null;try{n=t(i)}catch(s){De(s)}return i.addDecoration=V1,i.changeDecoration=V1,i.changeDecorationOptions=V1,i.removeDecoration=V1,i.deltaDecorations=V1,n}deltaDecorations(e,t,i=0){if(this._assertNotDisposed(),e||(e=[]),e.length===0&&t.length===0)return[];try{return this._deltaDecorationCallCnt++,this._deltaDecorationCallCnt>1&&(console.warn("Invoking deltaDecorations recursively could lead to leaking decorations."),De(new Error("Invoking deltaDecorations recursively could lead to leaking decorations."))),this._onDidChangeDecorations.beginDeferredEmit(),this._deltaDecorationsImpl(i,e,t)}finally{this._onDidChangeDecorations.endDeferredEmit(),this._deltaDecorationCallCnt--}}_get
Line truncated
|
||||
`)>=0)return null;const r=s.text.match(/([)\]}>'"`])([^)\]}>'"`]*)$/);if(!r)return null;const a=r[1],l=this.context.cursorConfig.autoClosingPairs.autoClosingPairsCloseSingleChar.get(a);if(!l||l.length!==1)return null;const c=l[0].open,d=s.text.length-r[2].length-1,h=s.text.lastIndexOf(c,d-1);if(h===-1)return null;t.push([h,d])}return t}executeEdits(e,t,i,n,s){let r=null;t==="snippet"&&(r=this._findAutoClosingPairs(i)),r&&(i[0]._isTracked=!0);const a=[],l=[],c=this._model.pushEditOperations(this.getSelections(),i,d=>{if(r)for(let u=0,f=r.length;u<f;u++){const[g,p]=r[u],_=d[u],b=_.range.startLineNumber,C=_.range.startColumn-1+g,w=_.range.startColumn-1+p;a.push(new k(b,w+1,b,w+2)),l.push(new k(b,C+1,b,w+2))}const h=n(d);return h&&(this._isHandling=!0),h},void 0,s);c&&(this._isHandling=!1,this.setSelections(e,t,c,0)),a.length>0&&this._pushAutoClosedAction(a,l)}_executeEdit(e,t,i,n=0){if(this.context.cursorConfig.readOnly)return;const s=$1.from(this._model,this);this._cursors.stopTrackingSelections(),this._isHandling=!0;try{this._cursors.ensureValidState(),e()}catch(r){De(r)}this._isHandling=!1,this._cursors.startTrackingSelections(),this._validateAutoClosedActions(),this._emitStateChangedIfNecessary(t,i,n,s,!1)&&this.revealAll(t,i,!1,0,!0,0)}getAutoClosedCharacters(){return aj.getAllAutoClosedCharacters(this._autoClosedActions)}startComposition(e){this._compositionState=new j1(this._model,this.getSelections())}endComposition(e,t){const i=Kn.cursor({kind:"compositionEnd",detailedSource:t}),n=this._compositionState?this._compositionState.deduceOutcome(this._model,this.getSelections()):null;this._compositionState=null,this._executeEdit(()=>{t==="keyboard"&&this._executeEditOperation(Ch.compositionEndWithInterceptors(this._prevEditOperationType,this.context.cursorConfig,this._model,n,this.getSelections(),this.getAutoClosedCharacters()),i)},e,t)}type(e,t,i){const n=Kn.cursor({kind:"type",detailedSource:i});this._executeEdit(()=>{if(i==="keyboard"){const s=t.length;let r=0;for(;r<s;){const a=VR(t,r),l=t.substr(r,a);this._executeEditOperation(Ch.typeWithInterceptors(!!this._compositionState,this._prevEditOperationType,this.context.cursorConfig,this._model,this.getSelections(),this.getAutoClosedCharacters(),l),n),r+=a}}else this._executeEditOperation(Ch.typeWithoutInterceptors(this._prevEditOperationType,this.context.cursorConfig,this._model,this.getSelections(),t),n)},e,i)}compositionType(e,t,i,n,s,r){const a=Kn.cursor({kind:"compositionType",detailedSource:r});if(t.length===0&&i===0&&n===0){if(s!==0){const l=this.getSelections().map(c=>{const d=c.getPosition();return new le(d.lineNumber,d.column+s,d.lineNumber,d.column+s)});this.setSelections(e,r,l,0)}return}this._executeEdit(()=>{this._executeEditOperation(Ch.compositionType(this._prevEditOperationType,this.context.cursorConfig,this._model,this.getSelections(),t,i,n,s),a)},e,r)}paste(e,t,i,n,s){const r=Kn.cursor({kind:"paste",detailedSource:s});this._executeEdit(()=>{this._executeEditOperation(Ch.paste(this.context.cursorConfig,this._model,this.getSelections(),t,i,n||[]),r)},e,s,4)}cut(e,t){const i=Kn.cursor({kind:"cut",detailedSource:t});this._executeEdit(()=>{this._executeEditOperation(kf.cut(this.context.cursorConfig,this._model,this.getSelections()),i)},e,t)}executeCommand(e,t,i){const n=Kn.cursor({kind:"executeCommand",detailedSource:i});this._executeEdit(()=>{this._cursors.killSecondaryCursors(),this._executeEditOperation(new ws(0,[t],{shouldPushStackElementBefore:!1,shouldPushStackElementAfter:!1}),n)},e,i)}executeCommands(e,t,i){const n=Kn.cursor({kind:"executeCommands",detailedSource:i});this._executeEdit(()=>{this._executeEditOperation(new ws(0,t,{shouldPushStackElementBefore:!1,shouldPushStackElementAfter:!1}),n)},e,i)}}class $1{static from(e,t){return new $1(e.getVersionId(),t.getCursorStates())}constructor(e,t){this.modelVersionId=e,this.cursorState=t}equals(e){if(!e||this.modelVersionId!==e.modelVersionId||this.cursorState.length!==e.cursorState.length)return!1;for(let t=0,i=this.cursorState.length;t<i;t++)if(!this.cursorState[t].equals(e.cursorState[t]))return!1;return!0}}class aj{static getAllAutoClosedCharacters(e){let t=[];for(const i of e)t=t.concat(i.getAutoClosedCharactersRanges());return t}constructor(e,t,i){this._model=e,this._autoClosedCharactersDecorations=t,this._autoClosedEnclosingDecorations=i}dispose(){this._autoClosedCharactersDecorations=this._model.deltaDecorations(this._autoClosedCharactersDecorations,[]),this._autoClosedEnclosingDecorations=this._model.deltaDecorations(this._autoClosedEnclosingDecorations,[])}getAutoClosedCharactersRanges(){const e=[];for(let t=0;t<this._autoClosedCharactersDecorations.length;t++){const i=this._model.getDecorationRange(this._autoClosedCharactersDecorations[t]);i&&e.push(i)}return e}isValid(e){const t=[];for(let i=0;i<this._autoClosedEnclosingDecorations.length;i++){const n=this._model.getDecorationRange(this._autoClosedEnclosingDecorations[i]);if(n&&(t.push(n),n.startLineNumber!==n.endLineNumber))rLine truncated
|
||||
`:this.model.getEOL();e=e.slice(0),e.sort(k.compareRangesUsingStarts);let s=!1,r=!1;for(const l of e)l.isEmpty()?s=!0:r=!0;if(!r){if(!t)return"";const l=e.map(d=>d.startLineNumber);let c="";for(let d=0;d<l.length;d++)d>0&&l[d-1]===l[d]||(c+=this.model.getLineContent(l[d])+n);return c}if(s&&t){const l=[];let c=0;for(const d of e){const h=d.startLineNumber;d.isEmpty()?h!==c&&l.push(this.model.getLineContent(h)):l.push(this.model.getValueInRange(d,i?2:0)),c=h}return l.length===1?l[0]:l}const a=[];for(const l of e)l.isEmpty()||a.push(this.model.getValueInRange(l,i?2:0));return a.length===1?a[0]:a}getRichTextToCopy(e,t){const i=this.model.getLanguageId();if(i===Ho||e.length!==1)return null;let n=e[0];if(n.isEmpty()){if(!t)return null;const d=n.startLineNumber;n=new k(d,this.model.getLineMinColumn(d),d,this.model.getLineMaxColumn(d))}const s=this._configuration.options.get(59),r=this._getColorMap(),l=/[:;\\\/<>]/.test(s.fontFamily)||s.fontFamily===$s.fontFamily;let c;return l?c=$s.fontFamily:(c=s.fontFamily,c=c.replace(/"/g,"'"),/[,']/.test(c)||/[+ ]/.test(c)&&(c=`'${c}'`),c=`${c}, ${$s.fontFamily}`),{mode:i,html:`<div style="color: ${r[1]};background-color: ${r[2]};font-family: ${c};font-weight: ${s.fontWeight};font-size: ${s.fontSize}px;line-height: ${s.lineHeight}px;white-space: pre;">`+this._getHTMLToCopy(n,r)+"</div>"}}_getHTMLToCopy(e,t){const i=e.startLineNumber,n=e.startColumn,s=e.endLineNumber,r=e.endColumn,a=this.getTabSize();let l="";for(let c=i;c<=s;c++){const d=this.model.tokenization.getLineTokens(c),h=d.getLineContent(),u=c===i?n-1:0,f=c===s?r-1:h.length;h===""?l+="<br>":l+=Ume(h,d.inflate(),t,u,f,a,gn)}return l}_getColorMap(){const e=hi.getColorMap(),t=["#000000"];if(e)for(let i=1,n=e.length;i<n;i++)t[i]=z.Format.CSS.formatHex(e[i]);return t}getPrimaryCursorState(){return this._cursor.getPrimaryCursorState()}getLastAddedCursorIndex(){return this._cursor.getLastAddedCursorIndex()}getCursorStates(){return this._cursor.getCursorStates()}setCursorStates(e,t,i){return this._withViewEventsCollector(n=>this._cursor.setStates(n,e,t,i))}getCursorColumnSelectData(){return this._cursor.getCursorColumnSelectData()}getCursorAutoClosedCharacters(){return this._cursor.getAutoClosedCharacters()}setCursorColumnSelectData(e){this._cursor.setCursorColumnSelectData(e)}getPrevEditOperationType(){return this._cursor.getPrevEditOperationType()}setPrevEditOperationType(e){this._cursor.setPrevEditOperationType(e)}getSelection(){return this._cursor.getSelection()}getSelections(){return this._cursor.getSelections()}getPosition(){return this._cursor.getPrimaryCursorState().modelState.position}setSelections(e,t,i=0){this._withViewEventsCollector(n=>this._cursor.setSelections(n,e,t,i))}saveCursorState(){return this._cursor.saveState()}restoreCursorState(e){this._withViewEventsCollector(t=>this._cursor.restoreState(t,e))}_executeCursorEdit(e){if(this._cursor.context.cursorConfig.readOnly){this._eventDispatcher.emitOutgoingEvent(new Nme);return}this._withViewEventsCollector(e)}executeEdits(e,t,i,n){this._executeCursorEdit(s=>this._cursor.executeEdits(s,e,t,i,n))}startComposition(){this._executeCursorEdit(e=>this._cursor.startComposition(e))}endComposition(e){this._executeCursorEdit(t=>this._cursor.endComposition(t,e))}type(e,t){this._executeCursorEdit(i=>this._cursor.type(i,e,t))}compositionType(e,t,i,n,s){this._executeCursorEdit(r=>this._cursor.compositionType(r,e,t,i,n,s))}paste(e,t,i,n){this._executeCursorEdit(s=>this._cursor.paste(s,e,t,i,n))}cut(e){this._executeCursorEdit(t=>this._cursor.cut(t,e))}executeCommand(e,t){this._executeCursorEdit(i=>this._cursor.executeCommand(i,e,t))}executeCommands(e,t){this._executeCursorEdit(i=>this._cursor.executeCommands(i,e,t))}revealAllCursors(e,t,i=!1){this._withViewEventsCollector(n=>this._cursor.revealAll(n,e,i,0,t,0))}revealPrimaryCursor(e,t,i=!1){this._withViewEventsCollector(n=>this._cursor.revealPrimary(n,e,i,0,t,0))}revealTopMostCursor(e){const t=this._cursor.getTopMostViewPosition(),i=new k(t.lineNumber,t.column,t.lineNumber,t.column);this._withViewEventsCollector(n=>n.emitViewEvent(new U1(e,!1,i,null,0,!0,0)))}revealBottomMostCursor(e){const t=this._cursor.getBottomMostViewPosition(),i=new k(t.lineNumber,t.column,t.lineNumber,t.column);this._withViewEventsCollector(n=>n.emitViewEvent(new U1(e,!1,i,null,0,!0,0)))}revealRange(e,t,i,n,s){this._withViewEventsCollector(r=>r.emitViewEvent(new U1(e,!1,i,null,n,t,s)))}changeWhitespace(e){this.viewLayout.changeWhitespace(e)&&(this._eventDispatcher.emitSingleViewEvent(new Lme),this._eventDispatcher.emitOutgoingEvent(new Dme))}_withViewEventsCollector(e){return this._transactionalTarget.batchChanges(()=>{try{const t=this._eventDispatcher.beginEmitViewEvents();return e(t)}finally{this._eventDispatcher.endEmitViewEvents()}})}batchEvents(e){this._withViewEventsCollector(()=>{e()})}normalizePosition(e,t){return this._lines.normalizePosition(e,t)}getLineIndentColumn(e){return this._lines.getLineIndentColumn(e)}};class TP{static create(e){const
Line truncated
|
||||
`?i=1:e&&e.lineEnding&&e.lineEnding===`\r
|
||||
`&&(i=2),this._modelData.model.getValue(i,t)}setValue(e){try{if(this._beginUpdate(),!this._modelData)return;this._modelData.model.setValue(e)}finally{this._endUpdate()}}getModel(){return this._modelData?this._modelData.model:null}setModel(e=null){try{this._beginUpdate();const t=e;if(this._modelData===null&&t===null||this._modelData&&this._modelData.model===t)return;const i={oldModelUrl:this._modelData?.model.uri||null,newModelUrl:t?.uri||null};this._onWillChangeModel.fire(i);const n=this.hasTextFocus(),s=this._detachModel();this._attachModel(t),this.hasModel()?n&&this.focus():(this._editorTextFocus.setValue(!1),this._editorWidgetFocus.setValue(!1)),this._removeDecorationTypes(),this._onDidChangeModel.fire(i),this._postDetachModelCleanup(s),this._contributionsDisposable=this._contributions.onAfterModelAttached()}finally{this._endUpdate()}}_removeDecorationTypes(){if(this._decorationTypeKeysToIds={},this._decorationTypeSubtypes){for(const e in this._decorationTypeSubtypes){const t=this._decorationTypeSubtypes[e];for(const i in t)this._removeDecorationType(e+"-"+i)}this._decorationTypeSubtypes={}}}getVisibleRanges(){return this._modelData?this._modelData.viewModel.getVisibleRanges():[]}getVisibleRangesPlusViewportAboveBelow(){return this._modelData?this._modelData.viewModel.getVisibleRangesPlusViewportAboveBelow():[]}getWhitespaces(){return this._modelData?this._modelData.viewModel.viewLayout.getWhitespaces():[]}static _getVerticalOffsetAfterPosition(e,t,i,n){const s=e.model.validatePosition({lineNumber:t,column:i}),r=e.viewModel.coordinatesConverter.convertModelPositionToViewPosition(s);return e.viewModel.viewLayout.getVerticalOffsetAfterLineNumber(r.lineNumber,n)}getTopForLineNumber(e,t=!1){return this._modelData?rg._getVerticalOffsetForPosition(this._modelData,e,1,t):-1}getTopForPosition(e,t){return this._modelData?rg._getVerticalOffsetForPosition(this._modelData,e,t,!1):-1}static _getVerticalOffsetForPosition(e,t,i,n=!1){const s=e.model.validatePosition({lineNumber:t,column:i}),r=e.viewModel.coordinatesConverter.convertModelPositionToViewPosition(s);return e.viewModel.viewLayout.getVerticalOffsetForLineNumber(r.lineNumber,n)}getBottomForLineNumber(e,t=!1){if(!this._modelData)return-1;const i=this._modelData.model.getLineMaxColumn(e);return rg._getVerticalOffsetAfterPosition(this._modelData,e,i,t)}getLineHeightForPosition(e){if(!this._modelData)return-1;const t=this._modelData.viewModel,i=t.coordinatesConverter,n=M.lift(e);if(i.modelPositionIsVisible(n)){const s=i.convertModelPositionToViewPosition(n);return t.viewLayout.getLineHeightForLineNumber(s.lineNumber)}return 0}setHiddenAreas(e,t,i){this._modelData?.viewModel.setHiddenAreas(e.map(n=>k.lift(n)),t,i)}getVisibleColumnFromPosition(e){if(!this._modelData)return e.column;const t=this._modelData.model.validatePosition(e),i=this._modelData.model.getOptions().tabSize;return ti.visibleColumnFromColumn(this._modelData.model.getLineContent(t.lineNumber),t.column,i)+1}getPosition(){return this._modelData?this._modelData.viewModel.getPosition():null}setPosition(e,t="api"){if(this._modelData){if(!M.isIPosition(e))throw new Error("Invalid arguments");this._modelData.viewModel.setSelections(t,[{selectionStartLineNumber:e.lineNumber,selectionStartColumn:e.column,positionLineNumber:e.lineNumber,positionColumn:e.column}])}}_sendRevealRange(e,t,i,n){if(!this._modelData)return;if(!k.isIRange(e))throw new Error("Invalid arguments");const s=this._modelData.model.validateRange(e),r=this._modelData.viewModel.coordinatesConverter.convertModelRangeToViewRange(s);this._modelData.viewModel.revealRange("api",i,r,t,n)}revealLine(e,t=0){this._revealLine(e,0,t)}revealLineInCenter(e,t=0){this._revealLine(e,1,t)}revealLineInCenterIfOutsideViewport(e,t=0){this._revealLine(e,2,t)}revealLineNearTop(e,t=0){this._revealLine(e,5,t)}_revealLine(e,t,i){if(typeof e!="number")throw new Error("Invalid arguments");this._sendRevealRange(new k(e,1,e,1),t,!1,i)}revealPosition(e,t=0){this._revealPosition(e,0,!0,t)}revealPositionInCenter(e,t=0){this._revealPosition(e,1,!0,t)}revealPositionInCenterIfOutsideViewport(e,t=0){this._revealPosition(e,2,!0,t)}revealPositionNearTop(e,t=0){this._revealPosition(e,5,!0,t)}_revealPosition(e,t,i,n){if(!M.isIPosition(e))throw new Error("Invalid arguments");this._sendRevealRange(new k(e.lineNumber,e.column,e.lineNumber,e.column),t,i,n)}getSelection(){return this._modelData?this._modelData.viewModel.getSelection():null}getSelections(){return this._modelData?this._modelData.viewModel.getSelections():null}setSelection(e,t="api"){const i=le.isISelection(e),n=k.isIRange(e);if(!i&&!n)throw new Error("Invalid arguments");if(i)this._setSelectionImpl(e,t);else if(n){const s={selectionStartLineNumber:e.startLineNumber,selectionStartColumn:e.startColumn,positionLineNumber:e.endLineNumber,positionColumn:e.endColumn};this._setSelectionImpl(s,t)}}_setSelectionImpl(e,t){if(!this._modelData)return;const i=new le(e.selectionStartLineNumber,e.selectionStartColumn,e.positionLineNumbe
Line truncated
|
||||
`){return this._parts.join(e)}}function I_e(o){const e=D_e(o);if(e&&e.length>0)return new Uint32Array(e)}let qo=0;const Hh=new Uint32Array(10);function D_e(o){if(qo=0,Ml(o,MP,4352),qo>0||(Ml(o,AP,4449),qo>0)||(Ml(o,PP,4520),qo>0)||(Ml(o,cg,12593),qo))return Hh.subarray(0,qo);if(o>=44032&&o<=55203){const e=o-44032,t=e%588,i=Math.floor(e/588),n=Math.floor(t/28),s=t%28-1;if(i<MP.length?Ml(i,MP,0):4352+i-12593<cg.length&&Ml(4352+i,cg,12593),n<AP.length?Ml(n,AP,0):4449+n-12593<cg.length&&Ml(4449+n-12593,cg,12593),s>=0&&(s<PP.length?Ml(s,PP,0):4520+s-12593<cg.length&&Ml(4520+s-12593,cg,12593)),qo>0)return Hh.subarray(0,qo)}}function Ml(o,e,t){o>=t&&o<t+e.length&&E_e(e[o-t])}function E_e(o){o!==0&&(Hh[qo++]=o&255,o>>8&&(Hh[qo++]=o>>8&255),o>>16&&(Hh[qo++]=o>>16&255))}const MP=new Uint8Array([114,82,115,101,69,102,97,113,81,116,84,100,119,87,99,122,120,118,103]),AP=new Uint16Array([107,111,105,79,106,112,117,80,104,27496,28520,27752,121,110,27246,28782,27758,98,109,27757,108]),PP=new Uint16Array([114,82,29810,115,30579,26483,101,102,29286,24934,29030,29798,30822,30310,26470,97,113,29809,116,84,100,119,99,122,120,118,103]),cg=new Uint16Array([114,82,29810,115,30579,26483,101,69,102,29286,24934,29030,29798,30822,30310,26470,97,113,81,29809,116,84,100,119,87,99,122,120,118,103,107,111,105,79,106,112,117,80,104,27496,28520,27752,121,110,27246,28782,27758,98,109,27757,108]);function OP(...o){return function(e,t){for(let i=0,n=o.length;i<n;i++){const s=o[i](e,t);if(s)return s}return null}}yj.bind(void 0,!1);const K1=yj.bind(void 0,!0);function yj(o,e,t){if(!t||t.length<e.length)return null;let i;return o?i=WR(t,e):i=t.indexOf(e)===0,i?e.length>0?[{start:0,end:e.length}]:[]:null}function Lj(o,e){const t=e.toLowerCase().indexOf(o.toLowerCase());return t===-1?null:[{start:t,end:t+o.length}]}function xj(o,e){return FP(o.toLowerCase(),e.toLowerCase(),0,0)}function FP(o,e,t,i){if(t===o.length)return[];if(i===e.length)return null;if(o[t]===e[i]){let n=null;return(n=FP(o,e,t+1,i+1))?VP({start:i,end:i+1},n):null}return FP(o,e,t,i+1)}function WP(o){return 97<=o&&o<=122}function Kx(o){return 65<=o&&o<=90}function BP(o){return 48<=o&&o<=57}function kj(o){return o===32||o===9||o===10||o===13}const Ij=new Set;"()[]{}<>`'\"-/;:,.?!".split("").forEach(o=>Ij.add(o.charCodeAt(0)));function Gx(o){return kj(o)||Ij.has(o)}function Dj(o,e){return o===e||Gx(o)&&Gx(e)}const HP=new Map;function Ej(o){if(HP.has(o))return HP.get(o);let e;const t=I_e(o);return t&&(e=t),HP.set(o,e),e}function Nj(o){return WP(o)||Kx(o)||BP(o)}function VP(o,e){return e.length===0?e=[o]:o.end===e[0].start?e[0].start=o.start:e.unshift(o),e}function Tj(o,e){for(let t=e;t<o.length;t++){const i=o.charCodeAt(t);if(Kx(i)||BP(i)||t>0&&!Nj(o.charCodeAt(t-1)))return t}return o.length}function zP(o,e,t,i){if(t===o.length)return[];if(i===e.length)return null;if(o[t]!==e[i].toLowerCase())return null;{let n=null,s=i+1;for(n=zP(o,e,t+1,i+1);!n&&(s=Tj(e,s))<e.length;)n=zP(o,e,t+1,s),s++;return n===null?null:VP({start:i,end:i+1},n)}}function N_e(o){let e=0,t=0,i=0,n=0,s=0;for(let d=0;d<o.length;d++)s=o.charCodeAt(d),Kx(s)&&e++,WP(s)&&t++,Nj(s)&&i++,BP(s)&&n++;const r=e/o.length,a=t/o.length,l=i/o.length,c=n/o.length;return{upperPercent:r,lowerPercent:a,alphaPercent:l,numericPercent:c}}function T_e(o){const{upperPercent:e,lowerPercent:t}=o;return t===0&&e>.6}function R_e(o){const{upperPercent:e,lowerPercent:t,alphaPercent:i,numericPercent:n}=o;return t>.2&&e<.8&&i>.6&&n<.2}function M_e(o){let e=0,t=0,i=0,n=0;for(let s=0;s<o.length;s++)i=o.charCodeAt(s),Kx(i)&&e++,WP(i)&&t++,kj(i)&&n++;return(e===0||t===0)&&n===0?o.length<=30:e<=5}function Rj(o,e){if(!e||(e=e.trim(),e.length===0)||!M_e(o))return null;e.length>60&&(e=e.substring(0,60));const t=N_e(e);if(!R_e(t)){if(!T_e(t))return null;e=e.toLowerCase()}let i=null,n=0;for(o=o.toLowerCase();n<e.length&&(i=zP(o,e,0,n))===null;)n=Tj(e,n+1);return i}function A_e(o,e,t=!1){if(!e||e.length===0)return null;let i=null,n=0;for(o=o.toLowerCase(),e=e.toLowerCase();n<e.length&&(i=UP(o,e,0,n,t),i===null);)n=Mj(e,n+1);return i}function UP(o,e,t,i,n){let s=0;if(t===o.length)return[];if(i===e.length)return null;if(!Dj(o.charCodeAt(t),e.charCodeAt(i))){const l=Ej(o.charCodeAt(t));if(!l)return null;for(let c=0;c<l.length;c++)if(!Dj(l[c],e.charCodeAt(i+c)))return null;s+=l.length-1}let r=null,a=i+s+1;if(r=UP(o,e,t+1,a,n),!n)for(;!r&&(a=Mj(e,a))<e.length;)r=UP(o,e,t+1,a,n),a++;if(!r)return null;if(o.charCodeAt(t)!==e.charCodeAt(i)){const l=Ej(o.charCodeAt(t));if(!l)return r;for(let c=0;c<l.length;c++)if(l[c]!==e.charCodeAt(i+c))return r}return VP({start:i,end:i+s+1},r)}function Mj(o,e){for(let t=e;t<o.length;t++)if(Gx(o.charCodeAt(t))||t>0&&Gx(o.charCodeAt(t-1)))return t;return o.length}const P_e=OP(K1,Rj,Lj),O_e=OP(K1,Rj,xj),Aj=new Yr(1e4);function Pj(o,e,t=!1){if(typeof o!="string"||typeof e!="string")return null;let i=Aj.get(o);i||(i=new RegExp(_ne(o),"i"),Aj.set(o,i));const n=i.exec(e);return n?[{start:n.index,end:n.index+n[0].length}]:t?O_e(o,e):P_e(o,Line truncated
|
||||
`:`
|
||||
|
||||
`),this}appendMarkdown(e){return this.value+=e,this}appendCodeblock(e,t){return this.value+=`
|
||||
${J_e(t,e)}
|
||||
`,this}appendLink(e,t,i){return this.value+="[",this.value+=this._escape(t,"]"),this.value+="](",this.value+=this._escape(String(e),")"),i&&(this.value+=` "${this._escape(this._escape(i,'"'),")")}"`),this.value+=")",this}_escape(e,t){const i=new RegExp(ao(t),"g");return e.replace(i,(n,s)=>e.charAt(s-1)!=="\\"?`\\${n}`:n)}}function q_(o){return ud(o)?!o.value:Array.isArray(o)?o.every(q_):!0}function ud(o){return o instanceof Gn?!0:o&&typeof o=="object"?typeof o.value=="string"&&(typeof o.isTrusted=="boolean"||typeof o.isTrusted=="object"||o.isTrusted===void 0)&&(typeof o.supportThemeIcons=="boolean"||o.supportThemeIcons===void 0)&&(typeof o.supportAlertSyntax=="boolean"||o.supportAlertSyntax===void 0):!1}function X_e(o,e){return o===e?!0:!o||!e?!1:o.value===e.value&&o.isTrusted===e.isTrusted&&o.supportThemeIcons===e.supportThemeIcons&&o.supportHtml===e.supportHtml&&o.supportAlertSyntax===e.supportAlertSyntax&&(o.baseUri===e.baseUri||!!o.baseUri&&!!e.baseUri&&gh(be.from(o.baseUri),be.from(e.baseUri)))}function Q_e(o){return o.replace(/[\\`*_{}[\]()#+\-!~]/g,"\\$&")}function J_e(o,e){const t=o.match(/^`+/gm)?.reduce((n,s)=>n.length>s.length?n:s).length??0,i=t>=3?t+1:3;return[`${"`".repeat(i)}${e}`,o,`${"`".repeat(i)}`].join(`
|
||||
`)}function Qx(o){return o.replace(/"/g,""")}function ZP(o){return o&&o.replace(/\\([\\`*_{}[\]()#+\-.!~])/g,"$1")}function ebe(o){const e=[],t=o.split("|").map(n=>n.trim());o=t[0];const i=t[1];if(i){const n=/height=(\d+)/.exec(i),s=/width=(\d+)/.exec(i),r=n?n[1]:"",a=s?s[1]:"",l=isFinite(parseInt(a)),c=isFinite(parseInt(r));l&&e.push(`width="${a}"`),c&&e.push(`height="${r}"`)}return{href:o,dimensions:e}}function Hj(o,...e){return be.from({scheme:Le.command,path:o,query:e.length?encodeURIComponent(JSON.stringify(e)):void 0})}class YP{constructor(e){this._prefix=e,this._lastId=0}nextId(){return this._prefix+ ++this._lastId}}const XP=new YP("id#");function QP(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}let fg=QP();function Vj(o){fg=o}const zj=/[&<>"']/,tbe=new RegExp(zj.source,"g"),Uj=/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,ibe=new RegExp(Uj.source,"g"),nbe={"&":"&","<":"<",">":">",'"':""","'":"'"},$j=o=>nbe[o];function Pr(o,e){if(e){if(zj.test(o))return o.replace(tbe,$j)}else if(Uj.test(o))return o.replace(ibe,$j);return o}const sbe=/(^|[^\[])\^/g;function ki(o,e){let t=typeof o=="string"?o:o.source;e=e||"";const i={replace:(n,s)=>{let r=typeof s=="string"?s:s.source;return r=r.replace(sbe,"$1"),t=t.replace(n,r),i},getRegex:()=>new RegExp(t,e)};return i}function jj(o){try{o=encodeURI(o).replace(/%25/g,"%")}catch{return null}return o}const X1={exec:()=>null};function qj(o,e){const t=o.replace(/\|/g,(s,r,a)=>{let l=!1,c=r;for(;--c>=0&&a[c]==="\\";)l=!l;return l?"|":" |"}),i=t.split(/ \|/);let n=0;if(i[0].trim()||i.shift(),i.length>0&&!i[i.length-1].trim()&&i.pop(),e)if(i.length>e)i.splice(e);else for(;i.length<e;)i.push("");for(;n<i.length;n++)i[n]=i[n].trim().replace(/\\\|/g,"|");return i}function Q1(o,e,t){const i=o.length;if(i===0)return"";let n=0;for(;n<i&&o.charAt(i-n-1)===e;)n++;return o.slice(0,i-n)}function obe(o,e){if(o.indexOf(e[1])===-1)return-1;let t=0;for(let i=0;i<o.length;i++)if(o[i]==="\\")i++;else if(o[i]===e[0])t++;else if(o[i]===e[1]&&(t--,t<0))return i;return-1}function Kj(o,e,t,i){const n=e.href,s=e.title?Pr(e.title):null,r=o[1].replace(/\\([\[\]])/g,"$1");if(o[0].charAt(0)!=="!"){i.state.inLink=!0;const a={type:"link",raw:t,href:n,title:s,text:r,tokens:i.inlineTokens(r)};return i.state.inLink=!1,a}return{type:"image",raw:t,href:n,title:s,text:Pr(r)}}function rbe(o,e){const t=o.match(/^(\s+)(?:```)/);if(t===null)return e;const i=t[1];return e.split(`
|
||||
`).map(n=>{const s=n.match(/^\s+/);if(s===null)return n;const[r]=s;return r.length>=i.length?n.slice(i.length):n}).join(`
|
||||
`)}class Jx{options;rules;lexer;constructor(e){this.options=e||fg}space(e){const t=this.rules.block.newline.exec(e);if(t&&t[0].length>0)return{type:"space",raw:t[0]}}code(e){const t=this.rules.block.code.exec(e);if(t){const i=t[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:t[0],codeBlockStyle:"indented",text:this.options.pedantic?i:Q1(i,`
|
||||
`)}}}fences(e){const t=this.rules.block.fences.exec(e);if(t){const i=t[0],n=rbe(i,t[3]||"");return{type:"code",raw:i,lang:t[2]?t[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):t[2],text:n}}}heading(e){const t=this.rules.block.heading.exec(e);if(t){let i=t[2].trim();if(/#$/.test(i)){const n=Q1(i,"#");(this.options.pedantic||!n||/ $/.test(n))&&(i=n.trim())}return{type:"heading",raw:t[0],depth:t[1].length,text:i,tokens:this.lexer.inline(i)}}}hr(e){const t=this.rules.block.hr.exec(e);if(t)return{type:"hr",raw:Q1(t[0],`
|
||||
`)}}blockquote(e){const t=this.rules.block.blockquote.exec(e);if(t){let i=Q1(t[0],`
|
||||
`).split(`
|
||||
`),n="",s="";const r=[];for(;i.length>0;){let a=!1;const l=[];let c;for(c=0;c<i.length;c++)if(/^ {0,3}>/.test(i[c]))l.push(i[c]),a=!0;else if(!a)l.push(i[c]);else break;i=i.slice(c);const d=l.join(`
|
||||
`),h=d.replace(/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,`
|
||||
$1`).replace(/^ {0,3}>[ \t]?/gm,"");n=n?`${n}
|
||||
${d}`:d,s=s?`${s}
|
||||
${h}`:h;const u=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(h,r,!0),this.lexer.state.top=u,i.length===0)break;const f=r[r.length-1];if(f?.type==="code")break;if(f?.type==="blockquote"){const g=f,p=g.raw+`
|
||||
`+i.join(`
|
||||
`),_=this.blockquote(p);r[r.length-1]=_,n=n.substring(0,n.length-g.raw.length)+_.raw,s=s.substring(0,s.length-g.text.length)+_.text;break}else if(f?.type==="list"){const g=f,p=g.raw+`
|
||||
`+i.join(`
|
||||
`),_=this.list(p);r[r.length-1]=_,n=n.substring(0,n.length-f.raw.length)+_.raw,s=s.substring(0,s.length-g.raw.length)+_.raw,i=p.substring(r[r.length-1].raw.length).split(`
|
||||
`);continue}}return{type:"blockquote",raw:n,tokens:r,text:s}}}list(e){let t=this.rules.block.list.exec(e);if(t){let i=t[1].trim();const n=i.length>1,s={type:"list",raw:"",ordered:n,start:n?+i.slice(0,-1):"",loose:!1,items:[]};i=n?`\\d{1,9}\\${i.slice(-1)}`:`\\${i}`,this.options.pedantic&&(i=n?i:"[*+-]");const r=new RegExp(`^( {0,3}${i})((?:[ ][^\\n]*)?(?:\\n|$))`);let a=!1;for(;e;){let l=!1,c="",d="";if(!(t=r.exec(e))||this.rules.block.hr.test(e))break;c=t[0],e=e.substring(c.length);let h=t[2].split(`
|
||||
`,1)[0].replace(/^\t+/,b=>" ".repeat(3*b.length)),u=e.split(`
|
||||
`,1)[0],f=!h.trim(),g=0;if(this.options.pedantic?(g=2,d=h.trimStart()):f?g=t[1].length+1:(g=t[2].search(/[^ ]/),g=g>4?1:g,d=h.slice(g),g+=t[1].length),f&&/^ *$/.test(u)&&(c+=u+`
|
||||
`,e=e.substring(u.length+1),l=!0),!l){const b=new RegExp(`^ {0,${Math.min(3,g-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),C=new RegExp(`^ {0,${Math.min(3,g-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),w=new RegExp(`^ {0,${Math.min(3,g-1)}}(?:\`\`\`|~~~)`),v=new RegExp(`^ {0,${Math.min(3,g-1)}}#`);for(;e;){const S=e.split(`
|
||||
`,1)[0];if(u=S,this.options.pedantic&&(u=u.replace(/^ {1,4}(?=( {4})*[^ ])/g," ")),w.test(u)||v.test(u)||b.test(u)||C.test(e))break;if(u.search(/[^ ]/)>=g||!u.trim())d+=`
|
||||
`+u.slice(g);else{if(f||h.search(/[^ ]/)>=4||w.test(h)||v.test(h)||C.test(h))break;d+=`
|
||||
`+u}!f&&!u.trim()&&(f=!0),c+=S+`
|
||||
`,e=e.substring(S.length+1),h=u.slice(g)}}s.loose||(a?s.loose=!0:/\n *\n *$/.test(c)&&(a=!0));let p=null,_;this.options.gfm&&(p=/^\[[ xX]\] /.exec(d),p&&(_=p[0]!=="[ ] ",d=d.replace(/^\[[ xX]\] +/,""))),s.items.push({type:"list_item",raw:c,task:!!p,checked:_,loose:!1,text:d,tokens:[]}),s.raw+=c}s.items[s.items.length-1].raw=s.items[s.items.length-1].raw.trimEnd(),s.items[s.items.length-1].text=s.items[s.items.length-1].text.trimEnd(),s.raw=s.raw.trimEnd();for(let l=0;l<s.items.length;l++)if(this.lexer.state.top=!1,s.items[l].tokens=this.lexer.blockTokens(s.items[l].text,[]),!s.loose){const c=s.items[l].tokens.filter(h=>h.type==="space"),d=c.length>0&&c.some(h=>/\n.*\n/.test(h.raw));s.loose=d}if(s.loose)for(let l=0;l<s.items.length;l++)s.items[l].loose=!0;return s}}html(e){const t=this.rules.block.html.exec(e);if(t)return{type:"html",block:!0,raw:t[0],pre:t[1]==="pre"||t[1]==="script"||t[1]==="style",text:t[0]}}def(e){const t=this.rules.block.def.exec(e);if(t){const i=t[1].toLowerCase().replace(/\s+/g," "),n=t[2]?t[2].replace(/^<(.*)>$/,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",s=t[3]?t[3].substring(1,t[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):t[3];return{type:"def",tag:i,raw:t[0],href:n,title:s}}}table(e){const t=this.rules.block.table.exec(e);if(!t||!/[:|]/.test(t[2]))return;const i=qj(t[1]),n=t[2].replace(/^\||\| *$/g,"").split("|"),s=t[3]&&t[3].trim()?t[3].replace(/\n[ \t]*$/,"").split(`
|
||||
`):[],r={type:"table",raw:t[0],header:[],align:[],rows:[]};if(i.length===n.length){for(const a of n)/^ *-+: *$/.test(a)?r.align.push("right"):/^ *:-+: *$/.test(a)?r.align.push("center"):/^ *:-+ *$/.test(a)?r.align.push("left"):r.align.push(null);for(let a=0;a<i.length;a++)r.header.push({text:i[a],tokens:this.lexer.inline(i[a]),header:!0,align:r.align[a]});for(const a of s)r.rows.push(qj(a,r.header.length).map((l,c)=>({text:l,tokens:this.lexer.inline(l),header:!1,align:r.align[c]})));return r}}lheading(e){const t=this.rules.block.lheading.exec(e);if(t)return{type:"heading",raw:t[0],depth:t[2].charAt(0)==="="?1:2,text:t[1],tokens:this.lexer.inline(t[1])}}paragraph(e){const t=this.rules.block.paragraph.exec(e);if(t){const i=t[1].charAt(t[1].length-1)===`
|
||||
`?t[1].slice(0,-1):t[1];return{type:"paragraph",raw:t[0],text:i,tokens:this.lexer.inline(i)}}}text(e){const t=this.rules.block.text.exec(e);if(t)return{type:"text",raw:t[0],text:t[0],tokens:this.lexer.inline(t[0])}}escape(e){const t=this.rules.inline.escape.exec(e);if(t)return{type:"escape",raw:t[0],text:Pr(t[1])}}tag(e){const t=this.rules.inline.tag.exec(e);if(t)return!this.lexer.state.inLink&&/^<a /i.test(t[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&/^<\/a>/i.test(t[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(t[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(t[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:t[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:t[0]}}link(e){const t=this.rules.inline.link.exec(e);if(t){const i=t[2].trim();if(!this.options.pedantic&&/^</.test(i)){if(!/>$/.test(i))return;const r=Q1(i.slice(0,-1),"\\");if((i.length-r.length)%2===0)return}else{const r=obe(t[2],"()");if(r>-1){const l=(t[0].indexOf("!")===0?5:4)+t[1].length+r;t[2]=t[2].substring(0,r),t[0]=t[0].substring(0,l).trim(),t[3]=""}}let n=t[2],s="";if(this.options.pedantic){const r=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(n);r&&(n=r[1],s=r[3])}else s=t[3]?t[3].slice(1,-1):"";return n=n.trim(),/^</.test(n)&&(this.options.pedantic&&!/>$/.test(i)?n=n.slice(1):n=n.slice(1,-1)),Kj(t,{href:n&&n.replace(this.rules.inline.anyPunctuation,"$1"),title:s&&s.replace(this.rules.inline.anyPunctuation,"$1")},t[0],this.lexer)}}reflink(e,t){let i;if((i=this.rules.inline.reflink.exec(e))||(i=this.rules.inline.nolink.exec(e))){const n=(i[2]||i[1]).replace(/\s+/g," "),s=t[n.toLowerCase()];if(!s){const r=i[0].charAt(0);return{type:"text",raw:r,text:r}}return Kj(i,s,i[0],this.lexer)}}emStrong(e,t,i=""){let n=this.rules.inline.emStrongLDelim.exec(e);if(!n||n[3]&&i.match(/[\p{L}\p{N}]/u))return;if(!(n[1]||n[2]||"")||!i||this.rules.inline.punctuation.exec(i)){const r=[...n[0]].length-1;let a,l,c=r,d=0;const h=n[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(h.lastIndex=0,t=t.slice(-1*e.length+r);(n=h.exec(t))!=null;){if(a=n[1]||n[2]||n[3]||n[4]||n[5]||n[6],!a)continue;if(l=[...a].length,n[3]||n[4]){c+=l;continue}else if((n[5]||n[6])&&r%3&&!((r+l)%3)){d+=l;continue}if(c-=l,c>0)continue;l=Math.min(l,l+c+d);const u=[...n[0]][0].length,f=e.slice(0,r+n.index+u+l);if(Math.min(r,l)%2){const p=f.slice(1,-1);return{type:"em",raw:f,text:p,tokens:this.lexer.inlineTokens(p)}}const g=f.slice(2,-2);return{type:"strong",raw:f,text:g,tokens:this.lexer.inlineTokens(g)}}}}codespan(e){const t=this.rules.inline.code.exec(e);if(t){let i=t[2].replace(/\n/g," ");const n=/[^ ]/.test(i),s=/^ /.test(i)&&/ $/.test(i);return n&&s&&(i=i.substring(1,i.length-1)),i=Pr(i,!0),{type:"codespan",raw:t[0],text:i}}}br(e){const t=this.rules.inline.br.exec(e);if(t)return{type:"br",raw:t[0]}}del(e){const t=this.rules.inline.del.exec(e);if(t)return{type:"del",raw:t[0],text:t[2],tokens:this.lexer.inlineTokens(t[2])}}autolink(e){const t=this.rules.inline.autolink.exec(e);if(t){let i,n;return t[2]==="@"?(i=Pr(t[1]),n="mailto:"+i):(i=Pr(t[1]),n=i),{type:"link",raw:t[0],text:i,href:n,tokens:[{type:"text",raw:i,text:i}]}}}url(e){let t;if(t=this.rules.inline.url.exec(e)){let i,n;if(t[2]==="@")i=Pr(t[0]),n="mailto:"+i;else{let s;do s=t[0],t[0]=this.rules.inline._backpedal.exec(t[0])?.[0]??"";while(s!==t[0]);i=Pr(t[0]),t[1]==="www."?n="http://"+t[0]:n=t[0]}return{type:"link",raw:t[0],text:i,href:n,tokens:[{type:"text",raw:i,text:i}]}}}inlineText(e){const t=this.rules.inline.text.exec(e);if(t){let i;return this.lexer.state.inRawBlock?i=t[0]:i=Pr(t[0]),{type:"text",raw:t[0],text:i}}}}const abe=/^(?: *(?:\n|$))+/,lbe=/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,cbe=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,J1=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,dbe=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,Gj=/(?:[*+-]|\d{1,9}[.)])/,Zj=ki(/^(?!bull |blockCode|fences|blockquote|heading|html)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html))+?)\n {0,3}(=+|-+) *(?:\n+|$)/).replace(/bull/g,Gj).replace(/blockCode/g,/ {4}/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).getRegex(),JP=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,hbe=/^[^\n]+/,eO=/(?!\s*\])(?:\\.|[^\[\]\\])+/,ube=ki(/^ {0,3}\[(label)\]: *(?:\n *)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/).replace("label",eO).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),fbe=ki(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,Gj).getRegex(),ek="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dLine truncated
|
||||
]`).replace("lheading",Zj).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},Qj=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,_be=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,Jj=/^( {2,}|\\)\n(?!\s*$)/,bbe=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,ew="\\p{P}\\p{S}",Cbe=ki(/^((?![*_])[\spunctuation])/,"u").replace(/punctuation/g,ew).getRegex(),vbe=/\[[^[\]]*?\]\([^\(\)]*?\)|`[^`]*?`|<[^<>]*?>/g,wbe=ki(/^(?:\*+(?:((?!\*)[punct])|[^\s*]))|^_+(?:((?!_)[punct])|([^\s_]))/,"u").replace(/punct/g,ew).getRegex(),Sbe=ki("^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)[punct](\\*+)(?=[\\s]|$)|[^punct\\s](\\*+)(?!\\*)(?=[punct\\s]|$)|(?!\\*)[punct\\s](\\*+)(?=[^punct\\s])|[\\s](\\*+)(?!\\*)(?=[punct])|(?!\\*)[punct](\\*+)(?!\\*)(?=[punct])|[^punct\\s](\\*+)(?=[^punct\\s])","gu").replace(/punct/g,ew).getRegex(),ybe=ki("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)[punct](_+)(?=[\\s]|$)|[^punct\\s](_+)(?!_)(?=[punct\\s]|$)|(?!_)[punct\\s](_+)(?=[^punct\\s])|[\\s](_+)(?!_)(?=[punct])|(?!_)[punct](_+)(?!_)(?=[punct])","gu").replace(/punct/g,ew).getRegex(),Lbe=ki(/\\([punct])/,"gu").replace(/punct/g,ew).getRegex(),xbe=ki(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),kbe=ki(tO).replace("(?:-->|$)","-->").getRegex(),Ibe=ki("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment",kbe).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),tk=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,Dbe=ki(/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/).replace("label",tk).replace("href",/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),eq=ki(/^!?\[(label)\]\[(ref)\]/).replace("label",tk).replace("ref",eO).getRegex(),tq=ki(/^!?\[(ref)\](?:\[\])?/).replace("ref",eO).getRegex(),Ebe=ki("reflink|nolink(?!\\()","g").replace("reflink",eq).replace("nolink",tq).getRegex(),nO={_backpedal:X1,anyPunctuation:Lbe,autolink:xbe,blockSkip:vbe,br:Jj,code:_be,del:X1,emStrongLDelim:wbe,emStrongRDelimAst:Sbe,emStrongRDelimUnd:ybe,escape:Qj,link:Dbe,nolink:tq,punctuation:Cbe,reflink:eq,reflinkSearch:Ebe,tag:Ibe,text:bbe,url:X1},Nbe={...nO,link:ki(/^!?\[(label)\]\((.*?)\)/).replace("label",tk).getRegex(),reflink:ki(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",tk).getRegex()},sO={...nO,escape:ki(Qj).replace("])","~|])").getRegex(),url:ki(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,"i").replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|https?:\/\/|ftp:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/},Tbe={...sO,br:ki(Jj).replace("{2,}","*").getRegex(),text:ki(sO.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},ik={normal:iO,gfm:pbe,pedantic:mbe},tw={normal:nO,gfm:sO,breaks:Tbe,pedantic:Nbe};class Al{tokens;options;state;tokenizer;inlineQueue;constructor(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||fg,this.options.tokenizer=this.options.tokenizer||new Jx,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};const t={block:ik.normal,inline:tw.normal};this.options.pedantic?(t.block=ik.pedantic,t.inline=tw.pedantic):this.options.gfm&&(t.block=ik.gfm,this.options.breaks?t.inline=tw.breaks:t.inline=tw.gfm),this.tokenizer.rules=t}static get rules(){return{block:ik,inline:tw}}static lex(e,t){return new Al(t).lex(e)}static lexInline(e,t){return new Al(t).inlineTokens(e)}lex(e){e=e.replace(/\r\n|\r/g,`
|
||||
`),this.blockTokens(e,this.tokens);for(let t=0;t<this.inlineQueue.length;t++){const i=this.inlineQueue[t];this.inlineTokens(i.src,i.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(e,t=[],i=!1){this.options.pedantic?e=e.replace(/\t/g," ").replace(/^ +$/gm,""):e=e.replace(/^( *)(\t+)/gm,(a,l,c)=>l+" ".repeat(c.length));let n,s,r;for(;e;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some(a=>(n=a.call({lexer:this},e,t))?(e=e.substring(n.raw.length),t.push(n),!0):!1))){if(n=this.tokenizer.space(e)){e=e.substring(n.raw.length),n.raw.length===1&&t.length>0?t[t.length-1].raw+=`
|
||||
`:t.push(n);continue}if(n=this.tokenizer.code(e)){e=e.substring(n.raw.length),s=t[t.length-1],s&&(s.type==="paragraph"||s.type==="text")?(s.raw+=`
|
||||
`+n.raw,s.text+=`
|
||||
`+n.text,this.inlineQueue[this.inlineQueue.length-1].src=s.text):t.push(n);continue}if(n=this.tokenizer.fences(e)){e=e.substring(n.raw.length),t.push(n);continue}if(n=this.tokenizer.heading(e)){e=e.substring(n.raw.length),t.push(n);continue}if(n=this.tokenizer.hr(e)){e=e.substring(n.raw.length),t.push(n);continue}if(n=this.tokenizer.blockquote(e)){e=e.substring(n.raw.length),t.push(n);continue}if(n=this.tokenizer.list(e)){e=e.substring(n.raw.length),t.push(n);continue}if(n=this.tokenizer.html(e)){e=e.substring(n.raw.length),t.push(n);continue}if(n=this.tokenizer.def(e)){e=e.substring(n.raw.length),s=t[t.length-1],s&&(s.type==="paragraph"||s.type==="text")?(s.raw+=`
|
||||
`+n.raw,s.text+=`
|
||||
`+n.raw,this.inlineQueue[this.inlineQueue.length-1].src=s.text):this.tokens.links[n.tag]||(this.tokens.links[n.tag]={href:n.href,title:n.title});continue}if(n=this.tokenizer.table(e)){e=e.substring(n.raw.length),t.push(n);continue}if(n=this.tokenizer.lheading(e)){e=e.substring(n.raw.length),t.push(n);continue}if(r=e,this.options.extensions&&this.options.extensions.startBlock){let a=1/0;const l=e.slice(1);let c;this.options.extensions.startBlock.forEach(d=>{c=d.call({lexer:this},l),typeof c=="number"&&c>=0&&(a=Math.min(a,c))}),a<1/0&&a>=0&&(r=e.substring(0,a+1))}if(this.state.top&&(n=this.tokenizer.paragraph(r))){s=t[t.length-1],i&&s?.type==="paragraph"?(s.raw+=`
|
||||
`+n.raw,s.text+=`
|
||||
`+n.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=s.text):t.push(n),i=r.length!==e.length,e=e.substring(n.raw.length);continue}if(n=this.tokenizer.text(e)){e=e.substring(n.raw.length),s=t[t.length-1],s&&s.type==="text"?(s.raw+=`
|
||||
`+n.raw,s.text+=`
|
||||
`+n.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=s.text):t.push(n);continue}if(e){const a="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(a);break}else throw new Error(a)}}return this.state.top=!0,t}inline(e,t=[]){return this.inlineQueue.push({src:e,tokens:t}),t}inlineTokens(e,t=[]){let i,n,s,r=e,a,l,c;if(this.tokens.links){const d=Object.keys(this.tokens.links);if(d.length>0)for(;(a=this.tokenizer.rules.inline.reflinkSearch.exec(r))!=null;)d.includes(a[0].slice(a[0].lastIndexOf("[")+1,-1))&&(r=r.slice(0,a.index)+"["+"a".repeat(a[0].length-2)+"]"+r.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(a=this.tokenizer.rules.inline.blockSkip.exec(r))!=null;)r=r.slice(0,a.index)+"["+"a".repeat(a[0].length-2)+"]"+r.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;(a=this.tokenizer.rules.inline.anyPunctuation.exec(r))!=null;)r=r.slice(0,a.index)+"++"+r.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);for(;e;)if(l||(c=""),l=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some(d=>(i=d.call({lexer:this},e,t))?(e=e.substring(i.raw.length),t.push(i),!0):!1))){if(i=this.tokenizer.escape(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.tag(e)){e=e.substring(i.raw.length),n=t[t.length-1],n&&i.type==="text"&&n.type==="text"?(n.raw+=i.raw,n.text+=i.text):t.push(i);continue}if(i=this.tokenizer.link(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(i.raw.length),n=t[t.length-1],n&&i.type==="text"&&n.type==="text"?(n.raw+=i.raw,n.text+=i.text):t.push(i);continue}if(i=this.tokenizer.emStrong(e,r,c)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.codespan(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.br(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.del(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.autolink(e)){e=e.substring(i.raw.length),t.push(i);continue}if(!this.state.inLink&&(i=this.tokenizer.url(e))){e=e.substring(i.raw.length),t.push(i);continue}if(s=e,this.options.extensions&&this.options.extensions.startInline){let d=1/0;const h=e.slice(1);let u;this.options.extensions.startInline.forEach(f=>{u=f.call({lexer:this},h),typeof u=="number"&&u>=0&&(d=Math.min(d,u))}),d<1/0&&d>=0&&(s=e.substring(0,d+1))}if(i=this.tokenizer.inlineText(s)){e=e.substring(i.raw.length),i.raw.slice(-1)!=="_"&&(c=i.raw.slice(-1)),l=!0,n=t[t.length-1],n&&n.type==="text"?(n.raw+=i.raw,n.text+=i.text):t.push(i);continue}if(e){const d="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(d);break}else throw new Error(d)}}return t}}class iw{options;parser;constructor(e){this.options=e||fg}space(e){return""}code({text:e,lang:t,escaped:i}){const n=(t||"").match(/^\S*/)?.[0],s=e.replace(/\n$/,"")+`
|
||||
`;return n?'<pre><code class="language-'+Pr(n)+'">'+(i?s:Pr(s,!0))+`</code></pre>
|
||||
`:"<pre><code>"+(i?s:Pr(s,!0))+`</code></pre>
|
||||
`}blockquote({tokens:e}){return`<blockquote>
|
||||
${this.parser.parse(e)}</blockquote>
|
||||
`}html({text:e}){return e}heading({tokens:e,depth:t}){return`<h${t}>${this.parser.parseInline(e)}</h${t}>
|
||||
`}hr(e){return`<hr>
|
||||
`}list(e){const t=e.ordered,i=e.start;let n="";for(let a=0;a<e.items.length;a++){const l=e.items[a];n+=this.listitem(l)}const s=t?"ol":"ul",r=t&&i!==1?' start="'+i+'"':"";return"<"+s+r+`>
|
||||
`+n+"</"+s+`>
|
||||
`}listitem(e){let t="";if(e.task){const i=this.checkbox({checked:!!e.checked});e.loose?e.tokens.length>0&&e.tokens[0].type==="paragraph"?(e.tokens[0].text=i+" "+e.tokens[0].text,e.tokens[0].tokens&&e.tokens[0].tokens.length>0&&e.tokens[0].tokens[0].type==="text"&&(e.tokens[0].tokens[0].text=i+" "+e.tokens[0].tokens[0].text)):e.tokens.unshift({type:"text",raw:i+" ",text:i+" "}):t+=i+" "}return t+=this.parser.parse(e.tokens,!!e.loose),`<li>${t}</li>
|
||||
`}checkbox({checked:e}){return"<input "+(e?'checked="" ':"")+'disabled="" type="checkbox">'}paragraph({tokens:e}){return`<p>${this.parser.parseInline(e)}</p>
|
||||
`}table(e){let t="",i="";for(let s=0;s<e.header.length;s++)i+=this.tablecell(e.header[s]);t+=this.tablerow({text:i});let n="";for(let s=0;s<e.rows.length;s++){const r=e.rows[s];i="";for(let a=0;a<r.length;a++)i+=this.tablecell(r[a]);n+=this.tablerow({text:i})}return n&&(n=`<tbody>${n}</tbody>`),`<table>
|
||||
<thead>
|
||||
`+t+`</thead>
|
||||
`+n+`</table>
|
||||
`}tablerow({text:e}){return`<tr>
|
||||
${e}</tr>
|
||||
`}tablecell(e){const t=this.parser.parseInline(e.tokens),i=e.header?"th":"td";return(e.align?`<${i} align="${e.align}">`:`<${i}>`)+t+`</${i}>
|
||||
`}strong({tokens:e}){return`<strong>${this.parser.parseInline(e)}</strong>`}em({tokens:e}){return`<em>${this.parser.parseInline(e)}</em>`}codespan({text:e}){return`<code>${e}</code>`}br(e){return"<br>"}del({tokens:e}){return`<del>${this.parser.parseInline(e)}</del>`}link({href:e,title:t,tokens:i}){const n=this.parser.parseInline(i),s=jj(e);if(s===null)return n;e=s;let r='<a href="'+e+'"';return t&&(r+=' title="'+t+'"'),r+=">"+n+"</a>",r}image({href:e,title:t,text:i}){const n=jj(e);if(n===null)return i;e=n;let s=`<img src="${e}" alt="${i}"`;return t&&(s+=` title="${t}"`),s+=">",s}text(e){return"tokens"in e&&e.tokens?this.parser.parseInline(e.tokens):e.text}}class oO{strong({text:e}){return e}em({text:e}){return e}codespan({text:e}){return e}del({text:e}){return e}html({text:e}){return e}text({text:e}){return e}link({text:e}){return""+e}image({text:e}){return""+e}br(){return""}}class Pl{options;renderer;textRenderer;constructor(e){this.options=e||fg,this.options.renderer=this.options.renderer||new iw,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new oO}static parse(e,t){return new Pl(t).parse(e)}static parseInline(e,t){return new Pl(t).parseInline(e)}parse(e,t=!0){let i="";for(let n=0;n<e.length;n++){const s=e[n];if(this.options.extensions&&this.options.extensions.renderers&&this.options.extensions.renderers[s.type]){const a=s,l=this.options.extensions.renderers[a.type].call({parser:this},a);if(l!==!1||!["space","hr","heading","code","table","blockquote","list","html","paragraph","text"].includes(a.type)){i+=l||"";continue}}const r=s;switch(r.type){case"space":{i+=this.renderer.space(r);continue}case"hr":{i+=this.renderer.hr(r);continue}case"heading":{i+=this.renderer.heading(r);continue}case"code":{i+=this.renderer.code(r);continue}case"table":{i+=this.renderer.table(r);continue}case"blockquote":{i+=this.renderer.blockquote(r);continue}case"list":{i+=this.renderer.list(r);continue}case"html":{i+=this.renderer.html(r);continue}case"paragraph":{i+=this.renderer.paragraph(r);continue}case"text":{let a=r,l=this.renderer.text(a);for(;n+1<e.length&&e[n+1].type==="text";)a=e[++n],l+=`
|
||||
`+this.renderer.text(a);t?i+=this.renderer.paragraph({type:"paragraph",raw:l,text:l,tokens:[{type:"text",raw:l,text:l}]}):i+=l;continue}default:{const a='Token with "'+r.type+'" type was not found.';if(this.options.silent)return console.error(a),"";throw new Error(a)}}}return i}parseInline(e,t){t=t||this.renderer;let i="";for(let n=0;n<e.length;n++){const s=e[n];if(this.options.extensions&&this.options.extensions.renderers&&this.options.extensions.renderers[s.type]){const a=this.options.extensions.renderers[s.type].call({parser:this},s);if(a!==!1||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(s.type)){i+=a||"";continue}}const r=s;switch(r.type){case"escape":{i+=t.text(r);break}case"html":{i+=t.html(r);break}case"link":{i+=t.link(r);break}case"image":{i+=t.image(r);break}case"strong":{i+=t.strong(r);break}case"em":{i+=t.em(r);break}case"codespan":{i+=t.codespan(r);break}case"br":{i+=t.br(r);break}case"del":{i+=t.del(r);break}case"text":{i+=t.text(r);break}default:{const a='Token with "'+r.type+'" type was not found.';if(this.options.silent)return console.error(a),"";throw new Error(a)}}}return i}}class nk{options;constructor(e){this.options=e||fg}static passThroughHooks=new Set(["preprocess","postprocess","processAllTokens"]);preprocess(e){return e}postprocess(e){return e}processAllTokens(e){return e}}class iq{defaults=QP();options=this.setOptions;parse=this.parseMarkdown(Al.lex,Pl.parse);parseInline=this.parseMarkdown(Al.lexInline,Pl.parseInline);Parser=Pl;Renderer=iw;TextRenderer=oO;Lexer=Al;Tokenizer=Jx;Hooks=nk;constructor(...e){this.use(...e)}walkTokens(e,t){let i=[];for(const n of e)switch(i=i.concat(t.call(this,n)),n.type){case"table":{const s=n;for(const r of s.header)i=i.concat(this.walkTokens(r.tokens,t));for(const r of s.rows)for(const a of r)i=i.concat(this.walkTokens(a.tokens,t));break}case"list":{const s=n;i=i.concat(this.walkTokens(s.items,t));break}default:{const s=n;this.defaults.extensions?.childTokens?.[s.type]?this.defaults.extensions.childTokens[s.type].forEach(r=>{const a=s[r].flat(1/0);i=i.concat(this.walkTokens(a,t))}):s.tokens&&(i=i.concat(this.walkTokens(s.tokens,t)))}}return i}use(...e){const t=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(i=>{const n={...i};if(n.async=this.defaults.async||n.async||!1,i.extensions&&(i.extensions.forEach(s=>{if(!s.name)throw new Error("extension name required");if("renderer"in s){const r=t.renderers[s.name];r?t.renderers[s.name]=function(...a){let l=s.renderer.apply(this,a);return l===!1&&(l=r.apply(this,a)),l}:t.renderers[s.name]=s.renderer}if("tokenizer"in s){if(!s.level||s.level!=="block"&&s.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");const r=t[s.level];r?r.unshift(s.tokenizer):t[s.level]=[s.tokenizer],s.start&&(s.level==="block"?t.startBlock?t.startBlock.push(s.start):t.startBlock=[s.start]:s.level==="inline"&&(t.startInline?t.startInline.push(s.start):t.startInline=[s.start]))}"childTokens"in s&&s.childTokens&&(t.childTokens[s.name]=s.childTokens)}),n.extensions=t),i.renderer){const s=this.defaults.renderer||new iw(this.defaults);for(const r in i.renderer){if(!(r in s))throw new Error(`renderer '${r}' does not exist`);if(["options","parser"].includes(r))continue;const a=r,l=i.renderer[a],c=s[a];s[a]=(...d)=>{let h=l.apply(s,d);return h===!1&&(h=c.apply(s,d)),h||""}}n.renderer=s}if(i.tokenizer){const s=this.defaults.tokenizer||new Jx(this.defaults);for(const r in i.tokenizer){if(!(r in s))throw new Error(`tokenizer '${r}' does not exist`);if(["options","rules","lexer"].includes(r))continue;const a=r,l=i.tokenizer[a],c=s[a];s[a]=(...d)=>{let h=l.apply(s,d);return h===!1&&(h=c.apply(s,d)),h}}n.tokenizer=s}if(i.hooks){const s=this.defaults.hooks||new nk;for(const r in i.hooks){if(!(r in s))throw new Error(`hook '${r}' does not exist`);if(r==="options")continue;const a=r,l=i.hooks[a],c=s[a];nk.passThroughHooks.has(r)?s[a]=d=>{if(this.defaults.async)return Promise.resolve(l.call(s,d)).then(u=>c.call(s,u));const h=l.call(s,d);return c.call(s,h)}:s[a]=(...d)=>{let h=l.apply(s,d);return h===!1&&(h=c.apply(s,d)),h}}n.hooks=s}if(i.walkTokens){const s=this.defaults.walkTokens,r=i.walkTokens;n.walkTokens=function(a){let l=[];return l.push(r.call(this,a)),s&&(l=l.concat(s.call(this,a))),l}}this.defaults={...this.defaults,...n}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,t){return Al.lex(e,t??this.defaults)}parser(e,t){return Pl.parse(e,t??this.defaults)}parseMarkdown(e,t){return(n,s)=>{const r={...s},a={...this.defaults,...r},l=this.onError(!!a.silent,!!a.async);if(this.defaults.async===!0&&r.async===!1)return l(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof n>"u"||n===null)return l(new Error("marked(): input parameter is undefined or null"));if(typeof n!="string")return l(new Error("marked(): input parameter is of
Line truncated
|
||||
Please report this to https://github.com/markedjs/marked.`,e){const n="<p>An error occurred:</p><pre>"+Pr(i.message+"",!0)+"</pre>";return t?Promise.resolve(n):n}if(t)return Promise.reject(i);throw i}}}const gg=new iq;function wi(o,e){return gg.parse(o,e)}wi.options=wi.setOptions=function(o){return gg.setOptions(o),wi.defaults=gg.defaults,Vj(wi.defaults),wi},wi.getDefaults=QP,wi.defaults=fg,wi.use=function(...o){return gg.use(...o),wi.defaults=gg.defaults,Vj(wi.defaults),wi},wi.walkTokens=function(o,e){return gg.walkTokens(o,e)},wi.parseInline=gg.parseInline,wi.Parser=Pl,wi.parser=Pl.parse,wi.Renderer=iw,wi.TextRenderer=oO,wi.Lexer=Al,wi.lexer=Al.lex,wi.Tokenizer=Jx,wi.Hooks=nk,wi.parse=wi,wi.options,wi.setOptions,wi.use,wi.walkTokens,wi.parseInline;const Rbe=wi;Pl.parse;const nw=Al.lex;function Mbe(o){return JSON.stringify(o,Abe)}function rO(o){let e=JSON.parse(o);return e=aO(e),e}function Abe(o,e){return e instanceof RegExp?{$mid:2,source:e.source,flags:e.flags}:e}function aO(o,e=0){if(!o||e>200)return o;if(typeof o=="object"){switch(o.$mid){case 1:return be.revive(o);case 2:return new RegExp(o.source,o.flags);case 17:return new Date(o.source)}if(o instanceof ch||o instanceof Uint8Array)return o;if(Array.isArray(o))for(let t=0;t<o.length;++t)o[t]=aO(o[t],e+1);else for(const t in o)Object.hasOwnProperty.call(o,t)&&(o[t]=aO(o[t],e+1))}return o}/*! @license DOMPurify 3.2.7 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.2.7/LICENSE */const{entries:nq,setPrototypeOf:sq,isFrozen:Pbe,getPrototypeOf:Obe,getOwnPropertyDescriptor:Fbe}=Object;let{freeze:So,seal:ia,create:oq}=Object,{apply:lO,construct:cO}=typeof Reflect<"u"&&Reflect;So||(So=function(e){return e}),ia||(ia=function(e){return e}),lO||(lO=function(e,t){for(var i=arguments.length,n=new Array(i>2?i-2:0),s=2;s<i;s++)n[s-2]=arguments[s];return e.apply(t,n)}),cO||(cO=function(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),n=1;n<t;n++)i[n-1]=arguments[n];return new e(...i)});const sk=Lo(Array.prototype.forEach),Wbe=Lo(Array.prototype.lastIndexOf),rq=Lo(Array.prototype.pop),sw=Lo(Array.prototype.push),Bbe=Lo(Array.prototype.splice),ok=Lo(String.prototype.toLowerCase),dO=Lo(String.prototype.toString),hO=Lo(String.prototype.match),ow=Lo(String.prototype.replace),Hbe=Lo(String.prototype.indexOf),Vbe=Lo(String.prototype.trim),Ha=Lo(Object.prototype.hasOwnProperty),yo=Lo(RegExp.prototype.test),rw=zbe(TypeError);function Lo(o){return function(e){e instanceof RegExp&&(e.lastIndex=0);for(var t=arguments.length,i=new Array(t>1?t-1:0),n=1;n<t;n++)i[n-1]=arguments[n];return lO(o,e,i)}}function zbe(o){return function(){for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];return cO(o,t)}}function Nt(o,e){let t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:ok;sq&&sq(o,null);let i=e.length;for(;i--;){let n=e[i];if(typeof n=="string"){const s=t(n);s!==n&&(Pbe(e)||(e[i]=s),n=s)}o[n]=!0}return o}function Ube(o){for(let e=0;e<o.length;e++)Ha(o,e)||(o[e]=null);return o}function fd(o){const e=oq(null);for(const[t,i]of nq(o))Ha(o,t)&&(Array.isArray(i)?e[t]=Ube(i):i&&typeof i=="object"&&i.constructor===Object?e[t]=fd(i):e[t]=i);return e}function aw(o,e){for(;o!==null;){const i=Fbe(o,e);if(i){if(i.get)return Lo(i.get);if(typeof i.value=="function")return Lo(i.value)}o=Obe(o)}function t(){return null}return t}const aq=So(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","search","section","select","shadow","slot","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),uO=So(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","enterkeyhint","exportparts","filter","font","g","glyph","glyphref","hkern","image","inputmode","line","lineargradient","marker","mask","metadata","mpath","part","path","pattern","polygon","polyline","radialgradient","rect","slot","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),fO=So(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feF
Line truncated
|
||||
`+dr),ZC&&sk([F,B,U],nh=>{dr=ow(dr,nh," ")}),v&&tR?v.createHTML(dr):dr},e.setConfig=function(){let Ye=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};KB(Ye),VB=!0},e.clearConfig=function(){ev=null,VB=!1},e.isValidAttribute=function(Ye,G,we){ev||KB({});const $e=ms(Ye),Gi=ms(G);return fie($e,Gi,we)},e.addHook=function(Ye,G){typeof G=="function"&&sw(O[Ye],G)},e.removeHook=function(Ye,G){if(G!==void 0){const we=Wbe(O[Ye],G);return we===-1?void 0:Bbe(O[Ye],we,1)[0]}return rq(O[Ye])},e.removeHooks=function(Ye){O[Ye]=[]},e.removeAllHooks=function(){O=gq()},e}var K_=pq();const mq=Object.freeze(["a","abbr","b","bdo","blockquote","br","caption","cite","code","col","colgroup","dd","del","details","dfn","div","dl","dt","em","figcaption","figure","h1","h2","h3","h4","h5","h6","hr","i","img","ins","kbd","label","li","mark","ol","p","pre","q","rp","rt","ruby","s","samp","small","small","source","span","strike","strong","sub","summary","sup","table","tbody","td","tfoot","th","thead","time","tr","tt","u","ul","var","video","wbr"]),_q=Object.freeze(["href","target","src","alt","title","for","name","role","tabindex","x-dispatch","required","checked","placeholder","type","start","width","height","align"]),mO="vscode-relative-path";function bq(o,e){if(e.override==="*")return!0;try{const t=new URL(o,mO+"://");return!!(e.override.includes(t.protocol.replace(/:$/,""))||e.allowRelativePaths&&t.protocol===mO+":"&&!o.trim().toLowerCase().startsWith(mO))}catch{return!1}}function iCe(o,e){K_.addHook("afterSanitizeAttributes",t=>{for(const i of["href","src"])if(t.hasAttribute(i)){const n=t.getAttribute(i);i==="href"?!n.startsWith("#")&&!bq(n,o)&&t.removeAttribute(i):bq(n,e)||t.removeAttribute(i)}})}const nCe=Object.freeze({ALLOWED_TAGS:[...mq],ALLOWED_ATTR:[..._q],ALLOW_UNKNOWN_PROTOCOLS:!0});function sCe(o,e){return Cq(o,e,"trusted")}function Cq(o,e,t){try{const i={...nCe};e?.allowedTags&&(e.allowedTags.override&&(i.ALLOWED_TAGS=[...e.allowedTags.override]),e.allowedTags.augment&&(i.ALLOWED_TAGS=[...i.ALLOWED_TAGS??[],...e.allowedTags.augment]));let n=[..._q];e?.allowedAttributes&&(e.allowedAttributes.override&&(n=[...e.allowedAttributes.override]),e.allowedAttributes.augment&&(n=[...n,...e.allowedAttributes.augment])),n=n.map(a=>typeof a=="string"?a.toLowerCase():{attributeName:a.attributeName.toLowerCase(),shouldKeep:a.shouldKeep});const s=new Set(n.map(a=>typeof a=="string"?a:a.attributeName)),r=new Map;for(const a of n)typeof a=="string"?r.delete(a):r.set(a.attributeName,a);return i.ALLOWED_ATTR=Array.from(s),iCe({override:e?.allowedLinkProtocols?.override??[Le.http,Le.https],allowRelativePaths:e?.allowRelativeLinkPaths??!1},{override:e?.allowedMediaProtocols?.override??[Le.http,Le.https],allowRelativePaths:e?.allowRelativeMediaPaths??!1}),e?.replaceWithPlaintext&&K_.addHook("uponSanitizeElement",rCe),r.size&&K_.addHook("uponSanitizeAttribute",(a,l)=>{const c=r.get(l.attrName);if(c){const d=c.shouldKeep(a,l);typeof d=="string"?(l.keepAttr=!0,l.attrValue=d):l.keepAttr=d}else l.keepAttr=s.has(l.attrName)}),t==="dom"?K_.sanitize(o,{...i,RETURN_DOM_FRAGMENT:!0}):K_.sanitize(o,{...i,RETURN_TRUSTED_TYPE:!0})}finally{K_.removeAllHooks()}}const oCe=["area","base","br","col","command","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"],rCe=(o,e,t)=>{if(!e.allowedTags[e.tagName]&&e.tagName!=="body"){const i=vq(o);i&&(o.nodeType===Node.COMMENT_NODE?o.parentElement?.insertBefore(i,o):o.parentElement?.replaceChild(i,o))}};function vq(o){if(!o.ownerDocument)return;let e,t;if(o.nodeType===Node.COMMENT_NODE)e=`<!--${o.textContent}-->`;else if(o instanceof Element){const r=o.tagName.toLowerCase(),a=oCe.includes(r),l=o.attributes.length?" "+Array.from(o.attributes).map(c=>`${c.name}="${c.value}"`).join(" "):"";e=`<${r}${l}>`,a||(t=`</${r}>`)}else return;const i=document.createDocumentFragment(),n=o.ownerDocument.createTextNode(e);for(i.appendChild(n);o.firstChild;)i.appendChild(o.firstChild);const s=t?o.ownerDocument.createTextNode(t):void 0;return s&&i.appendChild(s),i}function wq(o,e,t){const i=Cq(e,t,"dom");Ji(o,i)}const aCe=new RegExp(`(\\\\)?\\$\\((${ve.iconNameExpression}(?:${ve.iconModifierExpression})?)\\)`,"g");function zh(o){const e=new Array;let t,i=0,n=0;for(;(t=aCe.exec(o))!==null;){n=t.index||0,i<n&&e.push(o.substring(i,n)),i=(t.index||0)+t[0].length;const[,s,r]=t;e.push(s?`$(${r})`:Va({id:r}))}return i<o.length&&e.push(o.substring(i)),e}function Va(o){const e=ee("span");return e.classList.add(...ve.asClassNameArray(o)),e}const _O=Object.freeze({image:({href:o,title:e,text:t})=>{let i=[],n=[];return o&&({href:o,dimensions:i}=ebe(o),n.push(`src="${Qx(o)}"`)),t&&n.push(`alt="${Qx(t)}"`),e&&n.push(`title="${Qx(e)}"`),i.length&&(n=n.concat(i)),"<img "+n.join(" ")+">"},paragraph({tokens:o}){return`<p>${this.parser.parseInline(o)}</p>`},link({href:o,title:e,tokens:t}){let i=this.parser.parseInline(t);return typeof o!="string"?"":(o===i&&(i=ZP(i)),e=typeof e=="string"?Qx(ZP(e)):"",o=ZP(o),o=o.replace(/Line truncated
|
||||
`}}function cw(o,e={},t){const i=new V;let n=!1;const s=new iq(...e.markedExtensions??[]),{renderer:r,codeBlocks:a,syncCodeBlocks:l}=dCe(s,e,o),c=hCe(o);let d;if(e.fillInIncompleteTokens){const g={...s.defaults,...e.markedOptions,renderer:r},p=s.lexer(c,g),_=LCe(p);d=s.parser(_,g)}else d=s.parse(c,{...e?.markedOptions,renderer:r,async:!1});o.supportThemeIcons&&(d=zh(d).map(p=>typeof p=="string"?p:p.outerHTML).join(""));const h=document.createElement("div"),u=xq(o,e.sanitizerConfig??{});wq(h,d,u),cCe(o,e,h);let f;if(t?(f=t,Ji(t,...h.children)):f=h,a.length>0)Promise.all(a).then(g=>{if(n)return;const p=new Map(g),_=f.querySelectorAll("div[data-code]");for(const b of _){const C=p.get(b.dataset.code??"");C&&Ji(b,C)}e.asyncRenderCallback?.()});else if(l.length>0){const g=new Map(l),p=f.querySelectorAll("div[data-code]");for(const _ of p){const b=g.get(_.dataset.code??"");b&&Ji(_,b)}}if(e.asyncRenderCallback)for(const g of f.getElementsByTagName("img")){const p=i.add(W(g,"load",()=>{p.dispose(),e.asyncRenderCallback()}))}if(e.actionHandler){const g=p=>{const _=new yn(me(f),p);!_.leftButton&&!_.middleButton||Sq(o,e,_)};i.add(W(f,"click",g)),i.add(W(f,"auxclick",g)),i.add(W(f,"keydown",p=>{const _=new yt(p);!_.equals(10)&&!_.equals(3)||Sq(o,e,_)}))}for(const g of[...f.getElementsByTagName("input")])if(g.attributes.getNamedItem("type")?.value==="checkbox")g.setAttribute("disabled","");else if(e.sanitizerConfig?.replaceWithPlaintext){const p=vq(g);p?g.parentElement?.replaceChild(p,g):g.remove()}else g.remove();return{element:f,dispose:()=>{n=!0,i.dispose()}}}function cCe(o,e,t){for(const i of t.querySelectorAll("img, audio, video, source")){const n=i.getAttribute("src");if(n){let s=n;try{o.baseUri&&(s=bO(be.from(o.baseUri),s))}catch{}if(i.setAttribute("src",yq(o,s,!0)),e.sanitizerConfig?.remoteImageIsAllowed){const r=be.parse(s);r.scheme!==Le.file&&r.scheme!==Le.data&&!e.sanitizerConfig.remoteImageIsAllowed(r)&&i.replaceWith(ee("",void 0,i.outerHTML))}}}for(const i of t.querySelectorAll("a")){const n=i.getAttribute("href");if(i.setAttribute("href",""),!n||/^data:|javascript:/i.test(n)||/^command:/i.test(n)&&!o.isTrusted||/^command:(\/\/\/)?_workbench\.downloadResource/i.test(n))i.replaceWith(...i.childNodes);else{let s=yq(o,n,!1);o.baseUri&&(s=bO(be.from(o.baseUri),n)),i.dataset.href=s}}}function dCe(o,e,t){const i=new o.Renderer(e.markedOptions);i.image=_O.image,i.link=_O.link,i.paragraph=_O.paragraph,t.supportAlertSyntax&&(i.blockquote=lCe(i.blockquote));const n=[],s=[];return e.codeBlockRendererSync?i.code=({text:r,lang:a,raw:l})=>{const c=XP.nextId(),d=e.codeBlockRendererSync(Lq(a),r,l);return s.push([c,d]),`<div class="code" data-code="${c}">${Kr(r)}</div>`}:e.codeBlockRenderer&&(i.code=({text:r,lang:a})=>{const l=XP.nextId(),c=e.codeBlockRenderer(Lq(a),r);return n.push(c.then(d=>[l,d])),`<div class="code" data-code="${l}">${Kr(r)}</div>`}),t.supportHtml||(i.html=({text:r})=>e.sanitizerConfig?.replaceWithPlaintext?Kr(r):(t.isTrusted?r.match(/^(<span[^>]+>)|(<\/\s*span>)$/):void 0)?r:""),{renderer:i,codeBlocks:n,syncCodeBlocks:s}}function hCe(o){let e=o.value;return e.length>1e5&&(e=`${e.substr(0,1e5)}…`),o.supportThemeIcons&&(e=Z_e(e)),e}function Sq(o,e,t){const i=t.target.closest("a[data-href]");if(li(i))try{let n=i.dataset.href;n&&(o.baseUri&&(n=bO(be.from(o.baseUri),n)),e.actionHandler?.(n,o))}catch(n){De(n)}finally{t.preventDefault()}}function uCe(o,e){let t;try{t=rO(decodeURIComponent(e))}catch{}return t?(t=fV(t,i=>{if(o.uris&&o.uris[i])return be.revive(o.uris[i])}),encodeURIComponent(JSON.stringify(t))):e}function yq(o,e,t){const i=o.uris&&o.uris[e];let n=be.revive(i);return t?e.startsWith(Le.data+":")?e:(n||(n=be.parse(e)),H6.uriToBrowserUri(n).toString(!0)):!n||be.parse(e).toString()===n.toString()?e:(n.query&&(n=n.with({query:uCe(o,n.query)})),n.toString())}function Lq(o){if(!o)return"";const e=o.split(/[\s+|:|,|\{|\?]/,1);return e.length?e[0]:o}function bO(o,e){return/^\w[\w\d+.-]*:/.test(e)?e:o.path.endsWith("/")?eV(o,e).toString():eV(Gy(o),e).toString()}function fCe(o,e,t={}){const i=xq(e,t);return sCe(o,i)}const gCe=Object.freeze([...mq,"input"]),pCe=Object.freeze(["align","autoplay","alt","colspan","controls","draggable","height","href","loop","muted","playsinline","poster","rowspan","src","target","title","type","width","start","checked","disabled","value","data-code","data-href","data-severity",{attributeName:"style",shouldKeep:(o,e)=>o.tagName==="SPAN"&&e.attrName==="style"?/^(color\:(#[0-9a-fA-F]+|var\(--vscode(-[a-zA-Z0-9]+)+\));)?(background-color\:(#[0-9a-fA-F]+|var\(--vscode(-[a-zA-Z0-9]+)+\));)?(border-radius:[0-9]+px;)?$/.test(e.attrValue):!1},{attributeName:"class",shouldKeep:(o,e)=>o.tagName==="SPAN"&&e.attrName==="class"?/^codicon codicon-[a-z\-]+( codicon-modifier-[a-z\-]+)?$/.test(e.attrValue):!1}]);function xq(o,e){const t=o.isTrusted??!1,i=[Le.http,Le.https,Le.mailto,Le.file,Le.vscodeFileResource,Le.vscodeRemote,Le.vscodeRemoteResource,Le.vscodeNotebookCell];return t&&i.push(Le.Line truncated
|
||||
`,o.html=e=>"",o.heading=function({tokens:e}){return this.parser.parseInline(e)+`
|
||||
`},o.hr=()=>"",o.list=function({items:e}){return e.map(t=>this.listitem(t)).join(`
|
||||
`)+`
|
||||
`},o.listitem=({text:e})=>e+`
|
||||
`,o.paragraph=function({tokens:e}){return this.parser.parseInline(e)+`
|
||||
`},o.table=function({header:e,rows:t}){return e.map(i=>this.tablecell(i)).join(" ")+`
|
||||
`+t.map(i=>i.map(n=>this.tablecell(n)).join(" ")).join(`
|
||||
`)+`
|
||||
`},o.tablerow=({text:e})=>e,o.tablecell=function({tokens:e}){return this.parser.parseInline(e)},o.strong=({text:e})=>e,o.em=({text:e})=>e,o.codespan=({text:e})=>Kr(e),o.br=e=>`
|
||||
`,o.del=({text:e})=>e,o.image=e=>"",o.text=({text:e})=>e,o.link=({text:e})=>e,o}const bCe=new Ln(kq);new Ln(()=>{const o=kq();return o.code=({text:e})=>`
|
||||
\`\`\`
|
||||
${Kr(e)}
|
||||
\`\`\`
|
||||
`,o});function dw(o){let e="";return o.forEach(t=>{e+=t.raw}),e}function Iq(o){if(o.tokens)for(let e=o.tokens.length-1;e>=0;e--){const t=o.tokens[e];if(t.type==="text"){const i=t.raw.split(`
|
||||
`),n=i[i.length-1];if(n.includes("`"))return kCe(o);if(n.includes("**"))return RCe(o);if(n.match(/\*\w/))return ICe(o);if(n.match(/(^|\s)__\w/))return MCe(o);if(n.match(/(^|\s)_\w/))return DCe(o);if(CCe(n)||vCe(n)&&o.tokens.slice(0,e).some(s=>s.type==="text"&&s.raw.match(/\[[^\]]*$/))){const s=o.tokens.slice(e+1);return s[0]?.type==="link"&&s[1]?.type==="text"&&s[1].raw.match(/^ *"[^"]*$/)||n.match(/^[^"]* +"[^"]*$/)?NCe(o):ECe(o)}else if(n.match(/(^|\s)\[\w*[^\]]*$/))return TCe(o)}}}function CCe(o){return!!o.match(/(^|\s)\[.*\]\(\w*/)}function vCe(o){return!!o.match(/^[^\[]*\]\([^\)]*$/)}function wCe(o){const e=o.items[o.items.length-1],t=e.tokens?e.tokens[e.tokens.length-1]:void 0,i=c=>{const h=c.items.at(-1)?.tokens.at(-1);return h?.type==="heading"||h?.type==="list"&&i(h)};let n;if(t?.type==="text"&&!("inRawBlock"in e))n=Iq(t);else if(i(o)){const c=nw(o.raw.trim()+" ")[0];return c.type!=="list"?void 0:c}if(!n||n.type!=="paragraph")return;const s=dw(o.items.slice(0,-1)),r=e.raw.match(/^(\s*(-|\d+\.|\*) +)/)?.[0];if(!r)return;const a=r+dw(e.tokens.slice(0,-1))+n.raw,l=nw(s+a)[0];if(l.type==="list")return l}function SCe(o,e){if(o.raw.match(/-\s*$/))return nw(e+" ")}const yCe=3;function LCe(o){for(let e=0;e<yCe;e++){const t=xCe(o);if(t)o=t;else break}return o}function xCe(o){let e,t;for(e=0;e<o.length;e++){const n=o[e];if(n.type==="paragraph"&&n.raw.match(/(\n|^)\|/)){t=ACe(o.slice(e));break}}const i=o.at(-1);if(!t&&i?.type==="list"){const n=wCe(i);n&&(t=[n],e=o.length-1)}if(!t&&i?.type==="paragraph"){const n=Iq(i);n&&(t=[n],e=o.length-1)}if(t){const n=[...o.slice(0,e),...t];return n.links=o.links,n}if(i?.type==="heading"){const n=SCe(i,dw(o));if(n)return n}return null}function kCe(o){return Uh(o,"`")}function ICe(o){return Uh(o,"*")}function DCe(o){return Uh(o,"_")}function ECe(o){return Uh(o,")",!1)}function NCe(o){return Uh(o,'")',!1)}function TCe(o){return Uh(o,"](https://microsoft.com)",!1)}function RCe(o){return Uh(o,"**")}function MCe(o){return Uh(o,"__")}function Uh(o,e,t=!0){const i=dw(Array.isArray(o)?o:[o]),n=t?i.trimEnd():i;return nw(n+e)[0]}function ACe(o){const e=dw(o),t=e.split(`
|
||||
`);let i,n=!1;for(let s=0;s<t.length;s++){const r=t[s].trim();if(typeof i>"u"&&r.match(/^\s*\|/)){const a=r.match(/(\|[^\|]+)(?=\||$)/g);a&&(i=a.length)}else if(typeof i=="number")if(r.match(/^\s*\|/)){if(s!==t.length-1)return;n=!0}else return}if(typeof i=="number"&&i>0){const s=n?t.slice(0,-1).join(`
|
||||
`):e,r=!!s.match(/\|\s*$/),a=s+(r?"":"|")+`
|
||||
|${" --- |".repeat(i)}`;return nw(a)}}let Dq={showInstantHover:()=>{},showDelayedHover:()=>{},setupDelayedHover:()=>P.None,setupDelayedHoverAtMouse:()=>P.None,hideHover:()=>{},showAndFocusLastHover:()=>{},setupManagedHover:()=>({dispose:()=>{},show:()=>{},hide:()=>{},update:()=>{}}),showManagedHover:()=>{}};function PCe(o){Dq=o}function na(){return Dq}class OCe{constructor(e){this.spliceables=e}splice(e,t,i){this.spliceables.forEach(n=>n.splice(e,t,i))}}function Es(o,e,t){return Math.min(Math.max(o,e),t)}class Eq{constructor(){this._n=1,this._val=0}update(e){return this._val=this._val+(e-this._val)/this._n,this._n+=1,this._val}get value(){return this._val}}class FCe{constructor(e){this._n=0,this._val=0,this._values=[],this._index=0,this._sum=0,this._values=new Array(e),this._values.fill(0,0,e)}update(e){const t=this._values[this._index];return this._values[this._index]=e,this._index=(this._index+1)%this._values.length,this._sum-=t,this._sum+=e,this._n<this._values.length&&(this._n+=1),this._val=this._sum/this._n,this._val}get value(){return this._val}}class pg extends Error{constructor(e,t){super(`ListError [${e}] ${t}`)}}var Zn;(function(o){function e(s,r){if(s.start>=r.end||r.start>=s.end)return{start:0,end:0};const a=Math.max(s.start,r.start),l=Math.min(s.end,r.end);return l-a<=0?{start:0,end:0}:{start:a,end:l}}o.intersect=e;function t(s){return s.end-s.start<=0}o.isEmpty=t;function i(s,r){return!t(e(s,r))}o.intersects=i;function n(s,r){const a=[],l={start:s.start,end:Math.min(r.start,s.end)},c={start:Math.max(r.end,s.start),end:s.end};return t(l)||a.push(l),t(c)||a.push(c),a}o.relativeComplement=n})(Zn||(Zn={}));function Nq(o,e){const t=[];for(const i of e){if(o.start>=i.range.end)continue;if(o.end<i.range.start)break;const n=Zn.intersect(o,i.range);Zn.isEmpty(n)||t.push({range:n,size:i.size})}return t}function CO({start:o,end:e},t){return{start:o+t,end:e+t}}function WCe(o){const e=[];let t=null;for(const i of o){const n=i.range.start,s=i.range.end,r=i.size;if(t&&r===t.size){t.range.end=s;continue}t={range:{start:n,end:s},size:r},e.push(t)}return e}function BCe(...o){return WCe(o.reduce((e,t)=>e.concat(t),[]))}class HCe{get paddingTop(){return this._paddingTop}set paddingTop(e){this._size=this._size+e-this._paddingTop,this._paddingTop=e}constructor(e){this.groups=[],this._size=0,this._paddingTop=0,this._paddingTop=e??0,this._size=this._paddingTop}splice(e,t,i=[]){const n=i.length-t,s=Nq({start:0,end:e},this.groups),r=Nq({start:e+t,end:Number.POSITIVE_INFINITY},this.groups).map(l=>({range:CO(l.range,n),size:l.size})),a=i.map((l,c)=>({range:{start:e+c,end:e+c+1},size:l.size}));this.groups=BCe(s,a,r),this._size=this._paddingTop+this.groups.reduce((l,c)=>l+c.size*(c.range.end-c.range.start),0)}get count(){const e=this.groups.length;return e?this.groups[e-1].range.end:0}get size(){return this._size}indexAt(e){if(e<0)return-1;if(e<this._paddingTop)return 0;let t=0,i=this._paddingTop;for(const n of this.groups){const s=n.range.end-n.range.start,r=i+s*n.size;if(e<r)return t+Math.floor((e-i)/n.size);t+=s,i=r}return t}indexAfter(e){return Math.min(this.indexAt(e)+1,this.count)}positionAt(e){if(e<0)return-1;let t=0,i=0;for(const n of this.groups){const s=n.range.end-n.range.start,r=i+s;if(e<r)return this._paddingTop+t+(e-i)*n.size;t+=s*n.size,i=r}return-1}}class VCe{constructor(e){this.renderers=e,this.cache=new Map,this.transactionNodesPendingRemoval=new Set,this.inTransaction=!1}alloc(e){let t=this.getTemplateCache(e).pop(),i=!1;if(t)i=this.transactionNodesPendingRemoval.has(t.domNode),i&&this.transactionNodesPendingRemoval.delete(t.domNode);else{const n=ee(".monaco-list-row"),r=this.getRenderer(e).renderTemplate(n);t={domNode:n,templateId:e,templateData:r}}return{row:t,isReusingConnectedDomNode:i}}release(e){e&&this.releaseRow(e)}transact(e){if(this.inTransaction)throw new Error("Already in transaction");this.inTransaction=!0;try{e()}finally{for(const t of this.transactionNodesPendingRemoval)this.doRemoveNode(t);this.transactionNodesPendingRemoval.clear(),this.inTransaction=!1}}releaseRow(e){const{domNode:t,templateId:i}=e;t&&(this.inTransaction?this.transactionNodesPendingRemoval.add(t):this.doRemoveNode(t)),this.getTemplateCache(i).push(e)}doRemoveNode(e){e.classList.remove("scrolling"),e.remove()}getTemplateCache(e){let t=this.cache.get(e);return t||(t=[],this.cache.set(e,t)),t}dispose(){this.cache.forEach((e,t)=>{for(const i of e)this.getRenderer(t).disposeTemplate(i.templateData),i.templateData=null}),this.cache.clear(),this.transactionNodesPendingRemoval.clear()}getRenderer(e){const t=this.renderers.get(e);if(!t)throw new Error(`No renderer found for ${e}`);return t}}function zCe(o,e,t,i=[]){if(!o.dataTransfer)return;const n=ee(".monaco-drag-image");n.textContent=t,n.classList.add(...i),(a=>{for(;a&&!a.classList.contains("monaco-workbench");)a=a.parentElement;return a||e.ownerDocument.body})(e).appendChild(n),o.dataTransfer.setDragImage(n,-10,-10),setTimeout(()=>n.remove(),0)}var gd=function(o,e,t,i){var
Line truncated
|
||||
.monaco-drag-image${t},
|
||||
.monaco-list${t}:focus .monaco-list-row.selected.focused { background-color: ${e.listFocusAndSelectionBackground}; }
|
||||
`),e.listFocusAndSelectionForeground&&i.push(`
|
||||
.monaco-drag-image${t},
|
||||
.monaco-list${t}:focus .monaco-list-row.selected.focused { color: ${e.listFocusAndSelectionForeground}; }
|
||||
`),e.listInactiveFocusForeground&&(i.push(`.monaco-list${t} .monaco-list-row.focused { color: ${e.listInactiveFocusForeground}; }`),i.push(`.monaco-list${t} .monaco-list-row.focused:hover { color: ${e.listInactiveFocusForeground}; }`)),e.listInactiveSelectionIconForeground&&i.push(`.monaco-list${t} .monaco-list-row.focused .codicon { color: ${e.listInactiveSelectionIconForeground}; }`),e.listInactiveFocusBackground&&(i.push(`.monaco-list${t} .monaco-list-row.focused { background-color: ${e.listInactiveFocusBackground}; }`),i.push(`.monaco-list${t} .monaco-list-row.focused:hover { background-color: ${e.listInactiveFocusBackground}; }`)),e.listInactiveSelectionBackground&&(i.push(`.monaco-list${t} .monaco-list-row.selected { background-color: ${e.listInactiveSelectionBackground}; }`),i.push(`.monaco-list${t} .monaco-list-row.selected:hover { background-color: ${e.listInactiveSelectionBackground}; }`)),e.listInactiveSelectionForeground&&i.push(`.monaco-list${t} .monaco-list-row.selected { color: ${e.listInactiveSelectionForeground}; }`),e.listHoverBackground&&i.push(`.monaco-list${t}:not(.drop-target):not(.dragging) .monaco-list-row:hover:not(.selected):not(.focused) { background-color: ${e.listHoverBackground}; }`),e.listHoverForeground&&i.push(`.monaco-list${t}:not(.drop-target):not(.dragging) .monaco-list-row:hover:not(.selected):not(.focused) { color: ${e.listHoverForeground}; }`);const n=dd(e.listFocusAndSelectionOutline,dd(e.listSelectionOutline,e.listFocusOutline??""));n&&i.push(`.monaco-list${t}:focus .monaco-list-row.focused.selected { outline: 1px solid ${n}; outline-offset: -1px;}`),e.listFocusOutline&&i.push(`
|
||||
.monaco-drag-image${t},
|
||||
.monaco-list${t}:focus .monaco-list-row.focused,
|
||||
.context-menu-visible .monaco-list${t}.last-focused .monaco-list-row.focused { outline: 1px solid ${e.listFocusOutline}; outline-offset: -1px; }
|
||||
`);const s=dd(e.listSelectionOutline,e.listInactiveFocusOutline??"");s&&i.push(`.monaco-list${t} .monaco-list-row.focused.selected { outline: 1px dotted ${s}; outline-offset: -1px; }`),e.listSelectionOutline&&i.push(`.monaco-list${t} .monaco-list-row.selected { outline: 1px dotted ${e.listSelectionOutline}; outline-offset: -1px; }`),e.listInactiveFocusOutline&&i.push(`.monaco-list${t} .monaco-list-row.focused { outline: 1px dotted ${e.listInactiveFocusOutline}; outline-offset: -1px; }`),e.listHoverOutline&&i.push(`.monaco-list${t} .monaco-list-row:hover { outline: 1px dashed ${e.listHoverOutline}; outline-offset: -1px; }`),e.listDropOverBackground&&i.push(`
|
||||
.monaco-list${t}.drop-target,
|
||||
.monaco-list${t} .monaco-list-rows.drop-target,
|
||||
.monaco-list${t} .monaco-list-row.drop-target { background-color: ${e.listDropOverBackground} !important; color: inherit !important; }
|
||||
`),e.listDropBetweenBackground&&(i.push(`
|
||||
.monaco-list${t} .monaco-list-rows.drop-target-before .monaco-list-row:first-child::before,
|
||||
.monaco-list${t} .monaco-list-row.drop-target-before::before {
|
||||
content: ""; position: absolute; top: 0px; left: 0px; width: 100%; height: 1px;
|
||||
background-color: ${e.listDropBetweenBackground};
|
||||
}`),i.push(`
|
||||
.monaco-list${t} .monaco-list-rows.drop-target-after .monaco-list-row:last-child::after,
|
||||
.monaco-list${t} .monaco-list-row.drop-target-after::after {
|
||||
content: ""; position: absolute; bottom: 0px; left: 0px; width: 100%; height: 1px;
|
||||
background-color: ${e.listDropBetweenBackground};
|
||||
}`)),e.tableColumnsBorder&&i.push(`
|
||||
.monaco-table > .monaco-split-view2,
|
||||
.monaco-table > .monaco-split-view2 .monaco-sash.vertical::before,
|
||||
.monaco-enable-motion .monaco-table:hover > .monaco-split-view2,
|
||||
.monaco-enable-motion .monaco-table:hover > .monaco-split-view2 .monaco-sash.vertical::before {
|
||||
border-color: ${e.tableColumnsBorder};
|
||||
}
|
||||
|
||||
.monaco-enable-motion .monaco-table > .monaco-split-view2,
|
||||
.monaco-enable-motion .monaco-table > .monaco-split-view2 .monaco-sash.vertical::before {
|
||||
border-color: transparent;
|
||||
}
|
||||
`),e.tableOddRowsBackgroundColor&&i.push(`
|
||||
.monaco-table .monaco-list-row[data-parity=odd]:not(.focused):not(.selected):not(:hover) .monaco-table-tr,
|
||||
.monaco-table .monaco-list:not(:focus) .monaco-list-row[data-parity=odd].focused:not(.selected):not(:hover) .monaco-table-tr,
|
||||
.monaco-table .monaco-list:not(.focused) .monaco-list-row[data-parity=odd].focused:not(.selected):not(:hover) .monaco-table-tr {
|
||||
background-color: ${e.tableOddRowsBackgroundColor};
|
||||
}
|
||||
`),this.styleElement.textContent=i.join(`
|
||||
`)}}const ive={listFocusBackground:"#7FB0D0",listActiveSelectionBackground:"#0E639C",listActiveSelectionForeground:"#FFFFFF",listActiveSelectionIconForeground:"#FFFFFF",listFocusAndSelectionOutline:"#90C2F9",listFocusAndSelectionBackground:"#094771",listFocusAndSelectionForeground:"#FFFFFF",listInactiveSelectionBackground:"#3F3F46",listInactiveSelectionIconForeground:"#FFFFFF",listHoverBackground:"#2A2D2E",listDropOverBackground:"#383B3D",listDropBetweenBackground:"#EEEEEE",treeIndentGuidesStroke:"#a9a9a9",treeInactiveIndentGuidesStroke:z.fromHex("#a9a9a9").transparent(.4).toString(),tableColumnsBorder:z.fromHex("#cccccc").transparent(.2).toString(),tableOddRowsBackgroundColor:z.fromHex("#cccccc").transparent(.04).toString(),listBackground:void 0,listFocusForeground:void 0,listInactiveSelectionForeground:void 0,listInactiveFocusForeground:void 0,listInactiveFocusBackground:void 0,listHoverForeground:void 0,listFocusOutline:void 0,listInactiveFocusOutline:void 0,listSelectionOutline:void 0,listHoverOutline:void 0,treeStickyScrollBackground:void 0,treeStickyScrollBorder:void 0,treeStickyScrollShadow:void 0},nve={keyboardSupport:!0,mouseSupport:!0,multipleSelectionSupport:!0,dnd:{getDragURI(){return null},onDragStart(){},onDragOver(){return!1},drop(){},dispose(){}}};function sve(o,e){const t=o.indexOf(e);if(t===-1)return[];const i=[];let n=t-1;for(;n>=0&&o[n]===e-(t-n);)i.push(o[n--]);for(i.reverse(),n=t;n<o.length&&o[n]===e+(n-t);)i.push(o[n++]);return i}function wO(o,e){const t=[];let i=0,n=0;for(;i<o.length||n<e.length;)if(i>=o.length)t.push(e[n++]);else if(n>=e.length)t.push(o[i++]);else if(o[i]===e[n]){t.push(o[i]),i++,n++;continue}else o[i]<e[n]?t.push(o[i++]):t.push(e[n++]);return t}function ove(o,e){const t=[];let i=0,n=0;for(;i<o.length||n<e.length;)if(i>=o.length)t.push(e[n++]);else if(n>=e.length)t.push(o[i++]);else if(o[i]===e[n]){i++,n++;continue}else o[i]<e[n]?t.push(o[i++]):n++;return t}const Fq=(o,e)=>o-e;class rve{constructor(e,t){this._templateId=e,this.renderers=t}get templateId(){return this._templateId}renderTemplate(e){return this.renderers.map(t=>t.renderTemplate(e))}renderElement(e,t,i,n){let s=0;for(const r of this.renderers)r.renderElement(e,t,i[s++],n)}disposeElement(e,t,i,n){let s=0;for(const r of this.renderers)r.disposeElement?.(e,t,i[s],n),s+=1}disposeTemplate(e){let t=0;for(const i of this.renderers)i.disposeTemplate(e[t++])}}class ave{constructor(e){this.accessibilityProvider=e,this.templateId="a18n"}renderTemplate(e){return{container:e,disposables:new V}}renderElement(e,t,i){const n=this.accessibilityProvider.getAriaLabel(e),s=n&&typeof n!="string"?n:Et(n);i.disposables.add(Se(a=>{this.setAriaLabel(a.readObservable(s),i.container)}));const r=this.accessibilityProvider.getAriaLevel&&this.accessibilityProvider.getAriaLevel(e);typeof r=="number"?i.container.setAttribute("aria-level",`${r}`):i.container.removeAttribute("aria-level")}setAriaLabel(e,t){e?t.setAttribute("aria-label",e):t.removeAttribute("aria-label")}disposeElement(e,t,i){i.disposables.clear()}disposeTemplate(e){e.disposables.dispose()}}class lve{constructor(e,t){this.list=e,this.dnd=t}getDragElements(e){const t=this.list.getSelectedElements();return t.indexOf(e)>-1?t:[e]}getDragURI(e){return this.dnd.getDragURI(e)}getDragLabel(e,t){if(this.dnd.getDragLabel)return this.dnd.getDragLabel(e,t)}onDragStart(e,t){this.dnd.onDragStart?.(e,t)}onDragOver(e,t,i,n,s){return this.dnd.onDragOver(e,t,i,n,s)}onDragLeave(e,t,i,n){this.dnd.onDragLeave?.(e,t,i,n)}onDragEnd(e){this.dnd.onDragEnd?.(e)}drop(e,t,i,n,s){this.dnd.drop(e,t,i,n,s)}dispose(){this.dnd.dispose()}}class Ko{get onDidChangeFocus(){return ie.map(this.eventBufferer.wrapEvent(this.focus.onChange),e=>this.toListEvent(e),this.disposables)}get onDidChangeSelection(){return ie.map(this.eventBufferer.wrapEvent(this.selection.onChange),e=>this.toListEvent(e),this.disposables)}get domId(){return this.view.domId}get onDidScroll(){return this.view.onDidScroll}get onMouseClick(){return this.view.onMouseClick}get onMouseDblClick(){return this.view.onMouseDblClick}get onMouseMiddleClick(){return this.view.onMouseMiddleClick}get onPointer(){return this.mouseController.onPointer}get onMouseDown(){return this.view.onMouseDown}get onMouseOver(){return this.view.onMouseOver}get onMouseOut(){return this.view.onMouseOut}get onTouchStart(){return this.view.onTouchStart}get onTap(){return this.view.onTap}get onContextMenu(){let e=!1;const t=ie.chain(this.disposables.add(new mt(this.view.domNode,"keydown")).event,s=>s.map(r=>new yt(r)).filter(r=>e=r.keyCode===58||r.shiftKey&&r.keyCode===68).map(r=>st.stop(r,!0)).filter(()=>!1)),i=ie.chain(this.disposables.add(new mt(this.view.domNode,"keyup")).event,s=>s.forEach(()=>e=!1).map(r=>new yt(r)).filter(r=>r.keyCode===58||r.shiftKey&&r.keyCode===68).map(r=>st.stop(r,!0)).map(({browserEvent:r})=>{const a=this.getFocus(),l=a.length?a[0]:void 0,c=typeof l<"u"?this.view.element(l):void 0,d=typeof l<"u"?this.view.domElement(l):this.view.domNode;retur
Line truncated
|
||||
`)}styleSelectElement(){const e=this.styles.selectBackground??"",t=this.styles.selectForeground??"",i=this.styles.selectBorder??"";this.selectElement.style.backgroundColor=e,this.selectElement.style.color=t,this.selectElement.style.borderColor=i}styleList(){const e=this.styles.selectBackground??"",t=dd(this.styles.selectListBackground,e);this.selectDropDownListContainer.style.backgroundColor=t,this.selectionDetailsPane.style.backgroundColor=t;const i=this.styles.focusBorder??"";this.selectDropDownContainer.style.outlineColor=i,this.selectDropDownContainer.style.outlineOffset="-1px",this.selectList.style(this.styles)}createOption(e,t,i){const n=document.createElement("option");return n.value=e,n.text=e,n.disabled=!!i,n}showSelectDropDown(){this.selectionDetailsPane.textContent="",!(!this.contextViewProvider||this._isVisible)&&(this.createSelectList(this.selectDropDownContainer),this.setOptionsList(),this.contextViewProvider.showContextView({getAnchor:()=>this.selectElement,render:e=>this.renderSelectDropDown(e,!0),layout:()=>{this.layoutSelectDropDown()},onHide:()=>{this.selectDropDownContainer.classList.remove("visible"),this.selectElement.classList.remove("synthetic-focus")},anchorPosition:this._dropDownPosition},this.selectBoxOptions.optionsAsChildren?this.container:void 0),this._isVisible=!0,this.hideSelectDropDown(!1),this.contextViewProvider.showContextView({getAnchor:()=>this.selectElement,render:e=>this.renderSelectDropDown(e),layout:()=>this.layoutSelectDropDown(),onHide:()=>{this.selectDropDownContainer.classList.remove("visible"),this.selectElement.classList.remove("synthetic-focus")},anchorPosition:this._dropDownPosition},this.selectBoxOptions.optionsAsChildren?this.container:void 0),this._currentSelection=this.selected,this._isVisible=!0,this.selectElement.setAttribute("aria-expanded","true"))}hideSelectDropDown(e){!this.contextViewProvider||!this._isVisible||(this._isVisible=!1,this.selectElement.setAttribute("aria-expanded","false"),e&&this.selectElement.focus(),this.contextViewProvider.hideContextView())}renderSelectDropDown(e,t){return e.appendChild(this.selectDropDownContainer),this.layoutSelectDropDown(t),{dispose:()=>{this.selectDropDownContainer.remove()}}}measureMaxDetailsHeight(){let e=0;return this.options.forEach((t,i)=>{this.updateDetail(i),this.selectionDetailsPane.offsetHeight>e&&(e=this.selectionDetailsPane.offsetHeight)}),e}layoutSelectDropDown(e){if(this._skipLayout)return!1;if(this.selectList){this.selectDropDownContainer.classList.add("visible");const t=me(this.selectElement),i=ai(this.selectElement),n=me(this.selectElement).getComputedStyle(this.selectElement),s=parseFloat(n.getPropertyValue("--dropdown-padding-top"))+parseFloat(n.getPropertyValue("--dropdown-padding-bottom")),r=t.innerHeight-i.top-i.height-(this.selectBoxOptions.minBottomMargin||0),a=i.top-dc.DEFAULT_DROPDOWN_MINIMUM_TOP_MARGIN,l=this.selectElement.offsetWidth,c=this.setWidthControlElement(this.widthControlElement),d=Math.max(c,Math.round(l)).toString()+"px";this.selectDropDownContainer.style.width=d,this.selectList.getHTMLElement().style.height="",this.selectList.layout();let h=this.selectList.contentHeight;this._hasDetails&&this._cachedMaxDetailsHeight===void 0&&(this._cachedMaxDetailsHeight=this.measureMaxDetailsHeight());const u=this._hasDetails?this._cachedMaxDetailsHeight:0,f=h+s+u,g=Math.floor((r-s-u)/this.getHeight()),p=Math.floor((a-s-u)/this.getHeight());if(e)return i.top+i.height>t.innerHeight-22||i.top<dc.DEFAULT_DROPDOWN_MINIMUM_TOP_MARGIN||g<1&&p<1?!1:(g<dc.DEFAULT_MINIMUM_VISIBLE_OPTIONS&&p>g&&this.options.length>g?(this._dropDownPosition=1,this.selectDropDownListContainer.remove(),this.selectionDetailsPane.remove(),this.selectDropDownContainer.appendChild(this.selectionDetailsPane),this.selectDropDownContainer.appendChild(this.selectDropDownListContainer),this.selectionDetailsPane.classList.remove("border-top"),this.selectionDetailsPane.classList.add("border-bottom")):(this._dropDownPosition=0,this.selectDropDownListContainer.remove(),this.selectionDetailsPane.remove(),this.selectDropDownContainer.appendChild(this.selectDropDownListContainer),this.selectDropDownContainer.appendChild(this.selectionDetailsPane),this.selectionDetailsPane.classList.remove("border-bottom"),this.selectionDetailsPane.classList.add("border-top")),!0);if(i.top+i.height>t.innerHeight-22||i.top<dc.DEFAULT_DROPDOWN_MINIMUM_TOP_MARGIN||this._dropDownPosition===0&&g<1||this._dropDownPosition===1&&p<1)return this.hideSelectDropDown(!0),!1;if(this._dropDownPosition===0){if(this._isVisible&&g+p<1)return this.hideSelectDropDown(!0),!1;f>r&&(h=g*this.getHeight())}else f>a&&(h=p*this.getHeight());return this.selectList.layout(h),this.selectList.domFocus(),this.selectList.length>0&&(this.selectList.setFocus([this.selected||0]),this.selectList.reveal(this.selectList.getFocus()[0]||0)),this._hasDetails?(this.selectList.getHTMLElement().style.height=h+s+"px",this.selectDropDownContainer.style.height=""):this.selectDropDownContaine
Line truncated
|
||||
`)}}const bg=new Lve;ei.add(wve.IconContribution,bg);function Bt(o,e,t,i){return bg.registerIcon(o,e,t,i)}function qq(){return bg}function xve(){const o=BH();for(const e in o){const t="\\"+o[e].toString(16);bg.registerIcon(e,{fontCharacter:t})}}xve();const Kq="vscode://schemas/icons",Gq=ei.as(uL.JSONContribution);Gq.registerSchema(Kq,bg.getIconSchema());const Zq=new vt(()=>Gq.notifySchemaChanged(Kq),200);bg.onDidChange(()=>{Zq.isScheduled()||Zq.schedule()});const Yq=Bt("widget-close",Z.close,m(2027,"Icon for the close action in widgets."));Bt("goto-previous-location",Z.arrowUp,m(2028,"Icon for goto previous editor location.")),Bt("goto-next-location",Z.arrowDown,m(2029,"Icon for goto next editor location.")),ve.modify(Z.sync,"spin"),ve.modify(Z.loading,"spin");var xO=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},kO=function(o,e){return function(t,i){e(t,i,o)}};const kve=Bt("diff-review-insert",Z.add,m(97,"Icon for 'Insert' in accessible diff viewer.")),Ive=Bt("diff-review-remove",Z.remove,m(98,"Icon for 'Remove' in accessible diff viewer.")),Dve=Bt("diff-review-close",Z.close,m(99,"Icon for 'Close' in accessible diff viewer."));let Cg=(TC=class extends P{constructor(e,t,i,n,s,r,a,l,c){super(),this._parentNode=e,this._visible=t,this._setVisible=i,this._canClose=n,this._width=s,this._height=r,this._diffs=a,this._models=l,this._instantiationService=c,this._state=$(this,d=>{const h=this._visible.read(d);if(this._parentNode.style.visibility=h?"visible":"hidden",!h)return null;const u=d.store.add(this._instantiationService.createInstance(IO,this._diffs,this._models,this._setVisible,this._canClose)),f=d.store.add(this._instantiationService.createInstance(DO,this._parentNode,u,this._width,this._height,this._models));return{model:u,view:f}}).recomputeInitiallyAndOnChange(this._store)}next(){Dt(e=>{const t=this._visible.get();this._setVisible(!0,e),t&&this._state.get().model.nextGroup(e)})}prev(){Dt(e=>{this._setVisible(!0,e),this._state.get().model.previousGroup(e)})}close(){Dt(e=>{this._setVisible(!1,e)})}},TC._ttPolicy=yl("diffReview",{createHTML:e=>e}),TC);Cg=xO([kO(8,pe)],Cg);let IO=class extends P{constructor(e,t,i,n,s){super(),this._diffs=e,this._models=t,this._setVisible=i,this.canClose=n,this._accessibilitySignalService=s,this._groups=xe(this,[]),this._currentGroupIdx=xe(this,0),this._currentElementIdx=xe(this,0),this.groups=this._groups,this.currentGroup=this._currentGroupIdx.map((r,a)=>this._groups.read(a)[r]),this.currentGroupIndex=this._currentGroupIdx,this.currentElement=this._currentElementIdx.map((r,a)=>this.currentGroup.read(a)?.lines[r]),this._register(Se(r=>{const a=this._diffs.read(r);if(!a){this._groups.set([],void 0);return}const l=Eve(a,this._models.getOriginalModel().getLineCount(),this._models.getModifiedModel().getLineCount());Dt(c=>{const d=this._models.getModifiedPosition();if(d){const h=l.findIndex(u=>d?.lineNumber<u.range.modified.endLineNumberExclusive);h!==-1&&this._currentGroupIdx.set(h,c)}this._groups.set(l,c)})})),this._register(Se(r=>{const a=this.currentElement.read(r);a?.type===Ts.Deleted?this._accessibilitySignalService.playSignal(Ds.diffLineDeleted,{source:"accessibleDiffViewer.currentElementChanged"}):a?.type===Ts.Added&&this._accessibilitySignalService.playSignal(Ds.diffLineInserted,{source:"accessibleDiffViewer.currentElementChanged"})})),this._register(Se(r=>{const a=this.currentElement.read(r);if(a&&a.type!==Ts.Header){const l=a.modifiedLineNumber??a.diff.modified.startLineNumber;this._models.modifiedSetSelection(k.fromPositions(new M(l,1)))}}))}_goToGroupDelta(e,t){const i=this.groups.get();!i||i.length<=1||Bm(t,n=>{this._currentGroupIdx.set(ge.ofLength(i.length).clipCyclic(this._currentGroupIdx.get()+e),n),this._currentElementIdx.set(0,n)})}nextGroup(e){this._goToGroupDelta(1,e)}previousGroup(e){this._goToGroupDelta(-1,e)}_goToLineDelta(e){const t=this.currentGroup.get();!t||t.lines.length<=1||Dt(i=>{this._currentElementIdx.set(ge.ofLength(t.lines.length).clip(this._currentElementIdx.get()+e),i)})}goToNextLine(){this._goToLineDelta(1)}goToPreviousLine(){this._goToLineDelta(-1)}goToLine(e){const t=this.currentGroup.get();if(!t)return;const i=t.lines.indexOf(e);i!==-1&&Dt(n=>{this._currentElementIdx.set(i,n)})}revealCurrentElementInEditor(){if(!this.canClose.get())return;this._setVisible(!1,void 0);const e=this.currentElement.get();e&&(e.type===Ts.Deleted?this._models.originalReveal(k.fromPositions(new M(e.originalLineNumber,1))):this._models.modifiedReveal(e.type!==Ts.Header?k.fromPositions(new M(e.modifiedLineNumber,1)):void 0))}close(){this.canClose.get()&&(this._setVisible(!1,void 0),this._models.modifiedFocus())}};IO=xO([kO(4,ld)],IO);const mw=3;function Eve(o,e,t){const i=[];for(const n of oM(
Line truncated
|
||||
`);this.histogram[a]=(this.histogram[a]||0)+1}this.totalCount=n}computeSimilarity(e){let t=0;const i=Math.max(this.histogram.length,e.histogram.length);for(let n=0;n<i;n++)t+=Math.abs((this.histogram[n]??0)-(e.histogram[n]??0));return 1-t/(this.totalCount+e.totalCount)}};PS.chrKeys=new Map;let fk=PS;class zve{compute(e,t,i=_w.instance,n){if(e.length===0||t.length===0)return pd.trivial(e,t);const s=new MO(e.length,t.length),r=new MO(e.length,t.length),a=new MO(e.length,t.length);for(let g=0;g<e.length;g++)for(let p=0;p<t.length;p++){if(!i.isValid())return pd.trivialTimedOut(e,t);const _=g===0?0:s.get(g-1,p),b=p===0?0:s.get(g,p-1);let C;e.getElement(g)===t.getElement(p)?(g===0||p===0?C=0:C=s.get(g-1,p-1),g>0&&p>0&&r.get(g-1,p-1)===3&&(C+=a.get(g-1,p-1)),C+=n?n(g,p):1):C=-1;const w=Math.max(_,b,C);if(w===C){const v=g>0&&p>0?a.get(g-1,p-1):0;a.set(g,p,v+1),r.set(g,p,3)}else w===_?(a.set(g,p,0),r.set(g,p,1)):w===b&&(a.set(g,p,0),r.set(g,p,2));s.set(g,p,w)}const l=[];let c=e.length,d=t.length;function h(g,p){(g+1!==c||p+1!==d)&&l.push(new nn(new ge(g+1,c),new ge(p+1,d))),c=g,d=p}let u=e.length-1,f=t.length-1;for(;u>=0&&f>=0;)r.get(u,f)===3?(h(u,f),u--,f--):r.get(u,f)===1?u--:f--;return h(-1,-1),l.reverse(),new pd(l,!1)}}class rK{compute(e,t,i=_w.instance){if(e.length===0||t.length===0)return pd.trivial(e,t);const n=e,s=t;function r(p,_){for(;p<n.length&&_<s.length&&n.getElement(p)===s.getElement(_);)p++,_++;return p}let a=0;const l=new Uve;l.set(0,r(0,0));const c=new $ve;c.set(0,l.get(0)===0?null:new aK(null,0,0,l.get(0)));let d=0;e:for(;;){if(a++,!i.isValid())return pd.trivialTimedOut(n,s);const p=-Math.min(a,s.length+a%2),_=Math.min(a,n.length+a%2);for(d=p;d<=_;d+=2){const b=d===_?-1:l.get(d+1),C=d===p?-1:l.get(d-1)+1,w=Math.min(Math.max(b,C),n.length),v=w-d;if(w>n.length||v>s.length)continue;const S=r(w,v);l.set(d,S);const L=w===b?c.get(d+1):c.get(d-1);if(c.set(d,S!==w?new aK(L,w,v,S-w):L),l.get(d)===n.length&&l.get(d)-d===s.length)break e}}let h=c.get(d);const u=[];let f=n.length,g=s.length;for(;;){const p=h?h.x+h.length:0,_=h?h.y+h.length:0;if((p!==f||_!==g)&&u.push(new nn(new ge(p,f),new ge(_,g))),!h)break;f=h.x,g=h.y,h=h.prev}return u.reverse(),new pd(u,!1)}}class aK{constructor(e,t,i,n){this.prev=e,this.x=t,this.y=i,this.length=n}}class Uve{constructor(){this.positiveArr=new Int32Array(10),this.negativeArr=new Int32Array(10)}get(e){return e<0?(e=-e-1,this.negativeArr[e]):this.positiveArr[e]}set(e,t){if(e<0){if(e=-e-1,e>=this.negativeArr.length){const i=this.negativeArr;this.negativeArr=new Int32Array(i.length*2),this.negativeArr.set(i)}this.negativeArr[e]=t}else{if(e>=this.positiveArr.length){const i=this.positiveArr;this.positiveArr=new Int32Array(i.length*2),this.positiveArr.set(i)}this.positiveArr[e]=t}}}class $ve{constructor(){this.positiveArr=[],this.negativeArr=[]}get(e){return e<0?(e=-e-1,this.negativeArr[e]):this.positiveArr[e]}set(e,t){e<0?(e=-e-1,this.negativeArr[e]=t):this.positiveArr[e]=t}}class gk{constructor(e,t,i){this.lines=e,this.range=t,this.considerWhitespaceChanges=i,this.elements=[],this.firstElementOffsetByLineIdx=[],this.lineStartOffsets=[],this.trimmedWsLengthsByLineIdx=[],this.firstElementOffsetByLineIdx.push(0);for(let n=this.range.startLineNumber;n<=this.range.endLineNumber;n++){let s=e[n-1],r=0;n===this.range.startLineNumber&&this.range.startColumn>1&&(r=this.range.startColumn-1,s=s.substring(r)),this.lineStartOffsets.push(r);let a=0;if(!i){const c=s.trimStart();a=s.length-c.length,s=c.trimEnd()}this.trimmedWsLengthsByLineIdx.push(a);const l=n===this.range.endLineNumber?Math.min(this.range.endColumn-1-r-a,s.length):s.length;for(let c=0;c<l;c++)this.elements.push(s.charCodeAt(c));n<this.range.endLineNumber&&(this.elements.push(10),this.firstElementOffsetByLineIdx.push(this.elements.length))}}toString(){return`Slice: "${this.text}"`}get text(){return this.getText(new ge(0,this.length))}getText(e){return this.elements.slice(e.start,e.endExclusive).map(t=>String.fromCharCode(t)).join("")}getElement(e){return this.elements[e]}get length(){return this.elements.length}getBoundaryScore(e){const t=dK(e>0?this.elements[e-1]:-1),i=dK(e<this.elements.length?this.elements[e]:-1);if(t===7&&i===8)return 0;if(t===8)return 150;let n=0;return t!==i&&(n+=10,t===0&&i===1&&(n+=1)),n+=cK(t),n+=cK(i),n}translateOffset(e,t="right"){const i=I_(this.firstElementOffsetByLineIdx,s=>s<=e),n=e-this.firstElementOffsetByLineIdx[i];return new M(this.range.startLineNumber+i,1+this.lineStartOffsets[i]+n+(n===0&&t==="left"?0:this.trimmedWsLengthsByLineIdx[i]))}translateRange(e){const t=this.translateOffset(e.start,"right"),i=this.translateOffset(e.endExclusive,"left");return i.isBefore(t)?k.fromPositions(i,i):k.fromPositions(t,i)}findWordContaining(e){if(e<0||e>=this.elements.length||!J_(this.elements[e]))return;let t=e;for(;t>0&&J_(this.elements[t-1]);)t--;let i=e;for(;i<this.elements.length&&J_(this.elements[i]);)i++;return new ge(t,i)}findSubWordContaining(e){if(e<0||e>=this.elements.length||!J_(this.elements
Line truncated
|
||||
`).length>=15&&Kve(h,f=>f.length>=2)>=2}),r=Xve(o,r),r}function Kve(o,e){let t=0;for(const i of o)e(i)&&t++;return t}function Gve(o,e,t,i){const n=[],s=o.filter(l=>l.modified.isEmpty&&l.original.length>=3).map(l=>new fk(l.original,e,l)),r=new Set(o.filter(l=>l.original.isEmpty&&l.modified.length>=3).map(l=>new fk(l.modified,t,l))),a=new Set;for(const l of s){let c=-1,d;for(const h of r){const u=l.computeSimilarity(h);u>c&&(c=u,d=h)}if(c>.9&&d&&(r.delete(d),n.push(new us(l.range,d.range)),a.add(l.source),a.add(d.source)),!i.isValid())return{moves:n,excludedChanges:a}}return{moves:n,excludedChanges:a}}function Zve(o,e,t,i,n,s){const r=[],a=new ZH;for(const u of o)for(let f=u.original.startLineNumber;f<u.original.endLineNumberExclusive-2;f++){const g=`${e[f-1]}:${e[f+1-1]}:${e[f+2-1]}`;a.add(g,{range:new Ie(f,f+3)})}const l=[];o.sort(kn(u=>u.modified.startLineNumber,ho));for(const u of o){let f=[];for(let g=u.modified.startLineNumber;g<u.modified.endLineNumberExclusive-2;g++){const p=`${t[g-1]}:${t[g+1-1]}:${t[g+2-1]}`,_=new Ie(g,g+3),b=[];a.forEach(p,({range:C})=>{for(const v of f)if(v.originalLineRange.endLineNumberExclusive+1===C.endLineNumberExclusive&&v.modifiedLineRange.endLineNumberExclusive+1===_.endLineNumberExclusive){v.originalLineRange=new Ie(v.originalLineRange.startLineNumber,C.endLineNumberExclusive),v.modifiedLineRange=new Ie(v.modifiedLineRange.startLineNumber,_.endLineNumberExclusive),b.push(v);return}const w={modifiedLineRange:_,originalLineRange:C};l.push(w),b.push(w)}),f=b}if(!s.isValid())return[]}l.sort(tH(kn(u=>u.modifiedLineRange.length,ho)));const c=new Mr,d=new Mr;for(const u of l){const f=u.modifiedLineRange.startLineNumber-u.originalLineRange.startLineNumber,g=c.subtractFrom(u.modifiedLineRange),p=d.subtractFrom(u.originalLineRange).getWithDelta(f),_=g.getIntersection(p);for(const b of _.ranges){if(b.length<3)continue;const C=b,w=b.delta(-f);r.push(new us(w,C)),c.addRange(C),d.addRange(w)}}r.sort(kn(u=>u.original.startLineNumber,ho));const h=new tx(o);for(let u=0;u<r.length;u++){const f=r[u],g=h.findLastMonotonous(L=>L.original.startLineNumber<=f.original.startLineNumber),p=k_(o,L=>L.modified.startLineNumber<=f.modified.startLineNumber),_=Math.max(f.original.startLineNumber-g.original.startLineNumber,f.modified.startLineNumber-p.modified.startLineNumber),b=h.findLastMonotonous(L=>L.original.startLineNumber<f.original.endLineNumberExclusive),C=k_(o,L=>L.modified.startLineNumber<f.modified.endLineNumberExclusive),w=Math.max(b.original.endLineNumberExclusive-f.original.endLineNumberExclusive,C.modified.endLineNumberExclusive-f.modified.endLineNumberExclusive);let v;for(v=0;v<_;v++){const L=f.original.startLineNumber-v-1,x=f.modified.startLineNumber-v-1;if(L>i.length||x>n.length||c.contains(x)||d.contains(L)||!hK(i[L-1],n[x-1],s))break}v>0&&(d.addRange(new Ie(f.original.startLineNumber-v,f.original.startLineNumber)),c.addRange(new Ie(f.modified.startLineNumber-v,f.modified.startLineNumber)));let S;for(S=0;S<w;S++){const L=f.original.endLineNumberExclusive+S,x=f.modified.endLineNumberExclusive+S;if(L>i.length||x>n.length||c.contains(x)||d.contains(L)||!hK(i[L-1],n[x-1],s))break}S>0&&(d.addRange(new Ie(f.original.endLineNumberExclusive,f.original.endLineNumberExclusive+S)),c.addRange(new Ie(f.modified.endLineNumberExclusive,f.modified.endLineNumberExclusive+S))),(v>0||S>0)&&(r[u]=new us(new Ie(f.original.startLineNumber-v,f.original.endLineNumberExclusive+S),new Ie(f.modified.startLineNumber-v,f.modified.endLineNumberExclusive+S)))}return r}function hK(o,e,t){if(o.trim()===e.trim())return!0;if(o.length>300&&e.length>300)return!1;const n=new rK().compute(new gk([o],new k(1,1,1,o.length),!1),new gk([e],new k(1,1,1,e.length),!1),t);let s=0;const r=nn.invert(n.diffs,o.length);for(const d of r)d.seq1Range.forEach(h=>{AO(o.charCodeAt(h))||s++});function a(d){let h=0;for(let u=0;u<o.length;u++)AO(d.charCodeAt(u))||h++;return h}const l=a(o.length>e.length?o:e);return s/l>.6&&l>10}function Yve(o){if(o.length===0)return o;o.sort(kn(t=>t.original.startLineNumber,ho));const e=[o[0]];for(let t=1;t<o.length;t++){const i=e[e.length-1],n=o[t],s=n.original.startLineNumber-i.original.endLineNumberExclusive,r=n.modified.startLineNumber-i.modified.endLineNumberExclusive;if(s>=0&&r>=0&&s+r<=2){e[e.length-1]=i.join(n);continue}e.push(n)}return e}function Xve(o,e){const t=new tx(o);return e=e.filter(i=>{const n=t.findLastMonotonous(a=>a.original.startLineNumber<i.original.endLineNumberExclusive)||new us(new Ie(1,1),new Ie(1,1)),s=k_(o,a=>a.modified.startLineNumber<i.modified.endLineNumberExclusive);return n!==s}),e}function uK(o,e,t){let i=t;return i=fK(o,e,i),i=fK(o,e,i),i=Qve(o,e,i),i}function fK(o,e,t){if(t.length===0)return t;const i=[];i.push(t[0]);for(let s=1;s<t.length;s++){const r=i[i.length-1];let a=t[s];if(a.seq1Range.isEmpty||a.seq2Range.isEmpty){const l=a.seq1Range.start-r.seq1Range.endExclusive;let c;for(c=1;c<=l&&!(o.getElement(a.seq1Range.start-c)!==o.getElement(a.seq1Range.endExclusive-c)||e.ge
Line truncated
|
||||
`)}isStronglyEqual(e,t){return this.lines[e]===this.lines[t]}};function _K(o){let e=0;for(;e<o.length&&(o.charCodeAt(e)===32||o.charCodeAt(e)===9);)e++;return e}class n1e{constructor(){this.dynamicProgrammingDiffing=new zve,this.myersDiffingAlgorithm=new rK}computeDiff(e,t,i){if(e.length<=1&&Ut(e,t,(x,I)=>x===I))return new uk([],[],!1);if(e.length===1&&e[0].length===0||t.length===1&&t[0].length===0)return new uk([new Go(new Ie(1,e.length+1),new Ie(1,t.length+1),[new Ns(new k(1,1,e.length,e[e.length-1].length+1),new k(1,1,t.length,t[t.length-1].length+1))])],[],!1);const n=i.maxComputationTimeMs===0?_w.instance:new Vve(i.maxComputationTimeMs),s=!i.ignoreTrimWhitespace,r=new Map;function a(x){let I=r.get(x);return I===void 0&&(I=r.size,r.set(x,I)),I}const l=e.map(x=>a(x.trim())),c=t.map(x=>a(x.trim())),d=new mK(l,e),h=new mK(c,t),u=d.length+h.length<1700?this.dynamicProgrammingDiffing.compute(d,h,n,(x,I)=>e[x]===t[I]?t[I].length===0?.1:1+Math.log(1+t[I].length):.99):this.myersDiffingAlgorithm.compute(d,h,n);let f=u.diffs,g=u.hitTimeout;f=uK(d,h,f),f=t1e(d,h,f);const p=[],_=x=>{if(s)for(let I=0;I<x;I++){const D=b+I,R=C+I;if(e[D]!==t[R]){const O=this.refineDiff(e,t,new nn(new ge(D,D+1),new ge(R,R+1)),n,s,i);for(const F of O.mappings)p.push(F);O.hitTimeout&&(g=!0)}}};let b=0,C=0;for(const x of f){sh(()=>x.seq1Range.start-b===x.seq2Range.start-C);const I=x.seq1Range.start-b;_(I),b=x.seq1Range.endExclusive,C=x.seq2Range.endExclusive;const D=this.refineDiff(e,t,x,n,s,i);D.hitTimeout&&(g=!0);for(const R of D.mappings)p.push(R)}_(e.length-b);const w=new _x(e),v=new _x(t),S=hk(p,w,v);let L=[];return i.computeMoves&&(L=this.computeMoves(S,e,t,l,c,n,s,i)),sh(()=>{function x(D,R){if(D.lineNumber<1||D.lineNumber>R.length)return!1;const O=R[D.lineNumber-1];return!(D.column<1||D.column>O.length+1)}function I(D,R){return!(D.startLineNumber<1||D.startLineNumber>R.length+1||D.endLineNumberExclusive<1||D.endLineNumberExclusive>R.length+1)}for(const D of S){if(!D.innerChanges)return!1;for(const R of D.innerChanges)if(!(x(R.modifiedRange.getStartPosition(),t)&&x(R.modifiedRange.getEndPosition(),t)&&x(R.originalRange.getStartPosition(),e)&&x(R.originalRange.getEndPosition(),e)))return!1;if(!I(D.modified,t)||!I(D.original,e))return!1}return!0}),new uk(S,L,g)}computeMoves(e,t,i,n,s,r,a,l){return qve(e,t,i,n,s,r).map(h=>{const u=this.refineDiff(t,i,new nn(h.original.toOffsetRange(),h.modified.toOffsetRange()),r,a,l),f=hk(u.mappings,new _x(t),new _x(i),!0);return new oK(h,f)})}refineDiff(e,t,i,n,s,r){const l=s1e(i).toRangeMapping2(e,t),c=new gk(e,l.originalRange,s),d=new gk(t,l.modifiedRange,s),h=c.length+d.length<500?this.dynamicProgrammingDiffing.compute(c,d,n):this.myersDiffingAlgorithm.compute(c,d,n);let u=h.diffs;return u=uK(c,d,u),u=pK(c,d,u,(g,p)=>g.findWordContaining(p)),r.extendToSubwords&&(u=pK(c,d,u,(g,p)=>g.findSubWordContaining(p),!0)),u=Jve(c,d,u),u=i1e(c,d,u),{mappings:u.map(g=>new Ns(c.translateRange(g.seq1Range),d.translateRange(g.seq2Range))),hitTimeout:h.hitTimeout}}}function s1e(o){return new us(new Ie(o.seq1Range.start+1,o.seq1Range.endExclusive+1),new Ie(o.seq2Range.start+1,o.seq2Range.endExclusive+1))}var o1e=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},r1e=function(o,e){return function(t,i){e(t,i,o)}};let PO=class extends P{setActiveMovedText(e){this._activeMovedText.set(e,void 0)}constructor(e,t,i){super(),this.model=e,this._options=t,this._diffProviderFactoryService=i,this._isDiffUpToDate=xe(this,!1),this.isDiffUpToDate=this._isDiffUpToDate,this._diff=xe(this,void 0),this.diff=this._diff,this._unchangedRegions=xe(this,void 0),this.unchangedRegions=$(this,a=>this._options.hideUnchangedRegions.read(a)?this._unchangedRegions.read(a)?.regions??[]:(Dt(l=>{for(const c of this._unchangedRegions.read(void 0)?.regions||[])c.collapseAll(l)}),[])),this.movedTextToCompare=xe(this,void 0),this._activeMovedText=xe(this,void 0),this._hoveredMovedText=xe(this,void 0),this.activeMovedText=$(this,a=>this.movedTextToCompare.read(a)??this._hoveredMovedText.read(a)??this._activeMovedText.read(a)),this._cancellationTokenSource=new zt,this._diffProvider=$(this,a=>{const l=this._diffProviderFactoryService.createDiffProvider({diffAlgorithm:this._options.diffAlgorithm.read(a)}),c=uo("onDidChange",l.onDidChange);return{diffProvider:l,onChangeSignal:c}}),this._register(fe(()=>this._cancellationTokenSource.cancel()));const n=Cr("contentChangedSignal"),s=this._register(new vt(()=>n.trigger(void 0),200));this._register(Se(a=>{const l=this._unchangedRegions.read(a);if(!l||l.regions.some(g=>g.isDragged.read(a)))return;const c=l.originalDecorationIds.map(g=>e.original.getDecorationRange(g)).map(g=>g?Ie.fromRangeInclusive(g):void 0),d=l.modifiedDecorationIds.map(g=>e.m
Line truncated
|
||||
`:`\r
|
||||
`),await this._clipboardService.writeText(S)})),n.getOption(104)||C.push(new Po("diff.inline.revertChange",m(118,"Revert this change"),void 0,!0,async()=>{this._editor.revert(this._diff)})),C},autoSelectFirstItem:!0})};this._register(Si(this._diffActions,"mousedown",p=>{if(!p.leftButton)return;const{top:_,height:b}=ai(this._diffActions),C=Math.floor(h/3);p.preventDefault(),g({x:p.posx,y:_+b+C})})),this._register(n.onMouseMove(p=>{(p.target.type===8||p.target.type===5)&&p.target.detail.viewZoneId===this._getViewZoneId()?(u=this._updateLightBulbPosition(this._marginDomNode,p.event.browserEvent.y,h),this.visibility=!0):this.visibility=!1})),this._register(c1e({domNode:this._deletedCodeDomNode,diffEntry:s,originalModel:this._originalTextModel,renderLinesResult:this._renderLinesResult,clipboardService:d}))}_updateLightBulbPosition(e,t,i){const{top:n}=ai(e),s=t-n,r=Math.floor(s/i),a=r*i;if(this._diffActions.style.top=`${a}px`,this._renderLinesResult.viewLineCounts){let l=0;for(let c=0;c<this._renderLinesResult.viewLineCounts.length;c++)if(l+=this._renderLinesResult.viewLineCounts[c],r<l)return c}return r}}const CK=yl("diffEditorWidget",{createHTML:o=>o});function bw(o,e,t,i,n=!1){un(i,e.fontInfo);const s=t.length>0,r=new _h(1e4);let a=0,l=0;const c=[],d=[];for(let g=0;g<o.lineTokens.length;g++){const p=g+1,_=o.lineTokens[g],b=o.lineBreakData[g],C=as.filter(t,p,1,Number.MAX_SAFE_INTEGER);if(b){let w=0;for(const v of b.breakOffsets){const S=_.sliceAndInflate(w,v,0),L=wK(l,S,as.extractWrapped(C,w,v),s,o.mightContainNonBasicASCII,o.mightContainRTL,e,r,n);a=Math.max(a,L.maxCharWidth),d.push(new vK(L.output.characterMapping,L.output.containsForeignElements,w)),l++,w=v}c.push(b.breakOffsets.length)}else{c.push(1);const w=wK(l,_,C,s,o.mightContainNonBasicASCII,o.mightContainRTL,e,r,n);a=Math.max(a,w.maxCharWidth),d.push(new vK(w.output.characterMapping,w.output.containsForeignElements,0)),l++}}a+=e.scrollBeyondLastColumn;const h=r.build(),u=CK?CK.createHTML(h):h;i.innerHTML=u;const f=a*e.typicalHalfwidthCharacterWidth;return new h1e(l,f,c,d,o)}class Cw{constructor(e,t=e.map(s=>null),i=!0,n=!0){this.lineTokens=e,this.lineBreakData=t,this.mightContainNonBasicASCII=i,this.mightContainRTL=n}}class _d{static fromEditor(e){const t=e.getOptions(),i=t.get(59),n=t.get(165);return new _d(e.getModel()?.getOptions().tabSize||0,i,t.get(40),i.typicalHalfwidthCharacterWidth,t.get(118),t.get(75),n.decorationsWidth,t.get(133),t.get(113),t.get(108),t.get(60),t.get(117).verticalScrollbarSize)}constructor(e,t,i,n,s,r,a,l,c,d,h,u,f=!0){this.tabSize=e,this.fontInfo=t,this.disableMonospaceOptimizations=i,this.typicalHalfwidthCharacterWidth=n,this.scrollBeyondLastColumn=s,this.lineHeight=r,this.lineDecorationsWidth=a,this.stopRenderingLineAfter=l,this.renderWhitespace=c,this.renderControlCharacters=d,this.fontLigatures=h,this.verticalScrollbarSize=u,this.setWidth=f}withSetWidth(e){return new _d(this.tabSize,this.fontInfo,this.disableMonospaceOptimizations,this.typicalHalfwidthCharacterWidth,this.scrollBeyondLastColumn,this.lineHeight,this.lineDecorationsWidth,this.stopRenderingLineAfter,this.renderWhitespace,this.renderControlCharacters,this.fontLigatures,this.verticalScrollbarSize,e)}withScrollBeyondLastColumn(e){return new _d(this.tabSize,this.fontInfo,this.disableMonospaceOptimizations,this.typicalHalfwidthCharacterWidth,e,this.lineHeight,this.lineDecorationsWidth,this.stopRenderingLineAfter,this.renderWhitespace,this.renderControlCharacters,this.fontLigatures,this.verticalScrollbarSize,this.setWidth)}}class h1e{constructor(e,t,i,n,s){this.heightInLines=e,this.minWidthInPx=t,this.viewLineCounts=i,this._renderOutputs=n,this._source=s}getModelPositionAt(e,t){let i=e;for(;i&&!i.classList.contains("view-line");)i=i.parentElement;if(!i)return;const n=i.parentElement;if(!n)return;const s=n.querySelectorAll(".view-line");let r=-1;for(let h=0;h<s.length;h++)if(s[h]===i){r=h;break}if(r===-1||r>=this._renderOutputs.length)return;let a=1,l=r;for(let h=0;h<this.viewLineCounts.length;h++){if(l<this.viewLineCounts[h]){a=h+1;break}l-=this.viewLineCounts[h]}if(a>this._source.lineTokens.length)return;const c=this._renderOutputs[r];if(!c)return;const d=w_(c.characterMapping,e,t)+c.offset;return new M(a,d)}}class vK extends qL{constructor(e,t,i){super(e,t),this.offset=i}}function wK(o,e,t,i,n,s,r,a,l){a.appendString('<div class="view-line'),!l&&!i&&a.appendString(" char-delete"),a.appendString('" style="top:'),a.appendString(String(o*r.lineHeight)),r.setWidth?a.appendString('px;width:1000000px;">'):a.appendString('px;">');const c=e.getLineContent(),d=Uo.isBasicASCII(c,n),h=Uo.containsRTL(c,d,s),u=b_(new jc(r.fontInfo.isMonospace&&!r.disableMonospaceOptimizations,r.fontInfo.canUseHalfwidthRightwardsArrow,c,!1,d,h,0,e,t,r.tabSize,0,r.fontInfo.spaceWidth,r.fontInfo.middotWidth,r.fontInfo.wsmiddotWidth,r.stopRenderingLineAfter,r.renderWhitespace,r.renderControlCharacters,r.fontLigatures!==Vc.OFF,null,null,r.verticalScrollbarSize),a);a.appendString("</div>");const
Line truncated
|
||||
[{1}] {2}`,n,KO.modifierLabels[oo].altKey,l)}return n}updateClass(){this.options.icon&&(this._commandAction!==this._menuItemAction?this._menuItemAction.alt&&this._updateItemClass(this._menuItemAction.alt.item):this._updateItemClass(this._menuItemAction.item))}_updateItemClass(e){this._itemClassDispose.value=void 0;const{element:t,label:i}=this;if(!t||!i)return;const n=this._commandAction.checked&&O1e(e.toggled)&&e.toggled.icon?e.toggled.icon:e.icon;if(n)if(ve.isThemeIcon(n)){const s=ve.asClassNameArray(n);i.classList.add(...s),this._itemClassDispose.value=fe(()=>{i.classList.remove(...s)})}else i.style.backgroundImage=qc(this._themeService.getColorTheme().type)?Rl(n.dark):Rl(n.light),i.classList.add("icon"),this._itemClassDispose.value=qr(fe(()=>{i.style.backgroundImage="",i.classList.remove("icon")}),this._themeService.onDidColorThemeChange(()=>{this.updateClass()}))}};Gh=yk([Rs(2,ot),Rs(3,ui),Rs(4,ke),Rs(5,ii),Rs(6,Zo),Rs(7,bn)],Gh);class XO extends Gh{render(e){this.options.label=!0,this.options.icon=!1,super.render(e),e.classList.add("text-only"),e.classList.toggle("use-comma",this._options?.useComma??!1)}updateLabel(){const e=this._keybindingService.lookupKeybinding(this._action.id,this._contextKeyService);if(!e)return super.updateLabel();if(this.label){const t=XO._symbolPrintEnter(e);this._options?.conversational?this.label.textContent=m(1647,"{1} to {0}",this._action.label,t):this.label.textContent=m(1648,"{0} ({1})",this._action.label,t)}}static _symbolPrintEnter(e){return e.getLabel()?.replace(/\benter\b/gi,"⏎").replace(/\bEscape\b/gi,"Esc")}}let QO=class extends bk{constructor(e,t,i,n,s){const r={...t,menuAsChild:t?.menuAsChild??!1,classNames:t?.classNames??(ve.isThemeIcon(e.item.icon)?ve.asClassName(e.item.icon):void 0),keybindingProvider:t?.keybindingProvider??(a=>i.lookupKeybinding(a.id))};super(e,{getActions:()=>e.actions},n,r),this._keybindingService=i,this._contextMenuService=n,this._themeService=s}render(e){super.render(e),Je(this.element),e.classList.add("menu-entry");const t=this._action,{icon:i}=t.item;if(i&&!ve.isThemeIcon(i)){this.element.classList.add("icon");const n=()=>{this.element&&(this.element.style.backgroundImage=qc(this._themeService.getColorTheme().type)?Rl(i.dark):Rl(i.light))};n(),this._register(this._themeService.onDidColorThemeChange(()=>{n()}))}}};QO=yk([Rs(2,ot),Rs(3,Zo),Rs(4,ii)],QO);let JO=class extends za{constructor(e,t,i,n,s,r,a,l){super(null,e),this._keybindingService=i,this._notificationService=n,this._contextMenuService=s,this._menuService=r,this._instaService=a,this._storageService=l,this._defaultActionDisposables=this._register(new V),this._container=null,this._options=t,this._storageKey=`${e.item.submenu.id}_lastActionId`;let c;const d=t?.togglePrimaryAction?l.get(this._storageKey,1):void 0;d&&(c=e.actions.find(u=>d===u.id)),c||(c=e.actions[0]),this._defaultAction=this._defaultActionDisposables.add(this._instaService.createInstance(Gh,c,{keybinding:this._getDefaultActionKeybindingLabel(c)}));const h={keybindingProvider:u=>this._keybindingService.lookupKeybinding(u.id),...t,menuAsChild:t?.menuAsChild??!0,classNames:t?.classNames??["codicon","codicon-chevron-down"],actionRunner:t?.actionRunner??this._register(new mf)};this._dropdown=this._register(new bk(e,e.actions,this._contextMenuService,h)),t?.togglePrimaryAction&&this._register(this._dropdown.actionRunner.onDidRun(u=>{u.action instanceof Oo&&this.update(u.action)}))}update(e){this._options?.togglePrimaryAction&&this._storageService.store(this._storageKey,e.id,1,1),this._defaultActionDisposables.clear(),this._defaultAction=this._defaultActionDisposables.add(this._instaService.createInstance(Gh,e,{keybinding:this._getDefaultActionKeybindingLabel(e)})),this._defaultAction.actionRunner=this._defaultActionDisposables.add(new class extends mf{async runAction(t,i){await t.run(void 0)}}),this._container&&this._defaultAction.render(Ay(this._container,ee(".action-container")))}_getDefaultActionKeybindingLabel(e){let t;if(this._options?.renderKeybindingWithDefaultActionLabel){const i=this._keybindingService.lookupKeybinding(e.id);i&&(t=`(${i.getLabel()})`)}return t}setActionContext(e){super.setActionContext(e),this._defaultAction.setActionContext(e),this._dropdown.setActionContext(e)}set actionRunner(e){super.actionRunner=e,this._defaultAction.actionRunner=e,this._dropdown.actionRunner=e}get actionRunner(){return super.actionRunner}render(e){this._container=e,super.render(this._container),this._container.classList.add("monaco-dropdown-with-default");const t=ee(".action-container");this._defaultAction.render(Y(this._container,t)),this._register(W(t,te.KEY_DOWN,n=>{const s=new yt(n);s.equals(17)&&(this._defaultAction.element.tabIndex=-1,this._dropdown.focus(),s.stopPropagation())}));const i=ee(".dropdown-action-container");this._dropdown.render(Y(this._container,i)),this._register(W(i,te.KEY_DOWN,n=>{const s=new yt(n);s.equals(15)&&(this._defaultAction.element.tabIndex=0,this._dropdown.setFocusable(!1),this._defaul
Line truncated
|
||||
`),split:o=>o.split(`\r
|
||||
`),parse:o=>Ak.split(o).filter(e=>!e.startsWith("#"))}),hc=class hc{constructor(e){this.value=e}equals(e){return this.value===e.value}contains(e){return this.equals(e)||this.value===""||e.value.startsWith(this.value+hc.sep)}intersects(e){return this.contains(e)||e.contains(this)}append(...e){return new hc((this.value?[this.value,...e]:e).join(hc.sep))}};hc.sep=".",hc.None=new hc("@@none@@"),hc.Empty=new hc("");let si=hc;const Twe={ctrlCmd:!1,alt:!1};var Ew;(function(o){o[o.Blur=1]="Blur",o[o.Gesture=2]="Gesture",o[o.Other=3]="Other"})(Ew||(Ew={}));var $a;(function(o){o[o.NONE=0]="NONE",o[o.FIRST=1]="FIRST",o[o.SECOND=2]="SECOND",o[o.LAST=3]="LAST"})($a||($a={}));var Ht;(function(o){o[o.First=1]="First",o[o.Second=2]="Second",o[o.Last=3]="Last",o[o.Next=4]="Next",o[o.Previous=5]="Previous",o[o.NextPage=6]="NextPage",o[o.PreviousPage=7]="PreviousPage",o[o.NextSeparator=8]="NextSeparator",o[o.PreviousSeparator=9]="PreviousSeparator"})(Ht||(Ht={}));var Pk;(function(o){o[o.Title=1]="Title",o[o.Inline=2]="Inline",o[o.Input=3]="Input"})(Pk||(Pk={}));const Xn=Fe("quickInputService"),QK={EDITORS:"CodeEditors",FILES:"CodeFiles"};class Rwe{}const Mwe={DragAndDropContribution:"workbench.contributions.dragAndDrop"};ei.add(Mwe.DragAndDropContribution,new Rwe);const FS=class FS{constructor(){}static getInstance(){return FS.INSTANCE}hasData(e){return e&&e===this.proto}getData(e){if(this.hasData(e))return this.data}};FS.INSTANCE=new FS;let f4=FS;function JK(o){if(va&&typeof globalThis.vscode?.webUtils?.getPathForFile=="function")return globalThis.vscode?.webUtils?.getPathForFile(o)}function eG(o){const e=new ZK;for(const t of o.items){const i=t.type;if(t.kind==="string"){const n=new Promise(s=>t.getAsString(s));e.append(i,u4(n))}else if(t.kind==="file"){const n=t.getAsFile();n&&e.append(i,Awe(n))}}return e}function Awe(o){const e=JK(o),t=e?be.parse(e):void 0;return Nwe(o.name,t,async()=>new Uint8Array(await o.arrayBuffer()))}const Pwe=Object.freeze([QK.EDITORS,QK.FILES,lg.RESOURCES,lg.INTERNAL_URI_LIST]);function tG(o,e=!1){const t=eG(o),i=t.get(lg.INTERNAL_URI_LIST);if(i)t.replace(_i.uriList,i);else if(e||!t.has(_i.uriList)){const n=[];for(const s of o.items){const r=s.getAsFile();if(r){const a=JK(r);try{a?n.push(be.file(a).toString()):n.push(be.parse(r.name,!0).toString())}catch{}}}n.length&&t.replace(_i.uriList,u4(Ak.create(n)))}for(const n of Pwe)t.delete(n);return t}const Nw=Fe("IWorkspaceEditService");class g4{constructor(e){this.metadata=e}static convert(e){return e.edits.map(t=>{if(Yh.is(t))return Yh.lift(t);if(rb.is(t))return rb.lift(t);throw new Error("Unsupported edit")})}}class Yh extends g4{static is(e){return e instanceof Yh?!0:Hi(e)&&be.isUri(e.resource)&&Hi(e.textEdit)}static lift(e){return e instanceof Yh?e:new Yh(e.resource,e.textEdit,e.versionId,e.metadata)}constructor(e,t,i=void 0,n){super(n),this.resource=e,this.textEdit=t,this.versionId=i}}class rb extends g4{static is(e){return e instanceof rb?!0:Hi(e)&&(!!e.newResource||!!e.oldResource)}static lift(e){return e instanceof rb?e:new rb(e.oldResource,e.newResource,e.options,e.metadata)}constructor(e,t,i={},n){super(n),this.oldResource=e,this.newResource=t,this.options=i}}const p4=Fe("IEditorCancelService"),iG=new re("cancellableOperation",!1,m(939,"Whether the editor runs a cancellable operation, e.g. like 'Peek References'"));je(p4,class{constructor(){this._tokens=new WeakMap}add(o,e){let t=this._tokens.get(o);t||(t=o.invokeWithinContext(n=>{const s=iG.bindTo(n.get(ke)),r=new es;return{key:s,tokens:r}}),this._tokens.set(o,t));let i;return t.key.set(!0),i=t.tokens.push(e),()=>{i&&(i(),t.key.set(!t.tokens.isEmpty()),i=void 0)}}cancel(o){const e=this._tokens.get(o);if(!e)return;const t=e.tokens.pop();t&&(t.cancel(),e.key.set(!e.tokens.isEmpty()))}},1);class Owe extends zt{constructor(e,t){super(t),this.editor=e,this._unregister=e.invokeWithinContext(i=>i.get(p4).add(e,this))}dispose(){this._unregister(),super.dispose()}}ae(new class extends ji{constructor(){super({id:"editor.cancelOperation",kbOpts:{weight:100,primary:9},precondition:iG})}runEditorCommand(o,e){o.get(p4).cancel(e)}});let nG=class XB{constructor(e,t){if(this.flags=t,(this.flags&1)!==0){const i=e.getModel();this.modelVersionId=i?af("{0}#{1}",i.uri.toString(),i.getVersionId()):null}else this.modelVersionId=null;(this.flags&4)!==0?this.position=e.getPosition():this.position=null,(this.flags&2)!==0?this.selection=e.getSelection():this.selection=null,(this.flags&8)!==0?(this.scrollLeft=e.getScrollLeft(),this.scrollTop=e.getScrollTop()):(this.scrollLeft=-1,this.scrollTop=-1)}_equals(e){if(!(e instanceof XB))return!1;const t=e;return!(this.modelVersionId!==t.modelVersionId||this.scrollLeft!==t.scrollLeft||this.scrollTop!==t.scrollTop||!this.position&&t.position||this.position&&!t.position||this.position&&t.position&&!this.position.equals(t.position)||!this.selection&&t.selection||this.selection&&!t.selection||this.selection&&t.selection&&!this.selection.equalsRange(t.selection))}validate(e){return
Line truncated
|
||||
`):o}function gG(o){return o.code==="ERR_UNC_HOST_NOT_ALLOWED"?`${o.message}. Please update the 'security.allowedUNCHosts' setting if you want to allow this host.`:typeof o.code=="string"&&typeof o.errno=="number"&&typeof o.syscall=="string"?m(30,"A system error occurred ({0})",o.message):o.message||m(31,"An unknown error occurred. Please consult the log for more details.")}function Vk(o=null,e=!1){if(!o)return m(32,"An unknown error occurred. Please consult the log for more details.");if(Array.isArray(o)){const t=xa(o),i=Vk(t[0],e);return t.length>1?m(33,"{0} ({1} errors in total)",i,t.length):i}if(Zi(o))return o;if(o.detail){const t=o.detail;if(t.error)return D4(t.error,e);if(t.exception)return D4(t.exception,e)}return o.stack?D4(o,e):o.message?o.message:m(34,"An unknown error occurred. Please consult the log for more details.")}const zk=ee,o0e={keybindingLabelBackground:void 0,keybindingLabelForeground:void 0,keybindingLabelBorder:void 0,keybindingLabelBottomBorder:void 0,keybindingLabelShadow:void 0};class db extends P{constructor(e,t,i){super(),this.os=t,this.keyElements=new Set,this.options=i||Object.create(null);const n=this.options.keybindingLabelForeground;this.domNode=Y(e,zk(".monaco-keybinding")),n&&(this.domNode.style.color=n),this.hover=this._register(na().setupManagedHover(Tl("mouse"),this.domNode,"")),this.didEverRender=!1,e.appendChild(this.domNode)}set(e,t){this.didEverRender&&this.keybinding===e&&db.areSame(this.matches,t)||(this.keybinding=e,this.matches=t,this.render())}render(){if(this.clear(),this.keybinding){const e=this.keybinding.getChords();e[0]&&this.renderChord(this.domNode,e[0],this.matches?this.matches.firstPart:null);for(let i=1;i<e.length;i++)Y(this.domNode,zk("span.monaco-keybinding-key-chord-separator",void 0," ")),this.renderChord(this.domNode,e[i],this.matches?this.matches.chordPart:null);const t=this.options.disableTitle??!1?void 0:this.keybinding.getAriaLabel()||void 0;this.hover.update(t),this.domNode.setAttribute("aria-label",t||"")}else this.options&&this.options.renderUnboundKeybindings&&this.renderUnbound(this.domNode);this.didEverRender=!0}clear(){pn(this.domNode),this.keyElements.clear()}renderChord(e,t,i){const n=KO.modifierLabels[this.os];t.ctrlKey&&this.renderKey(e,n.ctrlKey,!!i?.ctrlKey,n.separator),t.shiftKey&&this.renderKey(e,n.shiftKey,!!i?.shiftKey,n.separator),t.altKey&&this.renderKey(e,n.altKey,!!i?.altKey,n.separator),t.metaKey&&this.renderKey(e,n.metaKey,!!i?.metaKey,n.separator);const s=t.keyLabel;s&&this.renderKey(e,s,!!i?.keyCode,"")}renderKey(e,t,i,n){Y(e,this.createKeyElement(t,i?".highlight":"")),n&&Y(e,zk("span.monaco-keybinding-key-separator",void 0,n))}renderUnbound(e){Y(e,this.createKeyElement(m(15,"Unbound")))}createKeyElement(e,t=""){const i=zk("span.monaco-keybinding-key"+t,void 0,e);return this.keyElements.add(i),this.options.keybindingLabelBackground&&(i.style.backgroundColor=this.options.keybindingLabelBackground),this.options.keybindingLabelBorder&&(i.style.borderColor=this.options.keybindingLabelBorder),this.options.keybindingLabelBottomBorder&&(i.style.borderBottomColor=this.options.keybindingLabelBottomBorder),this.options.keybindingLabelShadow&&(i.style.boxShadow=`inset 0 -1px 0 ${this.options.keybindingLabelShadow}`),i}static areSame(e,t){return e===t||!e&&!t?!0:!!e&&!!t&&po(e.firstPart,t.firstPart)&&po(e.chordPart,t.chordPart)}}const Hl=Fe("layoutService");var pG=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Uk=function(o,e){return function(t,i){e(t,i,o)}};const mG="acceptSelectedCodeAction",_G="previewSelectedCodeAction";class r0e{get templateId(){return"header"}renderTemplate(e){e.classList.add("group-header");const t=document.createElement("span");return e.append(t),{container:e,text:t}}renderElement(e,t,i){i.text.textContent=e.group?.title??e.label??""}disposeTemplate(e){}}class a0e{get templateId(){return"separator"}renderTemplate(e){e.classList.add("separator");const t=document.createElement("span");return e.append(t),{container:e,text:t}}renderElement(e,t,i){i.text.textContent=e.label??""}disposeTemplate(e){}}let E4=class{get templateId(){return"action"}constructor(e,t){this._supportsPreview=e,this._keybindingService=t}renderTemplate(e){e.classList.add(this.templateId);const t=document.createElement("div");t.className="icon",e.append(t);const i=document.createElement("span");i.className="title",e.append(i);const n=document.createElement("span");n.className="description",e.append(n);const s=new db(e,oo);return{container:e,icon:t,text:i,description:n,keybinding:s}}renderElement(e,t,i){if(e.group?.icon?(i.icon.className=ve.asClassName(e.group.icon),e.group.icon.color&&(i.icon.style.color=J(e.group.icon.color.id))):(i.icon.className=ve.asClassName(Z.li
Line truncated
|
||||
{1}`,a.title,Vk(b)))}finally{d.dispose()}if(s.isCancellationRequested)return;const u=hG(r.uri,e,h),f=e[0],g=r.deltaDecorations([],[{range:f,options:{description:"paste-line-suffix",stickiness:0}}]);this._editor.focus();let p,_;try{p=await this._bulkEditService.apply(u,{editor:this._editor,token:s}),_=r.getDecorationRange(g[0])}catch(b){return c(b,m(938,`Error applying edit '{0}':
|
||||
{1}`,a.title,Vk(b)))}finally{r.deltaDecorations(g,[])}s.isCancellationRequested||i&&p.isApplied&&t.allEdits.length>1&&this.show(_??f,t,l)}show(e,t,i){this.clear(),this._editor.hasModel()&&(this._currentWidget.value=this._instantiationService.createInstance(M4,this._id,this._editor,this._visibleContext,this._showCommand,e,t,i,this._getAdditionalActions()))}clear(){this._currentWidget.clear()}tryShowSelector(){this._currentWidget.value?.showSelector()}};jk=CG([hb(5,pe),hb(6,Nw),hb(7,ui)],jk);var h0e=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},yd=function(o,e){return function(t,i){e(t,i,o)}},ra;const vG="editor.changePasteType",u0e="editor.pasteAs.preferences",A4=new re("pasteWidgetVisible",!1,m(917,"Whether the paste widget is showing")),P4="application/vnd.code.copymetadata";let Ld=(Pp=class extends P{static get(e){return e.getContribution(ra.ID)}constructor(e,t,i,n,s,r,a,l,c,d){super(),this._logService=i,this._bulkEditService=n,this._clipboardService=s,this._commandService=r,this._configService=a,this._languageFeaturesService=l,this._quickInputService=c,this._progressService=d,this._editor=e;const h=e.getContainerDomNode();this._register(W(h,"copy",u=>this.handleCopy(u))),this._register(W(h,"cut",u=>this.handleCopy(u))),this._register(W(h,"paste",u=>this.handlePaste(u),!0)),this._pasteProgressManager=this._register(new Ok("pasteIntoEditor",e,t)),this._postPasteWidgetManager=this._register(t.createInstance(jk,"pasteIntoEditor",e,A4,{id:vG,label:m(918,"Show paste options...")},()=>ra._configureDefaultAction?[ra._configureDefaultAction]:[]))}changePasteType(){this._postPasteWidgetManager.tryShowSelector()}async pasteAs(e){this._logService.trace("CopyPasteController.pasteAs"),this._editor.focus();try{this._logService.trace("Before calling editor.action.clipboardPasteAction"),this._pasteAsActionContext={preferred:e},await this._commandService.executeCommand("editor.action.clipboardPasteAction")}finally{this._pasteAsActionContext=void 0}}clearWidgets(){this._postPasteWidgetManager.clear()}isPasteAsEnabled(){return this._editor.getOption(97).enabled}async finishedPaste(){await this._currentPasteOperation}handleCopy(e){let t=null;if(e.clipboardData){const[_,b]=Wf.getTextData(e.clipboardData);t=(b||Sl.INSTANCE.get(_))?.id||null,this._logService.trace("CopyPasteController#handleCopy for id : ",t," with text.length : ",_.length)}else this._logService.trace("CopyPasteController#handleCopy");if(!this._editor.hasTextFocus()||(this._clipboardService.clearInternalState?.(),!e.clipboardData||!this.isPasteAsEnabled()))return;const i=this._editor.getModel(),n=this._editor.getSelections();if(!i||!n?.length)return;const s=this._editor.getOption(45);let r=n;const a=n.length===1&&n[0].isEmpty();if(a){if(!s)return;r=[new k(r[0].startLineNumber,1,r[0].startLineNumber,1+i.getLineLength(r[0].startLineNumber))]}const l=this._editor._getViewModel()?.getPlainTextToCopy(n,s,gn),d={multicursorText:Array.isArray(l)?l:null,pasteOnNewLine:a,mode:null},h=this._languageFeaturesService.documentPasteEditProvider.ordered(i).filter(_=>!!_.prepareDocumentPaste);if(!h.length){this.setCopyMetadata(e.clipboardData,{defaultPastePayload:d});return}const u=eG(e.clipboardData),f=h.flatMap(_=>_.copyMimeTypes??[]),g=t??Bf();this.setCopyMetadata(e.clipboardData,{id:g,providerCopyMimeTypes:f,defaultPastePayload:d});const p=h.map(_=>({providerMimeTypes:_.copyMimeTypes,operation:Vi(b=>_.prepareDocumentPaste(i,r,u,b).catch(C=>{console.error(C)}))}));ra._currentCopyOperation?.operations.forEach(_=>_.operation.cancel()),ra._currentCopyOperation={handle:g,operations:p}}async handlePaste(e){if(e.clipboardData){const[c,d]=Wf.getTextData(e.clipboardData),h=d||Sl.INSTANCE.get(c);this._logService.trace("CopyPasteController#handlePaste for id : ",h?.id)}else this._logService.trace("CopyPasteController#handlePaste");if(!e.clipboardData||!this._editor.hasTextFocus())return;ko.get(this._editor)?.closeMessage(),this._currentPasteOperation?.cancel(),this._currentPasteOperation=void 0;const t=this._editor.getModel(),i=this._editor.getSelections();if(!i?.length||!t||this._editor.getOption(104)||!this.isPasteAsEnabled()&&!this._pasteAsActionContext)return;const n=this.fetchCopyMetadata(e);this._logService.trace("CopyPasteController#handlePaste with metadata : ",n?.id," and text.length : ",e.clipboardData.getData("text/plain").length);const s=tG(e.clipboardData);s.delete(P4);const r=Array.from(e.clipboardData.files).map(c=>c.type),a=[...e.clipboardData.types,...r,...n?.providerCopyMimeTypes??[],_i.uriList],l=this._languageFeaturesService.documentPasteEditProvider.ordered(t).filter(c=>{const d=this._pasteAsActionContext?.preferred;return d&&!this.providerMatchesPreference(c,d)?!1:c.pasteMimeTypes?.some(h=
Line truncated
|
||||
`,i+1);break;case 116:t.emitUnchanged(i-1),t.emitStatic(" ",i+1);break;case 117:case 85:case 108:case 76:t.emitUnchanged(i-1),t.emitStatic("",i+1),e.push(String.fromCharCode(r));break}continue}if(s===36){if(i++,i>=n)break;const r=o.charCodeAt(i);if(r===36){t.emitUnchanged(i-1),t.emitStatic("$",i+1);continue}if(r===48||r===38){t.emitUnchanged(i-1),t.emitMatchIndex(0,i+1,e),e.length=0;continue}if(49<=r&&r<=57){let a=r-48;if(i+1<n){const l=o.charCodeAt(i+1);if(48<=l&&l<=57){i++,a=a*10+(l-48),t.emitUnchanged(i-2),t.emitMatchIndex(a,i+1,e),e.length=0;continue}}t.emitUnchanged(i-1),t.emitMatchIndex(a,i+1,e),e.length=0;continue}}}return t.finalize()}const kd=new re("findWidgetVisible",!1);kd.toNegated();const rI=new re("findInputFocussed",!1),h5=new re("replaceInputFocussed",!1),aI={primary:545,mac:{primary:2593}},lI={primary:565,mac:{primary:2613}},cI={primary:560,mac:{primary:2608}},dI={primary:554,mac:{primary:2602}},hI={primary:558,mac:{primary:2606}},Pt={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"},Jh=19999,ASe=240;class $w{constructor(e,t){this._toDispose=new V,this._editor=e,this._state=t,this._isDisposed=!1,this._startSearchingTimer=new ro,this._decorations=new d5(e),this._toDispose.add(this._decorations),this._updateDecorationsScheduler=new vt(()=>{if(this._editor.hasModel())return this.research(!1)},100),this._toDispose.add(this._updateDecorationsScheduler),this._toDispose.add(this._editor.onDidChangeCursorPosition(i=>{(i.reason===3||i.reason===5||i.reason===6)&&this._decorations.setStartPosition(this._editor.getPosition())})),this._ignoreModelContentChanged=!1,this._toDispose.add(this._editor.onDidChangeModelContent(i=>{this._ignoreModelContentChanged||(i.isFlush&&this._decorations.reset(),this._decorations.setStartPosition(this._editor.getPosition()),this._updateDecorationsScheduler.schedule())})),this._toDispose.add(this._state.onFindReplaceStateChange(i=>this._onStateChanged(i))),this.research(!1,this._state.searchScope)}dispose(){this._isDisposed=!0,ht(this._startSearchingTimer),this._toDispose.dispose()}_onStateChanged(e){this._isDisposed||this._editor.hasModel()&&(e.searchString||e.isReplaceRevealed||e.isRegex||e.wholeWord||e.matchCase||e.searchScope)&&(this._editor.getModel().isTooLargeForSyncing()?(this._startSearchingTimer.cancel(),this._startSearchingTimer.setIfNotSet(()=>{e.searchScope?this.research(e.moveCursor,this._state.searchScope):this.research(e.moveCursor)},ASe)):e.searchScope?this.research(e.moveCursor,this._state.searchScope):this.research(e.moveCursor))}static _getSearchRange(e,t){return t||e.getFullModelRange()}research(e,t){let i=null;typeof t<"u"?t!==null&&(Array.isArray(t)?i=t:i=[t]):i=this._decorations.getFindScopes(),i!==null&&(i=i.map(a=>{if(a.startLineNumber!==a.endLineNumber){let l=a.endLineNumber;return a.endColumn===1&&(l=l-1),new k(a.startLineNumber,1,l,this._editor.getModel().getLineMaxColumn(l))}return a}));const n=this._findMatches(i,!1,Jh);this._decorations.set(n,i);const s=this._editor.getSelection();let r=this._decorations.getCurrentMatchesPosition(s);if(r===0&&n.length>0){const a=h1(n.map(l=>l.range),l=>k.compareRangesUsingStarts(l,s)>=0);r=a>0?a-1+1:r}this._state.changeMatchInfo(r,this._decorations.getCount(),void 0),e&&this._editor.getOption(50).cursorMoveOnType&&this._moveToNextMatch(this._decorations.getStartPosition())}_hasMatches(){return this._state.matchesCount>0}_cannotFind(){if(!this._hasMatches()){const e=this._decorations.getFindScope();return e&&this._editor.revealRangeInCenterIfOutsideViewport(e,0),!0}return!1}_setCurrentFindMatch(e){const t=this._decorations.setCurrentFindMatch(e);this._state.changeMatchInfo(t,this._decorations.getCount(),e),this._editor.setSelection(e),this._editor.revealRangeInCenterIfOutsideViewport(e,0)}_prevSearchPosition(e){const t=this._state.isRegex&&(this._state.searchString.indexOf("^")>=0||this._state.searchString.indexOf("$")>=0);let{lineNumber:i,column:n}=e;const s=this._editor.getModel();return t||n===1?(i===1?i=s.getLineCount():i--,n=s.getLineMaxColumn(i)):n--,new M(i,n)}_moveToPrevMatch(e,t=!1){if(!this._state.canNavigateBack()){const d
Line truncated
|
||||
`)n.type===2&&(n=s.pop()),n.children.push({type:8});else if(n.type!==2){const c={type:2,content:a};n.children.push(c),s.push(n),n=c}else n.content+=a}return n.type===2&&(n=s.pop()),t}function zSe(o,e){return u5(o)!==0}function u5(o,e){switch(o){case"*":return 3;case"_":return 4;case"[":return 5;case"]":return 6;case"`":return 0;default:return 0}}class USe{constructor(e,t=0,i=e.length,n=t-1){this.items=e,this.start=t,this.end=i,this.index=n}current(){return this.index===this.start-1||this.index===this.end?null:this.items[this.index]}next(){return this.index=Math.min(this.index+1,this.end),this.current()}previous(){return this.index=Math.max(this.index-1,this.start-1),this.current()}first(){return this.index=this.start,this.current()}last(){return this.index=this.end-1,this.current()}}class $Se{constructor(e=new Set,t=10){this._history=e,this._limit=t,this._onChange(),this._history.onDidChange&&(this._disposable=this._history.onDidChange(()=>this._onChange()))}getHistory(){return this._elements}add(e){this._history.delete(e),this._history.add(e),this._onChange()}next(){return this._navigator.next()}previous(){return this._currentPosition()!==0?this._navigator.previous():null}current(){return this._navigator.current()}first(){return this._navigator.first()}last(){return this._navigator.last()}isLast(){return this._currentPosition()>=this._elements.length-1}isNowhere(){return this._navigator.current()===null}has(e){return this._history.has(e)}_onChange(){this._reduceToLimit();const e=this._elements;this._navigator=new USe(e,0,e.length,e.length)}_reduceToLimit(){const e=this._elements;if(e.length>this._limit){const t=e.slice(e.length-this._limit);this._history.replace?this._history.replace(t):this._history=new Set(t)}}_currentPosition(){const e=this._navigator.current();return e?this._elements.indexOf(e):-1}get _elements(){const e=[];return this._history.forEach(t=>e.push(t)),e}dispose(){this._disposable&&(this._disposable.dispose(),this._disposable=void 0)}}const vb=ee;let jSe=class extends mo{get onDidChange(){return this._onDidChange.event}get onDidHeightChange(){return this._onDidHeightChange.event}constructor(e,t,i){super(),this.state="idle",this.maxHeight=Number.POSITIVE_INFINITY,this.hover=this._register(new rt),this._onDidChange=this._register(new A),this._onDidHeightChange=this._register(new A),this.contextViewProvider=t,this.options=i,this.message=null,this.placeholder=this.options.placeholder||"",this.tooltip=this.options.tooltip??(this.placeholder||""),this.ariaLabel=this.options.ariaLabel||"",this.options.validationOptions&&(this.validation=this.options.validationOptions.validation),this.element=Y(e,vb(".monaco-inputbox.idle"));const n=this.options.flexibleHeight?"textarea":"input",s=Y(this.element,vb(".ibwrapper"));if(this.input=Y(s,vb(n+".input.empty")),this.input.setAttribute("autocorrect","off"),this.input.setAttribute("autocapitalize","off"),this.input.setAttribute("spellcheck","false"),this.onfocus(this.input,()=>this.element.classList.add("synthetic-focus")),this.onblur(this.input,()=>this.element.classList.remove("synthetic-focus")),this.options.flexibleHeight){this.maxHeight=typeof this.options.flexibleMaxHeight=="number"?this.options.flexibleMaxHeight:Number.POSITIVE_INFINITY,this.mirror=Y(s,vb("div.mirror")),this.mirror.innerText=" ",this.scrollableElement=new Uz(this.element,{vertical:1}),this.options.flexibleWidth&&(this.input.setAttribute("wrap","off"),this.mirror.style.whiteSpace="pre",this.mirror.style.wordWrap="initial"),Y(e,this.scrollableElement.getDomNode()),this._register(this.scrollableElement),this._register(this.scrollableElement.onScroll(l=>this.input.scrollTop=l.scrollTop));const r=this._register(new mt(e.ownerDocument,"selectionchange")),a=ie.filter(r.event,()=>e.ownerDocument.getSelection()?.anchorNode===s);this._register(a(this.updateScrollDimensions,this)),this._register(this.onDidHeightChange(this.updateScrollDimensions,this))}else this.input.type=this.options.type||"text",this.input.setAttribute("wrap","off");this.ariaLabel&&this.input.setAttribute("aria-label",this.ariaLabel),this.placeholder&&!this.options.showPlaceholderOnFocus&&this.setPlaceHolder(this.placeholder),this.tooltip&&this.setTooltip(this.tooltip),this.oninput(this.input,()=>this.onValueChange()),this.onblur(this.input,()=>this.onBlur()),this.onfocus(this.input,()=>this.onFocus()),this._register(this.ignoreGesture(this.input)),setTimeout(()=>this.updateMirror(),0),this.options.actions&&(this.actionbar=this._register(new Qs(this.element)),this.actionbar.push(this.options.actions,{icon:!0,label:!1})),this.applyStyles()}onBlur(){this._hideMessage(),this.options.showPlaceholderOnFocus&&this.input.setAttribute("placeholder","")}onFocus(){this._showMessage(),this.options.showPlaceholderOnFocus&&this.input.setAttribute("placeholder",this.placeholder||"")}setPlaceHolder(e){this.placeholder=e,this.input.setAttribute("placeholder",e)}setTooltip(e){this.tooltip=e,this.hover.value||(this.hover.value=this._registeLine truncated
|
||||
`),e.preventDefault();return}if(e.equals(2)){this._isReplaceVisible?this._replaceInput.focus():this._findInput.focusOnCaseSensitive(),e.preventDefault();return}if(e.equals(2066)){this._codeEditor.focus(),e.preventDefault();return}if(e.equals(16))return MZ(e,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea"));if(e.equals(18))return AZ(e,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea"))}_onReplaceInputKeyDown(e){if(e.equals(RZ|3))if(this._keybindingService.dispatchEvent(e,e.target)){e.preventDefault();return}else{this._replaceInput.inputBox.insertAtCursor(`
|
||||
`),e.preventDefault();return}if(e.equals(2)){this._findInput.focusOnCaseSensitive(),e.preventDefault();return}if(e.equals(1026)){this._findInput.focus(),e.preventDefault();return}if(e.equals(2066)){this._codeEditor.focus(),e.preventDefault();return}if(e.equals(16))return MZ(e,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector("textarea"));if(e.equals(18))return AZ(e,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector("textarea"))}getVerticalSashLeft(e){return 0}_keybindingLabelFor(e){const t=this._keybindingService.lookupKeybinding(e);return t?` (${t.getLabel()})`:""}_buildDomNode(){const i=this._codeEditor.getOption(50).history,n=this._codeEditor.getOption(50).replaceHistory;this._findInput=this._register(new p5(null,this._contextViewProvider,{width:mye,label:nye,placeholder:sye,appendCaseSensitiveLabel:this._keybindingLabelFor(Pt.ToggleCaseSensitiveCommand),appendWholeWordsLabel:this._keybindingLabelFor(Pt.ToggleWholeWordCommand),appendRegexLabel:this._keybindingLabelFor(Pt.ToggleRegexCommand),validation:h=>{if(h.length===0||!this._findInput.getRegex())return null;try{return new RegExp(h,"gu"),null}catch(u){return{content:u.message}}},flexibleHeight:!0,flexibleWidth:!0,flexibleMaxHeight:118,showCommonFindToggles:!0,showHistoryHint:()=>DZ(this._keybindingService),inputBoxStyles:Sk,toggleStyles:wk,history:i==="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(h=>{h.equals(3)&&!this._codeEditor.getOption(50).findOnType&&this._state.change({searchString:this._findInput.getValue()},!0),this._onFindInputKeyDown(h)})),this._register(this._findInput.inputBox.onDidChange(()=>{this._ignoreChangeEvent||!this._codeEditor.getOption(50).findOnType||this._state.change({searchString:this._findInput.getValue()},!0)})),this._register(this._findInput.onDidOptionChange(()=>{this._state.change({isRegex:this._findInput.getRegex(),wholeWord:this._findInput.getWholeWords(),matchCase:this._findInput.getCaseSensitive()},!0)})),this._register(this._findInput.onCaseSensitiveKeyDown(h=>{h.equals(1026)&&this._isReplaceVisible&&(this._replaceInput.focus(),h.preventDefault())})),this._register(this._findInput.onRegexKeyDown(h=>{h.equals(2)&&this._isReplaceVisible&&(this._replaceInput.focusOnPreserve(),h.preventDefault())})),this._register(this._findInput.inputBox.onDidHeightChange(h=>{this._tryUpdateHeight()&&this._showViewZone()})),Hs&&this._register(this._findInput.onMouseDown(h=>this._onFindInputMouseDown(h))),this._matchesCount=document.createElement("div"),this._matchesCount.className="matchesCount",this._updateMatchesCount();const s={groupId:"find-widget"};this._prevBtn=this._register(new Wg({label:oye+this._keybindingLabelFor(Pt.PreviousMatchFindAction),icon:eye,hoverLifecycleOptions:s,onTrigger:()=>{oh(this._codeEditor.getAction(Pt.PreviousMatchFindAction)).run().then(void 0,De)}},this._hoverService)),this._nextBtn=this._register(new Wg({label:rye+this._keybindingLabelFor(Pt.NextMatchFindAction),icon:tye,hoverLifecycleOptions:s,onTrigger:()=>{oh(this._codeEditor.getAction(Pt.NextMatchFindAction)).run().then(void 0,De)}},this._hoverService));const r=document.createElement("div");r.className="find-part",r.appendChild(this._findInput.domNode);const a=document.createElement("div");a.className="find-actions",r.appendChild(a),a.appendChild(this._matchesCount),a.appendChild(this._prevBtn.domNode),a.appendChild(this._nextBtn.domNode),this._toggleSelectionFind=this._register(new xd({icon:XSe,title:aye+this._keybindingLabelFor(Pt.ToggleSearchScopeCommand),isChecked:!1,hoverLifecycleOptions:s,inputActiveOptionBackground:J(m_),inputActiveOptionBorder:J(Yv),inputActiveOptionForeground:J(Xv)})),this._register(this._toggleSelectionFind.onChange(()=>{if(this._toggleSelectionFind.checked){if(this._codeEditor.hasModel()){let h=this._codeEditor.getSelections();h=h.map(u=>(u.endColumn===1&&u.endLineNumber>u.startLineNumber&&(u=u.setEndPosition(u.endLineNumber-1,this._codeEditor.getModel().getLineMaxColumn(u.endLineNumber-1))),u.isEmpty()?null:u)).filter(u=>!!u),h.length&&this._state.change({searchScope:h},!0)}}else this._state.change({searchScope:null},!0)})),a.appendChild(this._toggleSelectionFind.domNode),this._closeBtn=this._register(new Wg({label:lye+this._keybindingLabelFor(Pt.CloseFindWidgetCommand),icon:Yq,hoverLifecycleOptions:s,onTrigger:()=>{this._state.change({isRevealed:!1,searchScope:null},!1)},onKeyDown:h=>{h.equals(2)&&this._isReplaceVisible&&(this._replaceBtn.isEnabled()?this._replaceBtn.focus():this._codeEditor.focus(),h.preventDefault())}},this._hoverService)),this._replaceInput=this._register(new m5(null,void 0,{label:cye,placeholder:dye,appendPreserveCaseLabel:this._keybindingLabelFor(Pt.TogglePreserveCaseCommand),history:n==="workspace
Line truncated
|
||||
top: ${this.virtualDelegate.headerRowHeight+1}px;
|
||||
height: calc(100% - ${this.virtualDelegate.headerRowHeight}px);
|
||||
}`),this.styleElement.textContent=t.join(`
|
||||
`),this.list.style(e)}getSelectedElements(){return this.list.getSelectedElements()}getSelection(){return this.list.getSelection()}getFocus(){return this.list.getFocus()}dispose(){this.disposables.dispose()}};XN.InstanceCount=0;let I5=XN;var Xo;(function(o){o[o.Expanded=0]="Expanded",o[o.Collapsed=1]="Collapsed",o[o.PreserveOrExpanded=2]="PreserveOrExpanded",o[o.PreserveOrCollapsed=3]="PreserveOrCollapsed"})(Xo||(Xo={}));var Hg;(function(o){o[o.Unknown=0]="Unknown",o[o.Twistie=1]="Twistie",o[o.Element=2]="Element",o[o.Filter=3]="Filter"})(Hg||(Hg={}));class Qo extends Error{constructor(e,t){super(`TreeError [${e}] ${t}`)}}class D5{constructor(e){this.fn=e,this._map=new WeakMap}map(e){let t=this._map.get(e);return t||(t=this.fn(e),this._map.set(e,t)),t}}class eu{constructor(e,t,i,n){this.originalStart=e,this.originalLength=t,this.modifiedStart=i,this.modifiedLength=n}getOriginalEnd(){return this.originalStart+this.originalLength}getModifiedEnd(){return this.modifiedStart+this.modifiedLength}}class nY{constructor(e){this.source=e}getElements(){const e=this.source,t=new Int32Array(e.length);for(let i=0,n=e.length;i<n;i++)t[i]=e.charCodeAt(i);return t}}function lLe(o,e,t){return new jl(new nY(o),new nY(e)).ComputeDiff(t).changes}class Sb{static Assert(e,t){if(!e)throw new Error(t)}}class yb{static Copy(e,t,i,n,s){for(let r=0;r<s;r++)i[n+r]=e[t+r]}static Copy2(e,t,i,n,s){for(let r=0;r<s;r++)i[n+r]=e[t+r]}}class sY{constructor(){this.m_changes=[],this.m_originalStart=1073741824,this.m_modifiedStart=1073741824,this.m_originalCount=0,this.m_modifiedCount=0}MarkNextChange(){(this.m_originalCount>0||this.m_modifiedCount>0)&&this.m_changes.push(new eu(this.m_originalStart,this.m_originalCount,this.m_modifiedStart,this.m_modifiedCount)),this.m_originalCount=0,this.m_modifiedCount=0,this.m_originalStart=1073741824,this.m_modifiedStart=1073741824}AddOriginalElement(e,t){this.m_originalStart=Math.min(this.m_originalStart,e),this.m_modifiedStart=Math.min(this.m_modifiedStart,t),this.m_originalCount++}AddModifiedElement(e,t){this.m_originalStart=Math.min(this.m_originalStart,e),this.m_modifiedStart=Math.min(this.m_modifiedStart,t),this.m_modifiedCount++}getChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes}getReverseChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes.reverse(),this.m_changes}}class jl{constructor(e,t,i=null){this.ContinueProcessingPredicate=i,this._originalSequence=e,this._modifiedSequence=t;const[n,s,r]=jl._getElements(e),[a,l,c]=jl._getElements(t);this._hasStrings=r&&c,this._originalStringElements=n,this._originalElementsOrHash=s,this._modifiedStringElements=a,this._modifiedElementsOrHash=l,this.m_forwardHistory=[],this.m_reverseHistory=[]}static _isStringArray(e){return e.length>0&&typeof e[0]=="string"}static _getElements(e){const t=e.getElements();if(jl._isStringArray(t)){const i=new Int32Array(t.length);for(let n=0,s=t.length;n<s;n++)i[n]=QR(t[n],0);return[t,i,!0]}return t instanceof Int32Array?[[],t,!1]:[[],new Int32Array(t),!1]}ElementsAreEqual(e,t){return this._originalElementsOrHash[e]!==this._modifiedElementsOrHash[t]?!1:this._hasStrings?this._originalStringElements[e]===this._modifiedStringElements[t]:!0}ElementsAreStrictEqual(e,t){if(!this.ElementsAreEqual(e,t))return!1;const i=jl._getStrictElement(this._originalSequence,e),n=jl._getStrictElement(this._modifiedSequence,t);return i===n}static _getStrictElement(e,t){return typeof e.getStrictElement=="function"?e.getStrictElement(t):null}OriginalElementsAreEqual(e,t){return this._originalElementsOrHash[e]!==this._originalElementsOrHash[t]?!1:this._hasStrings?this._originalStringElements[e]===this._originalStringElements[t]:!0}ModifiedElementsAreEqual(e,t){return this._modifiedElementsOrHash[e]!==this._modifiedElementsOrHash[t]?!1:this._hasStrings?this._modifiedStringElements[e]===this._modifiedStringElements[t]:!0}ComputeDiff(e){return this._ComputeDiff(0,this._originalElementsOrHash.length-1,0,this._modifiedElementsOrHash.length-1,e)}_ComputeDiff(e,t,i,n,s){const r=[!1];let a=this.ComputeDiffRecursive(e,t,i,n,r);return s&&(a=this.PrettifyChanges(a)),{quitEarly:r[0],changes:a}}ComputeDiffRecursive(e,t,i,n,s){for(s[0]=!1;e<=t&&i<=n&&this.ElementsAreEqual(e,i);)e++,i++;for(;t>=e&&n>=i&&this.ElementsAreEqual(t,n);)t--,n--;if(e>t||i>n){let h;return i<=n?(Sb.Assert(e===t+1,"originalStart should only be one more than originalEnd"),h=[new eu(e,0,i,n-i+1)]):e<=t?(Sb.Assert(i===n+1,"modifiedStart should only be one more than modifiedEnd"),h=[new eu(e,t-e+1,i,0)]):(Sb.Assert(e===t+1,"originalStart should only be one more than originalEnd"),Sb.Assert(i===n+1,"modifiedStart should only be one more than modifiedEnd"),h=[]),h}const r=[0],a=[0],l=this.ComputeRecursionPoint(e,t,i,n,r,a,s),c=r[0],d=a[0];if(l!==null)return l;if(!s[0]){const h=this.ComputeDiffRecursive(e,c,i,d,s);let u=[];return s[0]?u=[new eu(c+1,t-(c+1)+1,d+1,n-(d+1)+1)]:u=this.ComputeDiffRecursi
Line truncated
|
||||
`),this.view.style(e)}getParentElement(e){const t=this.model.getParentNodeLocation(e);return this.model.getNode(t).element}getFirstElementChild(e){return this.model.getFirstElementChild(e)}getNode(e){return this.model.getNode(e)}getNodeLocation(e){return this.model.getNodeLocation(e)}collapse(e,t=!1){return this.model.setCollapsed(e,!0,t)}expand(e,t=!1){return this.model.setCollapsed(e,!1,t)}toggleCollapsed(e,t=!1){return this.model.setCollapsed(e,void 0,t)}isCollapsible(e){return this.model.isCollapsible(e)}setCollapsible(e,t){return this.model.setCollapsible(e,t)}isCollapsed(e){return this.model.isCollapsed(e)}refilter(){this._onWillRefilter.fire(void 0),this.model.refilter()}setSelection(e,t){this.eventBufferer.bufferEvents(()=>{const i=e.map(s=>this.model.getNode(s));this.selection.set(i,t);const n=e.map(s=>this.model.getListIndex(s)).filter(s=>s>-1);this.view.setSelection(n,t,!0)})}getSelection(){return this.selection.get()}setFocus(e,t){this.eventBufferer.bufferEvents(()=>{const i=e.map(s=>this.model.getNode(s));this.focus.set(i,t);const n=e.map(s=>this.model.getListIndex(s)).filter(s=>s>-1);this.view.setFocus(n,t,!0)})}focusNext(e=1,t=!1,i,n=Oc(i)&&i.altKey?void 0:this.focusNavigationFilter){this.view.focusNext(e,t,i,n)}focusPrevious(e=1,t=!1,i,n=Oc(i)&&i.altKey?void 0:this.focusNavigationFilter){this.view.focusPrevious(e,t,i,n)}focusNextPage(e,t=Oc(e)&&e.altKey?void 0:this.focusNavigationFilter){return this.view.focusNextPage(e,t)}focusPreviousPage(e,t=Oc(e)&&e.altKey?void 0:this.focusNavigationFilter){return this.view.focusPreviousPage(e,t,()=>this.stickyScrollController?.height??0)}focusLast(e,t=Oc(e)&&e.altKey?void 0:this.focusNavigationFilter){this.view.focusLast(e,t)}focusFirst(e,t=Oc(e)&&e.altKey?void 0:this.focusNavigationFilter){this.view.focusFirst(e,t)}getFocus(){return this.focus.get()}reveal(e,t){this.model.expandTo(e);const i=this.model.getListIndex(e);if(i!==-1)if(!this.stickyScrollController)this.view.reveal(i,t);else{const n=this.stickyScrollController.nodePositionTopBelowWidget(this.getNode(e));this.view.reveal(i,t,n)}}onLeftArrow(e){e.preventDefault(),e.stopPropagation();const t=this.view.getFocusedElements();if(t.length===0)return;const i=t[0],n=this.model.getNodeLocation(i);if(!this.model.setCollapsed(n,!0)){const r=this.model.getParentNodeLocation(n);if(!r)return;const a=this.model.getListIndex(r);this.view.reveal(a),this.view.setFocus([a])}}onRightArrow(e){e.preventDefault(),e.stopPropagation();const t=this.view.getFocusedElements();if(t.length===0)return;const i=t[0],n=this.model.getNodeLocation(i);if(!this.model.setCollapsed(n,!1)){if(!i.children.some(l=>l.visible))return;const[r]=this.view.getFocus(),a=r+1;this.view.reveal(a),this.view.setFocus([a])}}onSpace(e){e.preventDefault(),e.stopPropagation();const t=this.view.getFocusedElements();if(t.length===0)return;const i=t[0],n=this.model.getNodeLocation(i),s=e.browserEvent.altKey;this.model.setCollapsed(n,void 0,s)}setupModel(e){this.modelDisposables.clear(),this.modelDisposables.add(e.onDidSpliceRenderedNodes(({start:s,deleteCount:r,elements:a})=>this.view.splice(s,r,a)));const t=ie.forEach(e.onDidSpliceModel,s=>{this.eventBufferer.bufferEvents(()=>{this.focus.onDidModelSplice(s),this.selection.onDidModelSplice(s)})},this.modelDisposables);t(()=>null,null,this.modelDisposables);const i=this.modelDisposables.add(new A),n=this.modelDisposables.add(new pr(0));this.modelDisposables.add(ie.any(t,this.focus.onDidChange,this.selection.onDidChange)(()=>{n.trigger(()=>{const s=new Set;for(const r of this.focus.getNodes())s.add(r);for(const r of this.selection.getNodes())s.add(r);i.fire([...s.values()])})})),this.onDidChangeActiveNodesRelay.input=i.event,this.onDidChangeModelRelay.input=ie.signal(e.onDidSpliceModel),this.onDidChangeCollapseStateRelay.input=e.onDidChangeCollapseState,this.onDidChangeRenderNodeCountRelay.input=e.onDidChangeRenderNodeCount,this.onDidSpliceModelRelay.input=e.onDidSpliceModel}dispose(){ht(this.disposables),this.stickyScrollController?.dispose(),this.view.dispose(),this.modelDisposables.dispose()}}class A5{constructor(e,t={}){this.user=e,this.rootRef=null,this.nodes=new Map,this.nodesByIdentity=new Map,this.model=new cLe(e,null,t),this.onDidSpliceModel=this.model.onDidSpliceModel,this.onDidSpliceRenderedNodes=this.model.onDidSpliceRenderedNodes,this.onDidChangeCollapseState=this.model.onDidChangeCollapseState,this.onDidChangeRenderNodeCount=this.model.onDidChangeRenderNodeCount,t.sorter&&(this.sorter={compare(i,n){return t.sorter.compare(i.element,n.element)}}),this.identityProvider=t.identityProvider}setChildren(e,t=Ge.empty(),i={}){const n=this.getElementLocation(e);this._setChildren(n,this.preserveCollapseState(t),i)}_setChildren(e,t=Ge.empty(),i){const n=new Set,s=new Set,r=l=>{if(l.element===null)return;const c=l;if(n.add(c.element),this.nodes.set(c.element,c),this.identityProvider){const d=this.identityProvider.getId(c.element).toString();s.add(d),this.nodesByIdentity.set(d,c)}i.onDidCreateNode?.(c)},
Line truncated
|
||||
`?-1:0,r+=i;for(const a of t)a.end<=r||(a.start>=r&&(a.start+=n),a.end>=r&&(a.end+=n));return i+=n,"⏎"})}}class e0{constructor(e){this._element=e}get element(){return this._element}set textContent(e){this.disposed||e===this._textContent||(this._textContent=e,this._element.textContent=e)}set classNames(e){this.disposed||po(e,this._classNames)||(this._classNames=e,this._element.classList.value="",this._element.classList.add(...e))}set empty(e){this.disposed||e===this._empty||(this._empty=e,this._element.style.marginLeft=e?"0":"")}dispose(){this.disposed=!0}}class t0 extends P{constructor(e,t){super(),this.customHovers=new Map,this.creationOptions=t,this.domNode=this._register(new e0(Y(e,ee(".monaco-icon-label")))),this.labelContainer=Y(this.domNode.element,ee(".monaco-icon-label-container")),this.nameContainer=Y(this.labelContainer,ee("span.monaco-icon-name-container")),t?.supportHighlights||t?.supportIcons?this.nameNode=this._register(new ixe(this.nameContainer,!!t.supportIcons)):this.nameNode=new exe(this.nameContainer),this.hoverDelegate=t?.hoverDelegate??Tl("mouse")}get element(){return this.domNode.element}setLabel(e,t,i){const n=["monaco-icon-label"],s=["monaco-icon-label-container"];let r="";i&&(i.extraClasses&&n.push(...i.extraClasses),i.bold&&n.push("bold"),i.italic&&n.push("italic"),i.strikethrough&&n.push("strikethrough"),i.disabledCommand&&s.push("disabled"),i.title&&(typeof i.title=="string"?r+=i.title:r+=e));const a=this.domNode.element.querySelector(".monaco-icon-label-iconpath");if(i?.iconPath){let l;if(!a||!li(a)?(l=ee(".monaco-icon-label-iconpath"),this.domNode.element.prepend(l)):l=a,ve.isThemeIcon(i.iconPath)){const c=ve.asClassName(i.iconPath);l.className=`monaco-icon-label-iconpath ${c}`,l.style.backgroundImage=""}else l.style.backgroundImage=Rl(i?.iconPath);l.style.backgroundRepeat="no-repeat",l.style.backgroundPosition="center",l.style.backgroundSize="contain"}else a&&a.remove();if(this.domNode.classNames=n,this.domNode.element.setAttribute("aria-label",r),this.labelContainer.classList.value="",this.labelContainer.classList.add(...s),this.setupHover(i?.descriptionTitle?this.labelContainer:this.element,i?.title),this.nameNode.setLabel(e,i),t||this.descriptionNode){const l=this.getOrCreateDescriptionNode();if(l instanceof iu){const c=i?.supportIcons??this.creationOptions?.supportIcons;l.set(t||"",i?i.descriptionMatches:void 0,void 0,i?.labelEscapeNewLines,c),this.setupHover(l.element,i?.descriptionTitle)}else l.textContent=t&&i?.labelEscapeNewLines?iu.escapeNewLines(t,[]):t||"",this.setupHover(l.element,i?.descriptionTitle||""),l.empty=!t}if(i?.suffix||this.suffixNode){const l=this.getOrCreateSuffixNode();l.textContent=i?.suffix??""}}setupHover(e,t){const i=this.customHovers.get(e);if(i&&(i.dispose(),this.customHovers.delete(e)),!t){e.removeAttribute("title");return}let n=e;if(this.creationOptions?.hoverTargetOverride){if(!Qi(e,this.creationOptions.hoverTargetOverride))throw new Error("hoverTargetOverrride must be an ancestor of the htmlElement");n=this.creationOptions.hoverTargetOverride}const s=na().setupManagedHover(this.hoverDelegate,n,t);s&&this.customHovers.set(e,s)}dispose(){super.dispose();for(const e of this.customHovers.values())e.dispose();this.customHovers.clear()}getOrCreateSuffixNode(){if(!this.suffixNode){const e=this._register(new e0(toe(this.nameContainer,ee("span.monaco-icon-suffix-container"))));this.suffixNode=this._register(new e0(Y(e.element,ee("span.label-suffix"))))}return this.suffixNode}getOrCreateDescriptionNode(){if(!this.descriptionNode){const e=this._register(new e0(Y(this.labelContainer,ee("span.monaco-icon-description-container"))));this.creationOptions?.supportDescriptionHighlights?this.descriptionNode=this._register(new iu(Y(e.element,ee("span.label-description")))):this.descriptionNode=this._register(new e0(Y(e.element,ee("span.label-description"))))}return this.descriptionNode}}class exe{constructor(e){this.container=e,this.label=void 0,this.singleLabel=void 0}setLabel(e,t){if(!(this.label===e&&po(this.options,t)))if(this.label=e,this.options=t,typeof e=="string")this.singleLabel||(this.container.textContent="",this.container.classList.remove("multiple"),this.singleLabel=Y(this.container,ee("a.label-name",{id:t?.domId}))),this.singleLabel.textContent=e;else{this.container.textContent="",this.container.classList.add("multiple"),this.singleLabel=void 0;for(let i=0;i<e.length;i++){const n=e[i],s=t?.domId&&`${t?.domId}_${i}`;Y(this.container,ee("a.label-name",{id:s,"data-icon-label-count":e.length,"data-icon-label-index":i,role:"treeitem"},n)),i<e.length-1&&Y(this.container,ee("span.label-separator",void 0,t?.separator||"/"))}}}}function txe(o,e,t){if(!t)return;let i=0;return o.map(n=>{const s={start:i,end:i+n.length},r=t.map(a=>Zn.intersect(s,a)).filter(a=>!Zn.isEmpty(a)).map(({start:a,end:l})=>({start:a-i,end:l-i}));return i=s.end+e.length,r})}class ixe extends P{constructor(e,t){super(),this.container=e,this.supportIcons=t,this.label=void 0,this.sing
Line truncated
|
||||
`)))}onDragOver(){return!1}drop(){}dispose(){this.disposables.dispose()}};aF=AY([qg(0,jg)],aF);let lF=class extends wI{constructor(e,t,i,n,s,r,a,l,c){super(e,{showFrame:!1,showArrow:!0,isResizeable:!0,isAccessible:!0,supportOnTitleClick:!0},r),this._defaultTreeKeyboardSupport=t,this.layoutData=i,this._textModelResolverService=s,this._instantiationService=r,this._peekViewService=a,this._uriLabel=l,this._keybindingService=c,this._disposeOnNewModel=new V,this._callOnDispose=new V,this._onDidSelectReference=new A,this.onDidSelectReference=this._onDidSelectReference.event,this._dim=new ut(0,0),this._isClosing=!1,this._applyTheme(n.getColorTheme()),this._callOnDispose.add(n.onDidColorThemeChange(this._applyTheme.bind(this))),this._peekViewService.addExclusiveWidget(e,this),this.create()}get isClosing(){return this._isClosing}dispose(){this._isClosing=!0,this.setModel(void 0),this._callOnDispose.dispose(),this._disposeOnNewModel.dispose(),ht(this._preview),ht(this._previewNotAvailableMessage),ht(this._tree),ht(this._previewModelReference),this._splitView.dispose(),super.dispose()}_applyTheme(e){const t=e.getColor(Xye)||z.transparent;this.style({arrowColor:t,frameColor:t,headerBackgroundColor:e.getColor(Yye)||z.transparent,primaryHeadingColor:e.getColor(JZ),secondaryHeadingColor:e.getColor(eY)})}show(e){super.show(e,this.layoutData.heightInLines||18)}focusOnReferenceTree(){this._tree.domFocus()}focusOnPreviewEditor(){this._preview.focus()}isPreviewEditorFocused(){return this._preview.hasTextFocus()}_onTitleClick(e){this._preview&&this._preview.getModel()&&this._onDidSelectReference.fire({element:this._getFocusedReference(),kind:e.ctrlKey||e.metaKey||e.altKey?"side":"open",source:"title"})}_fillBody(e){this.setCssClass("reference-zone-widget"),this._messageContainer=Y(e,ee("div.messages")),bs(this._messageContainer),this._splitView=new iY(e,{orientation:1}),this._previewContainer=Y(e,ee("div.preview.inline"));const t={scrollBeyondLastLine:!1,scrollbar:{verticalScrollbarSize:14,horizontal:"auto",useShadows:!0,verticalHasArrows:!1,horizontalHasArrows:!1,alwaysConsumeMouseWheel:!0},overviewRulerLanes:2,fixedOverflowWidgets:!0,minimap:{enabled:!1}};this._preview=this._instantiationService.createInstance(Dd,this._previewContainer,t,{},this.editor),bs(this._previewContainer),this._previewNotAvailableMessage=this._instantiationService.createInstance(ig,m(1084,"no preview available"),Ho,ig.DEFAULT_CREATION_OPTIONS,null),this._treeContainer=Y(e,ee("div.ref-tree.inline"));const i={keyboardSupport:this._defaultTreeKeyboardSupport,accessibilityProvider:new rxe,keyboardNavigationLabelProvider:this._instantiationService.createInstance(sF),identityProvider:new sxe,openOnSingleClick:!0,selectionNavigation:!0,overrideStyles:{listBackground:Qye},dnd:this._instantiationService.createInstance(aF)};this._defaultTreeKeyboardSupport&&this._callOnDispose.add(Si(this._treeContainer,"keydown",s=>{s.equals(9)&&(this._keybindingService.dispatchEvent(s,s.target),s.stopPropagation())},!0)),this._tree=this._instantiationService.createInstance(lxe,"ReferencesWidget",this._treeContainer,new nxe,[this._instantiationService.createInstance(UI),this._instantiationService.createInstance($I)],this._instantiationService.createInstance(nF),i),this._splitView.addView({onDidChange:ie.None,element:this._previewContainer,minimumSize:200,maximumSize:Number.MAX_VALUE,layout:s=>{this._preview.layout({height:this._dim.height,width:s})}},SI.Distribute),this._splitView.addView({onDidChange:ie.None,element:this._treeContainer,minimumSize:100,maximumSize:Number.MAX_VALUE,layout:s=>{this._treeContainer.style.height=`${this._dim.height}px`,this._treeContainer.style.width=`${s}px`,this._tree.layout(this._dim.height,s)}},SI.Distribute),this._disposables.add(this._splitView.onDidSashChange(()=>{this._dim.width&&(this.layoutData.ratio=this._splitView.getViewSize(0)/this._dim.width)},void 0));const n=(s,r)=>{s instanceof Td&&(r==="show"&&this._revealReference(s,!1),this._onDidSelectReference.fire({element:s,kind:r,source:"tree"}))};this._disposables.add(this._tree.onDidOpen(s=>{s.sideBySide?n(s.element,"side"):s.editorOptions.pinned?n(s.element,"goto"):n(s.element,"show")})),bs(this._treeContainer)}_onWidth(e){this._dim&&this._doLayoutBody(this._dim.height,e)}_doLayoutBody(e,t){super._doLayoutBody(e,t),this._dim=new ut(t,e),this.layoutData.heightInLines=this._viewZone?this._viewZone.heightInLines:this.layoutData.heightInLines,this._splitView.layout(t),this._splitView.resizeView(0,t*this.layoutData.ratio)}setSelection(e){return this._revealReference(e,!0).then(()=>{this._model&&(this._tree.setSelection([e]),this._tree.setFocus([e]))})}setModel(e){return this._disposeOnNewModel.clear(),this._model=e,this._model?this._onNewModel():Promise.resolve()}_onNewModel(){return this._model?this._model.isEmpty?(this.setTitle(""),this._messageContainer.innerText=m(1085,"No results"),go(this._messageContainer),Promise.resolve(void 0)):(bs(this._messageContainer),this._decorationsManager=n
Line truncated
|
||||
`),this._selectionId=t.trackSelection(i);return}i.startLineNumber<i.endLineNumber&&i.endColumn===1&&(this._moveEndPositionDown=!0,i=i.setEndPosition(i.endLineNumber-1,e.getLineMaxColumn(i.endLineNumber-1)));const n=Md._gatherPreflightData(this._type,this._insertSpace,e,i.startLineNumber,i.endLineNumber,this._ignoreEmptyLines,this._ignoreFirstLine,this.languageConfigurationService);return n.supported?this._executeLineComments(e,t,n,i):this._executeBlockComment(e,t,i)}computeCursorState(e,t){let i=t.getTrackedSelection(this._selectionId);return this._moveEndPositionDown&&(i=i.setEndPosition(i.endLineNumber+1,1)),new le(i.selectionStartLineNumber,i.selectionStartColumn+this._deltaColumn,i.positionLineNumber,i.positionColumn+this._deltaColumn)}static _createRemoveLineCommentsOperations(e,t){const i=[];for(let n=0,s=e.length;n<s;n++){const r=e[n];r.ignore||i.push(gi.delete(new k(t+n,r.commentStrOffset+1,t+n,r.commentStrOffset+r.commentStrLength+1)))}return i}_createAddLineCommentsOperations(e,t){const i=[],n=this._insertSpace?" ":"";for(let s=0,r=e.length;s<r;s++){const a=e[s];a.ignore||i.push(gi.insert(new M(t+s,a.commentStrOffset+1),a.commentStr+n))}return i}static nextVisibleColumn(e,t,i,n){return i?e+(t-e%t):e+n}static _normalizeInsertionPoint(e,t,i,n){let s=1073741824,r,a;for(let l=0,c=t.length;l<c;l++){if(t[l].ignore)continue;const d=e.getLineContent(i+l);let h=0;for(let u=0,f=t[l].commentStrOffset;h<s&&u<f;u++)h=Md.nextVisibleColumn(h,n,d.charCodeAt(u)===9,1);h<s&&(s=h)}s=Math.floor(s/n)*n;for(let l=0,c=t.length;l<c;l++){if(t[l].ignore)continue;const d=e.getLineContent(i+l);let h=0;for(r=0,a=t[l].commentStrOffset;h<s&&r<a;r++)h=Md.nextVisibleColumn(h,n,d.charCodeAt(r)===9,1);h>s?t[l].commentStrOffset=r-1:t[l].commentStrOffset=r}}}class WF extends ce{constructor(e,t){super(t),this._type=e}run(e,t){const i=e.get(Qt);if(!t.hasModel())return;const n=t.getModel(),s=[],r=n.getOptions(),a=t.getOption(29),l=t.getSelections().map((d,h)=>({selection:d,index:h,ignoreFirstLine:!1}));l.sort((d,h)=>k.compareRangesUsingStarts(d.selection,h.selection));let c=l[0];for(let d=1;d<l.length;d++){const h=l[d];c.selection.endLineNumber===h.selection.startLineNumber&&(c.index<h.index?h.ignoreFirstLine=!0:(c.ignoreFirstLine=!0,c=h))}for(const d of l)s.push(new Md(i,d.selection,r.indentSize,this._type,a.insertSpace,a.ignoreEmptyLines,d.ignoreFirstLine));t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}class Vxe extends WF{constructor(){super(0,{id:"editor.action.commentLine",label:H(897,"Toggle Line Comment"),precondition:T.writable,kbOpts:{kbExpr:T.editorTextFocus,primary:2138,weight:100},menuOpts:{menuId:ue.MenubarEditMenu,group:"5_insert",title:m(895,"&&Toggle Line Comment"),order:1},canTriggerInlineEdits:!0})}}class zxe extends WF{constructor(){super(1,{id:"editor.action.addCommentLine",label:H(898,"Add Line Comment"),precondition:T.writable,kbOpts:{kbExpr:T.editorTextFocus,primary:Ei(2089,2081),weight:100},canTriggerInlineEdits:!0})}}class Uxe extends WF{constructor(){super(2,{id:"editor.action.removeCommentLine",label:H(899,"Remove Line Comment"),precondition:T.writable,kbOpts:{kbExpr:T.editorTextFocus,primary:Ei(2089,2099),weight:100},canTriggerInlineEdits:!0})}}class $xe extends ce{constructor(){super({id:"editor.action.blockComment",label:H(900,"Toggle Block Comment"),precondition:T.writable,kbOpts:{kbExpr:T.editorTextFocus,primary:1567,linux:{primary:3103},weight:100},menuOpts:{menuId:ue.MenubarEditMenu,group:"5_insert",title:m(896,"Toggle &&Block Comment"),order:2},canTriggerInlineEdits:!0})}run(e,t){const i=e.get(Qt);if(!t.hasModel())return;const n=t.getOption(29),s=[],r=t.getSelections();for(const a of r)s.push(new nu(a,n.insertSpace,i));t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}oe(Vxe),oe(zxe),oe(Uxe),oe($xe);var jxe=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Jg=function(o,e){return function(t,i){e(t,i,o)}},BF;let h0=(Qp=class{static get(e){return e.getContribution(BF.ID)}constructor(e,t,i,n,s,r,a,l){this._contextMenuService=t,this._contextViewService=i,this._contextKeyService=n,this._keybindingService=s,this._menuService=r,this._configurationService=a,this._workspaceContextService=l,this._toDispose=new V,this._contextMenuIsBeingShownCount=0,this._editor=e,this._toDispose.add(this._editor.onContextMenu(c=>this._onContextMenu(c))),this._toDispose.add(this._editor.onMouseWheel(c=>{if(this._contextMenuIsBeingShownCount>0){const d=this._contextViewService.getContextViewElement(),h=c.srcElement;h.shadowRoot&&uh(d)===h.shadowRoot||this._contextViewService.hideContextView()}})),this._toDispose.add(this._editor.onKeyDown(c=>{this._editor.getOption(30)&&c.keyCode===58&&(c.preventDefault(),c.stopPropagation(),this
Line truncated
|
||||
If there are multiple edits for this kind, the editor will show a picker. If there are no edits of this kind, the editor will show an error message.`)}}},{type:"object",required:["preferences"],properties:{preferences:{type:"array",description:m(914,`List of preferred paste edit kind to try applying.
|
||||
The first edit matching the preferences will be applied.`),items:{type:"string"}}}}]},Jp)),oe(class extends ce{constructor(){super({id:"editor.action.pasteAsText",label:H(916,"Paste as Text"),precondition:T.writable,canTriggerInlineEdits:!0})}run(o,e){return Ld.get(e)?.pasteAs({providerId:kg.id})}});class Xxe{constructor(){this._dragOperations=new Map}removeDragOperationTransfer(e){if(e&&this._dragOperations.has(e)){const t=this._dragOperations.get(e);return this._dragOperations.delete(e),t}}}class iX{constructor(e){this.identifier=e}}const nX=Fe("treeViewsDndService");je(nX,Xxe,1);var Qxe=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},nD=function(o,e){return function(t,i){e(t,i,o)}},Ad;const Jxe="editor.dropIntoEditor.preferences",sX="editor.changeDropType",zF=new re("dropWidgetVisible",!1,m(934,"Whether the drop widget is showing"));let Mb=(em=class extends P{static get(e){return e.getContribution(Ad.ID)}constructor(e,t,i,n,s){super(),this._configService=i,this._languageFeaturesService=n,this._treeViewsDragAndDropService=s,this.treeItemsTransfer=f4.getInstance(),this._dropProgressManager=this._register(t.createInstance(Ok,"dropIntoEditor",e)),this._postDropWidgetManager=this._register(t.createInstance(jk,"dropIntoEditor",e,zF,{id:sX,label:m(935,"Show drop options...")},()=>Ad._configureDefaultAction?[Ad._configureDefaultAction]:[])),this._register(e.onDropIntoEditor(r=>this.onDropIntoEditor(e,r.position,r.event)))}clearWidgets(){this._postDropWidgetManager.clear()}changeDropType(){this._postDropWidgetManager.tryShowSelector()}async onDropIntoEditor(e,t,i){if(!i.dataTransfer||!e.hasModel())return;Ad._currentDropOperation?.cancel(),e.focus(),e.setPosition(t);const n=Vi(async s=>{const r=new V,a=r.add(new Cd(e,1,void 0,s));try{const l=await this.extractDataTransferData(i);if(l.size===0||a.token.isCancellationRequested)return;const c=e.getModel();if(!c)return;const d=this._languageFeaturesService.documentDropEditProvider.ordered(c).filter(u=>u.dropMimeTypes?u.dropMimeTypes.some(f=>l.matches(f)):!0),h=r.add(await this.getDropEdits(d,c,t,l,a.token));if(a.token.isCancellationRequested)return;if(h.edits.length){const u=this.getInitialActiveEditIndex(c,h.edits),f=e.getOption(43).showDropSelector==="afterDrop";await this._postDropWidgetManager.applyEditAndShowIfNeeded([k.fromPositions(t)],{activeEditIndex:u,allEdits:h.edits},f,async g=>g,s)}}finally{r.dispose(),Ad._currentDropOperation===n&&(Ad._currentDropOperation=void 0)}});this._dropProgressManager.showWhile(t,m(936,"Running drop handlers. Click to cancel"),n,{cancel:()=>n.cancel()}),Ad._currentDropOperation=n}async getDropEdits(e,t,i,n,s){const r=new V,a=await Am(Promise.all(e.map(async c=>{try{const d=await c.provideDocumentDropEdits(t,i,n,s);return d&&r.add(d),d?.edits.map(h=>({...h,providerId:c.id}))}catch(d){To(d)||console.error(d),console.error(d)}})),s),l=xa(a??[]).flat();return{edits:uG(l),dispose:()=>r.dispose()}}getInitialActiveEditIndex(e,t){const i=this._configService.getValue(Jxe,{resource:e.uri});for(const n of Array.isArray(i)?i:[]){const s=new si(n),r=t.findIndex(a=>a.kind&&s.contains(a.kind));if(r>=0)return r}return 0}async extractDataTransferData(e){if(!e.dataTransfer)return new ZK;const t=tG(e.dataTransfer);if(this.treeItemsTransfer.hasData(iX.prototype)){const i=this.treeItemsTransfer.getData(iX.prototype);if(Array.isArray(i))for(const n of i){const s=await this._treeViewsDragAndDropService.removeDragOperationTransfer(n.identifier);if(s)for(const[r,a]of s)t.replace(r,a)}}return t}},Ad=em,em.ID="editor.contrib.dropIntoEditorController",em);Mb=Ad=Qxe([nD(1,pe),nD(2,Me),nD(3,he),nD(4,nX)],Mb),Qe(Mb.ID,Mb,2),mb(L4),ae(new class extends ji{constructor(){super({id:sX,precondition:zF,kbOpts:{weight:100,primary:2137}})}runEditorCommand(o,e,t){Mb.get(e)?.changeDropType()}}),ae(new class extends ji{constructor(){super({id:"editor.hideDropWidget",precondition:zF,kbOpts:{weight:100,primary:9}})}runEditorCommand(o,e,t){Mb.get(e)?.clearWidgets()}});const tT=class tT extends mo{constructor(e,t,i){super(),this._hideSoon=this._register(new vt(()=>this._hide(),2e3)),this._isVisible=!1,this._editor=e,this._state=t,this._keybindingService=i,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");const n={inputActiveOptionBorder:J(Yv),inputActiveOptionForeground:J(Xv),inputActiveOptionBackground:J(m_)},s={groupId:"find-options-widget"};this.caseSensitive=this._register(new _Z({appendTitle:this._keybindingLabelFor(Pt.ToggleCaseSensitiveCommand),isChecked:this._state
Line truncated
|
||||
* 'levels': Number of levels to unfold. If not set, defaults to 1.
|
||||
* 'direction': If 'up', unfold given number of levels up otherwise unfolds down.
|
||||
* '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.
|
||||
`,constraint:mX,schema:{type:"object",properties:{levels:{type:"number",default:1},direction:{type:"string",enum:["up","down"],default:"down"},selectionLines:{type:"array",items:{type:"number"}}}}}]}})}invoke(e,t,i,n){const s=n&&n.levels||1,r=this.getLineNumbers(n,i);n&&n.direction==="up"?dX(t,!1,s,r):Ab(t,!1,s,r)}}class Oke extends Pn{constructor(){super({id:"editor.unfoldRecursively",label:H(983,"Unfold Recursively"),precondition:vn,kbOpts:{kbExpr:T.editorTextFocus,primary:Ei(2089,2142),weight:100}})}invoke(e,t,i,n){Ab(t,!1,Number.MAX_VALUE,this.getSelectedLines(i))}}class Fke extends Pn{constructor(){super({id:"editor.fold",label:H(984,"Fold"),precondition:vn,kbOpts:{kbExpr:T.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:
|
||||
* 'levels': Number of levels to fold.
|
||||
* 'direction': If 'up', folds given number of levels up otherwise folds down.
|
||||
* '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.
|
||||
If no levels or direction is set, folds the region at the locations or if already collapsed, the first uncollapsed parent instead.
|
||||
`,constraint:mX,schema:{type:"object",properties:{levels:{type:"number"},direction:{type:"string",enum:["up","down"]},selectionLines:{type:"array",items:{type:"number"}}}}}]}})}invoke(e,t,i,n){const s=this.getLineNumbers(n,i),r=n&&n.levels,a=n&&n.direction;typeof r!="number"&&typeof a!="string"?pke(t,!0,s):a==="up"?dX(t,!0,r||1,s):Ab(t,!0,r||1,s)}}class Wke extends Pn{constructor(){super({id:"editor.toggleFold",label:H(985,"Toggle Fold"),precondition:vn,kbOpts:{kbExpr:T.editorTextFocus,primary:Ei(2089,2090),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);YF(t,1,n)}}class Bke extends Pn{constructor(){super({id:"editor.foldRecursively",label:H(986,"Fold Recursively"),precondition:vn,kbOpts:{kbExpr:T.editorTextFocus,primary:Ei(2089,2140),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);Ab(t,!0,Number.MAX_VALUE,n)}}class Hke extends Pn{constructor(){super({id:"editor.toggleFoldRecursively",label:H(987,"Toggle Fold Recursively"),precondition:vn,kbOpts:{kbExpr:T.editorTextFocus,primary:Ei(2089,3114),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);YF(t,Number.MAX_VALUE,n)}}class Vke extends Pn{constructor(){super({id:"editor.foldAllBlockComments",label:H(988,"Fold All Block Comments"),precondition:vn,kbOpts:{kbExpr:T.editorTextFocus,primary:Ei(2089,2138),weight:100}})}invoke(e,t,i,n,s){if(t.regions.hasTypes())QF(t,Zc.Comment.value,!0);else{const r=i.getModel();if(!r)return;const a=s.getLanguageConfiguration(r.getLanguageId()).comments;if(a&&a.blockCommentStartToken){const l=new RegExp("^\\s*"+ao(a.blockCommentStartToken));XF(t,l,!0)}}}}class zke extends Pn{constructor(){super({id:"editor.foldAllMarkerRegions",label:H(989,"Fold All Regions"),precondition:vn,kbOpts:{kbExpr:T.editorTextFocus,primary:Ei(2089,2077),weight:100}})}invoke(e,t,i,n,s){if(t.regions.hasTypes())QF(t,Zc.Region.value,!0);else{const r=i.getModel();if(!r)return;const a=s.getLanguageConfiguration(r.getLanguageId()).foldingRules;if(a&&a.markers&&a.markers.start){const l=new RegExp(a.markers.start);XF(t,l,!0)}}}}class Uke extends Pn{constructor(){super({id:"editor.unfoldAllMarkerRegions",label:H(990,"Unfold All Regions"),precondition:vn,kbOpts:{kbExpr:T.editorTextFocus,primary:Ei(2089,2078),weight:100}})}invoke(e,t,i,n,s){if(t.regions.hasTypes())QF(t,Zc.Region.value,!1);else{const r=i.getModel();if(!r)return;const a=s.getLanguageConfiguration(r.getLanguageId()).foldingRules;if(a&&a.markers&&a.markers.start){const l=new RegExp(a.markers.start);XF(t,l,!1)}}}}class $ke extends Pn{constructor(){super({id:"editor.foldAllExcept",label:H(991,"Fold All Except Selected"),precondition:vn,kbOpts:{kbExpr:T.editorTextFocus,primary:Ei(2089,2136),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);hX(t,!0,n)}}class jke extends Pn{constructor(){super({id:"editor.unfoldAllExcept",label:H(992,"Unfold All Except Selected"),precondition:vn,kbOpts:{kbExpr:T.editorTextFocus,primary:Ei(2089,2134),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);hX(t,!1,n)}}class qke extends Pn{constructor(){super({id:"editor.foldAll",label:H(993,"Fold All"),precondition:vn,kbOpts:{kbExpr:T.editorTextFocus,primary:Ei(2089,2069),weight:100}})}invoke(e,t,i){Ab(t,!0)}}class Kke extends Pn{constructor(){super({id:"editor.unfoldAll",label:H(994,"Unfold All"),precondition:vn,kbOpts:{kbExpr:T.editorTextFocus,primary:Ei(2089,2088),weight:100}})}invoke(e,t,i){Ab(t,!1)}}const OC=class OC extends Pn{getFoldingLevel(){return parseInt(this.id.substr(OC.ID_PREFIX.length))}invoke(e,t,i){mke(t,this.getFoldingLevel(),!0,this.getSelectedLines(i))}};OC.ID_PREFIX="editor.foldLevel",OC.ID=e=>OC.ID_PREFIX+e;let lD=OC;class Gke extends Pn{constructor(){super({id:"editor.gotoParentFold",label:H(995,"Go to Parent Fold"),precondition:vn,kbOpts:{kbExpr:T.editorTextFocus,weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);if(n.length>0){const s=_ke(n[0],t);s!==null&&i.setSelection({startLineNumber:s,startColumn:1,endLineNumber:s,endColumn:1})}}}class Zke extends Pn{constructor(){super({id:"editor.gotoPreviousFold",label:H(996,"Go to Previous Folding Range"),precondition:vn,kbOpts:{kbExpr:T.editorTextFocus,weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);if(n.length>0){const s=bke(n[0],t);s!==null&&i.setSelection({startLineNumber:s,startColumn:1,endLineNumber:s,endColumn:1})}}}class Yke extends Pn{constructor(){super({id:"editor.gotoNextFold",label:H(997,"Go to Next Folding Range"),precondition:vn,kbOpts:{kbExpr:T.editorTextFocus,weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);if(n.length>0){const s=Cke(n[0],t);s!==null&&i.setSelection({startLineNumber:s,startColumn:1,endLineNumber:s,endColumn:1})}}}class Xke extends Pn{constructor(){super({id:"editor.createFoldingRangeFromSelection",label:H(998,"Create Folding Range from Selection"),precondition:vn,kbOpts:{kbExpr:T.editorTextFocus,primary:Ei(2089,2135),weight:100}})}invoke(e,t,i){const n=[],s=i.getSelections();if(s){for(const r of s){let a=r.endLineNumber;r.endColumn===
Line truncated
|
||||
`);s===""&&this._isCopyingDown&&(this._startLineNumberDelta++,this._endLineNumberDelta++),this._noop?t.addEditOperation(new k(i.endLineNumber,e.getLineMaxColumn(i.endLineNumber),i.endLineNumber+1,1),i.endLineNumber===e.getLineCount()?"":`
|
||||
`):this._isCopyingDown?t.addEditOperation(new k(i.startLineNumber,1,i.startLineNumber,1),s+`
|
||||
`):t.addEditOperation(new k(i.endLineNumber,e.getLineMaxColumn(i.endLineNumber),i.endLineNumber,e.getLineMaxColumn(i.endLineNumber)),`
|
||||
`+s),this._selectionId=t.trackSelection(i),this._selectionDirection=this._selection.getDirection()}computeCursorState(e,t){let i=t.getTrackedSelection(this._selectionId);if(this._startLineNumberDelta!==0||this._endLineNumberDelta!==0){let n=i.startLineNumber,s=i.startColumn,r=i.endLineNumber,a=i.endColumn;this._startLineNumberDelta!==0&&(n=n+this._startLineNumberDelta,s=1),this._endLineNumberDelta!==0&&(r=r+this._endLineNumberDelta,a=1),i=le.createWithDirection(n,s,r,a,this._selectionDirection)}return i}}function Eo(o,e){let t=0;for(let i=0;i<o.length;i++)o.charAt(i)===" "?t+=e:t++;return t}function C0(o,e,t){o=o<0?0:o;let i="";if(!t){const n=Math.floor(o/e);o=o%e;for(let s=0;s<n;s++)i+=" "}for(let n=0;n<o;n++)i+=" ";return i}var AIe=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},PIe=function(o,e){return function(t,i){e(t,i,o)}};let d3=class{constructor(e,t,i,n){this._languageConfigurationService=n,this._selection=e,this._isMovingDown=t,this._autoIndent=i,this._selectionId=null,this._moveEndLineSelectionShrink=!1}getEditOperations(e,t){const i=()=>e.getLanguageId(),n=(h,u)=>e.getLanguageIdAtPosition(h,u),s=e.getLineCount();if(this._isMovingDown&&this._selection.endLineNumber===s){this._selectionId=t.trackSelection(this._selection);return}if(!this._isMovingDown&&this._selection.startLineNumber===1){this._selectionId=t.trackSelection(this._selection);return}this._moveEndPositionDown=!1;let r=this._selection;r.startLineNumber<r.endLineNumber&&r.endColumn===1&&(this._moveEndPositionDown=!0,r=r.setEndPosition(r.endLineNumber-1,e.getLineMaxColumn(r.endLineNumber-1)));const{tabSize:a,indentSize:l,insertSpaces:c}=e.getOptions(),d=this.buildIndentConverter(a,l,c);if(r.startLineNumber===r.endLineNumber&&e.getLineMaxColumn(r.startLineNumber)===1){const h=r.startLineNumber,u=this._isMovingDown?h+1:h-1;e.getLineMaxColumn(u)===1?t.addEditOperation(new k(1,1,1,1),null):(t.addEditOperation(new k(h,1,h,1),e.getLineContent(u)),t.addEditOperation(new k(u,1,u,e.getLineMaxColumn(u)),null)),r=new le(u,1,u,1)}else{let h,u;if(this._isMovingDown){h=r.endLineNumber+1,u=e.getLineContent(h),t.addEditOperation(new k(h-1,e.getLineMaxColumn(h-1),h,e.getLineMaxColumn(h)),null);let f=u;if(this.shouldAutoIndent(e,r)){const g=this.matchEnterRule(e,d,a,h,r.startLineNumber-1);if(g!==null){const _=It(e.getLineContent(h)),b=g+Eo(_,a);f=C0(b,a,c)+this.trimStart(u)}else{const _={tokenization:{getLineTokens:C=>C===r.startLineNumber?e.tokenization.getLineTokens(h):e.tokenization.getLineTokens(C),getLanguageId:i,getLanguageIdAtPosition:n},getLineContent:C=>C===r.startLineNumber?e.getLineContent(h):e.getLineContent(C)},b=zv(this._autoIndent,_,e.getLanguageIdAtPosition(h,1),r.startLineNumber,d,this._languageConfigurationService);if(b!==null){const C=It(e.getLineContent(h)),w=Eo(b,a),v=Eo(C,a);w!==v&&(f=C0(w,a,c)+this.trimStart(u))}}t.addEditOperation(new k(r.startLineNumber,1,r.startLineNumber,1),f+`
|
||||
`);const p=this.matchEnterRuleMovingDown(e,d,a,r.startLineNumber,h,f);if(p!==null)p!==0&&this.getIndentEditsOfMovingBlock(e,t,r,a,c,p);else{const _={tokenization:{getLineTokens:C=>C===r.startLineNumber?e.tokenization.getLineTokens(h):C>=r.startLineNumber+1&&C<=r.endLineNumber+1?e.tokenization.getLineTokens(C-1):e.tokenization.getLineTokens(C),getLanguageId:i,getLanguageIdAtPosition:n},getLineContent:C=>C===r.startLineNumber?f:C>=r.startLineNumber+1&&C<=r.endLineNumber+1?e.getLineContent(C-1):e.getLineContent(C)},b=zv(this._autoIndent,_,e.getLanguageIdAtPosition(h,1),r.startLineNumber+1,d,this._languageConfigurationService);if(b!==null){const C=It(e.getLineContent(r.startLineNumber)),w=Eo(b,a),v=Eo(C,a);if(w!==v){const S=w-v;this.getIndentEditsOfMovingBlock(e,t,r,a,c,S)}}}}else t.addEditOperation(new k(r.startLineNumber,1,r.startLineNumber,1),f+`
|
||||
`)}else if(h=r.startLineNumber-1,u=e.getLineContent(h),t.addEditOperation(new k(h,1,h+1,1),null),t.addEditOperation(new k(r.endLineNumber,e.getLineMaxColumn(r.endLineNumber),r.endLineNumber,e.getLineMaxColumn(r.endLineNumber)),`
|
||||
`+u),this.shouldAutoIndent(e,r)){const f={tokenization:{getLineTokens:p=>p===h?e.tokenization.getLineTokens(r.startLineNumber):e.tokenization.getLineTokens(p),getLanguageId:i,getLanguageIdAtPosition:n},getLineContent:p=>p===h?e.getLineContent(r.startLineNumber):e.getLineContent(p)},g=this.matchEnterRule(e,d,a,r.startLineNumber,r.startLineNumber-2);if(g!==null)g!==0&&this.getIndentEditsOfMovingBlock(e,t,r,a,c,g);else{const p=zv(this._autoIndent,f,e.getLanguageIdAtPosition(r.startLineNumber,1),h,d,this._languageConfigurationService);if(p!==null){const _=It(e.getLineContent(r.startLineNumber)),b=Eo(p,a),C=Eo(_,a);if(b!==C){const w=b-C;this.getIndentEditsOfMovingBlock(e,t,r,a,c,w)}}}}}this._selectionId=t.trackSelection(r)}buildIndentConverter(e,t,i){return{shiftIndent:n=>kr.shiftIndent(n,n.length+1,e,t,i),unshiftIndent:n=>kr.unshiftIndent(n,n.length+1,e,t,i)}}parseEnterResult(e,t,i,n,s){if(s){let r=s.indentation;s.indentAction===Oi.None||s.indentAction===Oi.Indent?r=s.indentation+s.appendText:s.indentAction===Oi.IndentOutdent?r=s.indentation:s.indentAction===Oi.Outdent&&(r=t.unshiftIndent(s.indentation)+s.appendText);const a=e.getLineContent(n);if(this.trimStart(a).indexOf(this.trimStart(r))>=0){const l=It(e.getLineContent(n));let c=It(r);const d=FV(e,n,this._languageConfigurationService);d!==null&&d&2&&(c=t.unshiftIndent(c));const h=Eo(c,i),u=Eo(l,i);return h-u}}return null}matchEnterRuleMovingDown(e,t,i,n,s,r){if(Gr(r)>=0){const a=e.getLineMaxColumn(s),l=i_(this._autoIndent,e,new k(s,a,s,a),this._languageConfigurationService);return this.parseEnterResult(e,t,i,n,l)}else{let a=n-1;for(;a>=1;){const d=e.getLineContent(a);if(Gr(d)>=0)break;a--}if(a<1||n>e.getLineCount())return null;const l=e.getLineMaxColumn(a),c=i_(this._autoIndent,e,new k(a,l,a,l),this._languageConfigurationService);return this.parseEnterResult(e,t,i,n,c)}}matchEnterRule(e,t,i,n,s,r){let a=s;for(;a>=1;){let d;if(a===s&&r!==void 0?d=r:d=e.getLineContent(a),Gr(d)>=0)break;a--}if(a<1||n>e.getLineCount())return null;const l=e.getLineMaxColumn(a),c=i_(this._autoIndent,e,new k(a,l,a,l),this._languageConfigurationService);return this.parseEnterResult(e,t,i,n,c)}trimStart(e){return e.replace(/^\s+/,"")}shouldAutoIndent(e,t){if(this._autoIndent<4||!e.tokenization.isCheapToTokenize(t.startLineNumber))return!1;const i=e.getLanguageIdAtPosition(t.startLineNumber,1),n=e.getLanguageIdAtPosition(t.endLineNumber,1);return!(i!==n||this._languageConfigurationService.getLanguageConfiguration(i).indentRulesSupport===null)}getIndentEditsOfMovingBlock(e,t,i,n,s,r){for(let a=i.startLineNumber;a<=i.endLineNumber;a++){const l=e.getLineContent(a),c=It(l),h=Eo(c,n)+r,u=C0(h,n,s);u!==c&&(t.addEditOperation(new k(a,1,a,c.length+1),u),a===i.endLineNumber&&i.endColumn<=c.length+1&&u===""&&(this._moveEndLineSelectionShrink=!0))}}computeCursorState(e,t){let i=t.getTrackedSelection(this._selectionId);return this._moveEndPositionDown&&(i=i.setEndPosition(i.endLineNumber+1,1)),this._moveEndLineSelectionShrink&&i.startLineNumber<i.endLineNumber&&(i=i.setEndPosition(i.endLineNumber,2)),i}};d3=AIe([PIe(3,Qt)],d3);const PB=class PB{constructor(e,t){this.selection=e,this.descending=t,this.selectionId=null}getEditOperations(e,t){const i=OIe(e,this.selection,this.descending);i&&t.addEditOperation(i.range,i.text),this.selectionId=t.trackSelection(this.selection)}computeCursorState(e,t){return t.getTrackedSelection(this.selectionId)}static canRun(e,t,i){if(e===null)return!1;const n=DX(e,t,i);if(!n)return!1;for(let s=0,r=n.before.length;s<r;s++)if(n.before[s]!==n.after[s])return!0;return!1}};PB._COLLATOR=If.Collator();let v0=PB;function DX(o,e,t){const i=e.startLineNumber;let n=e.endLineNumber;if(e.endColumn===1&&n--,i>=n)return null;const s=[];for(let a=i;a<=n;a++)s.push(o.getLineContent(a));let r=s.slice(0);return r.sort(v0._COLLATOR.value.compare),t===!0&&(r=r.reverse()),{startLineNumber:i,endLineNumber:n,before:s,after:r}}function OIe(o,e,t){const i=DX(o,e,t);return i?gi.replace(new k(i.startLineNumber,1,i.endLineNumber,o.getLineMaxColumn(i.endLineNumber)),i.after.join(`
|
||||
`)):null}class EX extends ce{constructor(e,t){super(t),this.down=e}run(e,t){if(!t.hasModel())return;const i=t.getSelections().map((r,a)=>({selection:r,index:a,ignore:!1}));i.sort((r,a)=>k.compareRangesUsingStarts(r.selection,a.selection));let n=i[0];for(let r=1;r<i.length;r++){const a=i[r];n.selection.endLineNumber===a.selection.startLineNumber&&(n.index<a.index?a.ignore=!0:(n.ignore=!0,n=a))}const s=[];for(const r of i)s.push(new IX(r.selection,this.down,r.ignore));t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}class FIe extends EX{constructor(){super(!1,{id:"editor.action.copyLinesUpAction",label:H(1249,"Copy Line Up"),precondition:T.writable,kbOpts:{kbExpr:T.editorTextFocus,primary:1552,linux:{primary:3600},weight:100},menuOpts:{menuId:ue.MenubarSelectionMenu,group:"2_line",title:m(1244,"&&Copy Line Up"),order:1},canTriggerInlineEdits:!0})}}class WIe extends EX{constructor(){super(!0,{id:"editor.action.copyLinesDownAction",label:H(1250,"Copy Line Down"),precondition:T.writable,kbOpts:{kbExpr:T.editorTextFocus,primary:1554,linux:{primary:3602},weight:100},menuOpts:{menuId:ue.MenubarSelectionMenu,group:"2_line",title:m(1245,"Co&&py Line Down"),order:2},canTriggerInlineEdits:!0})}}class BIe extends ce{constructor(){super({id:"editor.action.duplicateSelection",label:H(1251,"Duplicate Selection"),precondition:T.writable,menuOpts:{menuId:ue.MenubarSelectionMenu,group:"2_line",title:m(1246,"&&Duplicate Selection"),order:5},canTriggerInlineEdits:!0})}run(e,t,i){if(!t.hasModel())return;const n=[],s=t.getSelections(),r=t.getModel();for(const a of s)if(a.isEmpty())n.push(new IX(a,!0));else{const l=new le(a.endLineNumber,a.endColumn,a.endLineNumber,a.endColumn);n.push(new are(l,r.getValueInRange(a)))}t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop()}}class NX extends ce{constructor(e,t){super(t),this.down=e}run(e,t){const i=e.get(Qt),n=[],s=t.getSelections()||[],r=t.getOption(16);for(const a of s)n.push(new d3(a,this.down,r,i));t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop()}}class HIe extends NX{constructor(){super(!1,{id:"editor.action.moveLinesUpAction",label:H(1252,"Move Line Up"),precondition:T.writable,kbOpts:{kbExpr:T.editorTextFocus,primary:528,linux:{primary:528},weight:100},menuOpts:{menuId:ue.MenubarSelectionMenu,group:"2_line",title:m(1247,"Mo&&ve Line Up"),order:3},canTriggerInlineEdits:!0})}}class VIe extends NX{constructor(){super(!0,{id:"editor.action.moveLinesDownAction",label:H(1253,"Move Line Down"),precondition:T.writable,kbOpts:{kbExpr:T.editorTextFocus,primary:530,linux:{primary:530},weight:100},menuOpts:{menuId:ue.MenubarSelectionMenu,group:"2_line",title:m(1248,"Move &&Line Down"),order:4},canTriggerInlineEdits:!0})}}class TX extends ce{constructor(e,t){super(t),this.descending=e}run(e,t){if(!t.hasModel())return;const i=t.getModel();let n=t.getSelections();n.length===1&&n[0].isEmpty()&&(n=[new le(1,1,i.getLineCount(),i.getLineMaxColumn(i.getLineCount()))]);for(const r of n)if(!v0.canRun(t.getModel(),r,this.descending))return;const s=[];for(let r=0,a=n.length;r<a;r++)s[r]=new v0(n[r],this.descending);t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}class zIe extends TX{constructor(){super(!1,{id:"editor.action.sortLinesAscending",label:H(1254,"Sort Lines Ascending"),precondition:T.writable,canTriggerInlineEdits:!0})}}class UIe extends TX{constructor(){super(!0,{id:"editor.action.sortLinesDescending",label:H(1255,"Sort Lines Descending"),precondition:T.writable,canTriggerInlineEdits:!0})}}class $Ie extends ce{constructor(){super({id:"editor.action.removeDuplicateLines",label:H(1256,"Delete Duplicate Lines"),precondition:T.writable,canTriggerInlineEdits:!0})}run(e,t){if(!t.hasModel())return;const i=t.getModel();if(i.getLineCount()===1&&i.getLineMaxColumn(1)===1)return;const n=[],s=[];let r=0,a=!0,l=t.getSelections();l.length===1&&l[0].isEmpty()&&(l=[new le(1,1,i.getLineCount(),i.getLineMaxColumn(i.getLineCount()))],a=!1);for(const c of l){const d=new Set,h=[];for(let p=c.startLineNumber;p<=c.endLineNumber;p++){const _=i.getLineContent(p);d.has(_)||(h.push(_),d.add(_))}const u=new le(c.startLineNumber,1,c.endLineNumber,i.getLineMaxColumn(c.endLineNumber)),f=c.startLineNumber-r,g=new le(f,1,f+h.length-1,h[h.length-1].length);n.push(gi.replace(u,h.join(`
|
||||
`))),s.push(g),r+=c.endLineNumber-c.startLineNumber+1-h.length}t.pushUndoStop(),t.executeEdits(this.id,n,a?s:void 0),t.pushUndoStop()}}class jIe extends ce{constructor(){super({id:"editor.action.reverseLines",label:H(1257,"Reverse lines"),precondition:T.writable,canTriggerInlineEdits:!0})}run(e,t){if(!t.hasModel())return;const i=t.getModel(),n=t.getSelections();let s=n;s.length===1&&s[0].isEmpty()&&(s=[new le(1,1,i.getLineCount(),i.getLineMaxColumn(i.getLineCount()))]);const r=[],a=[];for(let l=0;l<s.length;l++){const c=s[l],d=n[l];let h=c.endLineNumber;c.startLineNumber<c.endLineNumber&&c.endColumn===1&&h--;let u=new k(c.startLineNumber,1,h,i.getLineMaxColumn(h));h===i.getLineCount()&&i.getLineContent(u.endLineNumber)===""&&(u=u.setEndPosition(u.endLineNumber-1,i.getLineMaxColumn(u.endLineNumber-1)));const f=[];for(let b=u.endLineNumber;b>=u.startLineNumber;b--)f.push(i.getLineContent(b));const g=gi.replace(u,f.join(`
|
||||
`));r.push(g);const p=function(b){return b<=u.endLineNumber?u.endLineNumber-b+u.startLineNumber:b},_=function(b){if(b.isEmpty())return new le(p(b.positionLineNumber),b.positionColumn,p(b.positionLineNumber),b.positionColumn);{const C=p(b.selectionStartLineNumber),w=p(b.positionLineNumber),v=b.selectionStartColumn,S=b.positionColumn;return new le(C,v,w,S)}};a.push(_(d))}t.pushUndoStop(),t.executeEdits(this.id,r,a),t.pushUndoStop()}}const nT=class nT extends ce{constructor(){super({id:nT.ID,label:H(1258,"Trim Trailing Whitespace"),precondition:T.writable,kbOpts:{kbExpr:T.editorTextFocus,primary:Ei(2089,2102),weight:100}})}run(e,t,i){let n=[];i.reason==="auto-save"&&(n=(t.getSelections()||[]).map(d=>new M(d.positionLineNumber,d.positionColumn)));const s=t.getSelection();if(s===null)return;const r=e.get(Me),a=t.getModel(),l=r.getValue("files.trimTrailingWhitespaceInRegexAndStrings",{overrideIdentifier:a?.getLanguageId(),resource:a?.uri}),c=new RIe(s,n,l);t.pushUndoStop(),t.executeCommands(this.id,[c]),t.pushUndoStop()}};nT.ID="editor.action.trimTrailingWhitespace";let h3=nT;class qIe extends ce{constructor(){super({id:"editor.action.deleteLines",label:H(1259,"Delete Line"),precondition:T.writable,kbOpts:{kbExpr:T.textInputFocus,primary:3113,weight:100},canTriggerInlineEdits:!0})}run(e,t){if(!t.hasModel())return;const i=this._getLinesToRemove(t),n=t.getModel();if(n.getLineCount()===1&&n.getLineMaxColumn(1)===1)return;let s=0;const r=[],a=[];for(let l=0,c=i.length;l<c;l++){const d=i[l];let h=d.startLineNumber,u=d.endLineNumber,f=1,g=n.getLineMaxColumn(u);u<n.getLineCount()?(u+=1,g=1):h>1&&(h-=1,f=n.getLineMaxColumn(h)),r.push(gi.replace(new le(h,f,u,g),"")),a.push(new le(h-s,d.positionColumn,h-s,d.positionColumn)),s+=d.endLineNumber-d.startLineNumber+1}t.pushUndoStop(),t.executeEdits(this.id,r,a),t.pushUndoStop()}_getLinesToRemove(e){const t=e.getSelections().map(s=>{let r=s.endLineNumber;return s.startLineNumber<s.endLineNumber&&s.endColumn===1&&(r-=1),{startLineNumber:s.startLineNumber,selectionStartColumn:s.selectionStartColumn,endLineNumber:r,positionColumn:s.positionColumn}});t.sort((s,r)=>s.startLineNumber===r.startLineNumber?s.endLineNumber-r.endLineNumber:s.startLineNumber-r.startLineNumber);const i=[];let n=t[0];for(let s=1;s<t.length;s++)n.endLineNumber+1>=t[s].startLineNumber?n.endLineNumber=t[s].endLineNumber:(i.push(n),n=t[s]);return i.push(n),i}}class KIe extends ce{constructor(){super({id:"editor.action.indentLines",label:H(1260,"Indent Line"),precondition:T.writable,kbOpts:{kbExpr:T.editorTextFocus,primary:2142,weight:100},canTriggerInlineEdits:!0})}run(e,t){const i=t._getViewModel();i&&(t.pushUndoStop(),t.executeCommands(this.id,Ch.indent(i.cursorConfig,t.getModel(),t.getSelections())),t.pushUndoStop())}}class GIe extends ce{constructor(){super({id:"editor.action.outdentLines",label:H(1261,"Outdent Line"),precondition:T.writable,kbOpts:{kbExpr:T.editorTextFocus,primary:2140,weight:100},canTriggerInlineEdits:!0})}run(e,t){o_.Outdent.runEditorCommand(e,t,null)}}const sT=class sT extends ce{constructor(){super({id:sT.ID,label:H(1262,"Insert Line Above"),precondition:T.writable,kbOpts:{kbExpr:T.editorTextFocus,primary:3075,weight:100},canTriggerInlineEdits:!0})}run(e,t){const i=t._getViewModel();i&&(t.pushUndoStop(),t.executeCommands(this.id,bL.lineInsertBefore(i.cursorConfig,t.getModel(),t.getSelections())))}};sT.ID="editor.action.insertLineBefore";let gD=sT;const oT=class oT extends ce{constructor(){super({id:oT.ID,label:H(1263,"Insert Line Below"),precondition:T.writable,kbOpts:{kbExpr:T.editorTextFocus,primary:2051,weight:100},canTriggerInlineEdits:!0})}run(e,t){const i=t._getViewModel();i&&(t.pushUndoStop(),t.executeCommands(this.id,bL.lineInsertAfter(i.cursorConfig,t.getModel(),t.getSelections())))}};oT.ID="editor.action.insertLineAfter";let pD=oT;class RX extends ce{run(e,t){if(!t.hasModel())return;const i=t.getSelection(),n=this._getRangesToDelete(t),s=[];for(let l=0,c=n.length-1;l<c;l++){const d=n[l],h=n[l+1];k.intersectRanges(d,h)===null?s.push(d):n[l+1]=k.plusRange(d,h)}s.push(n[n.length-1]);const r=this._getEndCursorState(i,s),a=s.map(l=>gi.replace(l,""));t.pushUndoStop(),t.executeEdits(this.id,a,r),t.pushUndoStop()}}class ZIe extends RX{constructor(){super({id:"deleteAllLeft",label:H(1264,"Delete All Left"),precondition:T.writable,kbOpts:{kbExpr:T.textInputFocus,primary:0,mac:{primary:2049},weight:100},canTriggerInlineEdits:!0})}_getEndCursorState(e,t){let i=null;const n=[];let s=0;return t.forEach(r=>{let a;if(r.endColumn===1&&s>0){const l=r.startLineNumber-s;a=new le(l,r.startColumn,l,r.startColumn)}else a=new le(r.startLineNumber,r.startColumn,r.startLineNumber,r.startColumn);s+=r.endLineNumber-r.startLineNumber,r.intersectRanges(e)?i=a:n.push(a)}),i&&n.unshift(i),n}_getRangesToDelete(e){const t=e.getSelections();if(t===null)return[];let i=t;const n=e.getModel();return n===null?[]:(i.sort(k.compareRangesUsingStarts),i=i.map(s=>{if(s.isEmpty())if(s.startColumn===1){const r=Math.max(1,
Line truncated
|
||||
`)))]).applyToString(i).substring(this.parts[0].column-1)}isEmpty(){return this.parts.every(e=>e.lines.length===0)}get lineCount(){return 1+this.parts.reduce((e,t)=>e+t.lines.length-1,0)}}class ID{constructor(e,t,i,n=[]){this.column=e,this.text=t,this.preview=i,this._inlineDecorations=n,this.lines=lo(this.text).map((s,r)=>({line:s,lineDecorations:as.filter(this._inlineDecorations,r+1,1,s.length+1)}))}equals(e){return this.column===e.column&&this.lines.length===e.lines.length&&this.lines.every((t,i)=>t.line===e.lines[i].line&&as.equalsArr(t.lineDecorations,e.lines[i].lineDecorations))}}class g3{constructor(e,t,i,n=0){this.lineNumber=e,this.columnRange=t,this.text=i,this.additionalReservedLineCount=n,this.parts=[new ID(this.columnRange.endColumnExclusive,this.text,!1)],this.newLines=lo(this.text)}renderForScreenReader(e){return this.newLines.join(`
|
||||
`)}get lineCount(){return this.newLines.length}isEmpty(){return this.parts.every(e=>e.lines.length===0)}equals(e){return this.lineNumber===e.lineNumber&&this.columnRange.equals(e.columnRange)&&this.newLines.length===e.newLines.length&&this.newLines.every((t,i)=>t===e.newLines[i])&&this.additionalReservedLineCount===e.additionalReservedLineCount}}function qX(o,e){return Ut(o,e,KX)}function KX(o,e){return o===e?!0:!o||!e?!1:o instanceof L0&&e instanceof L0||o instanceof g3&&e instanceof g3?o.equals(e):!1}function Od(o,e,t){const i=t?o.range.intersectRanges(t):o.range;if(!i)return o;const n=o.text.replaceAll(`\r
|
||||
`,`
|
||||
`),s=e.getValueInRange(i,1),r=Zr(s,n),a=Ki.ofText(s.substring(0,r)).addToPosition(o.range.getStartPosition()),l=n.substring(r),c=k.fromPositions(a,o.range.getEndPosition());return new Ti(c,l)}function GX(o,e){return o.text.startsWith(e.text)&&SDe(o.range,e.range)}function SDe(o,e){return e.getStartPosition().equals(o.getStartPosition())&&e.getEndPosition().isBeforeOrEqual(o.getEndPosition())}function ZX(o,e,t,i,n=0){let s=Od(o,e);if(s.range.endLineNumber!==s.range.startLineNumber)return;const r=e.getLineContent(s.range.startLineNumber),a=It(r).length;if(s.range.startColumn-1<=a){const g=It(s.text).length,p=r.substring(s.range.startColumn-1,a),[_,b]=[s.range.getStartPosition(),s.range.getEndPosition()],C=_.column+p.length<=b.column?_.delta(0,p.length):b,w=k.fromPositions(C,b),v=s.text.startsWith(p)?s.text.substring(p.length):s.text.substring(g);s=new Ti(w,v)}const c=e.getValueInRange(s.range),d=yDe(c,s.text);if(!d)return;const h=s.range.startLineNumber,u=new Array;if(t==="prefix"){const g=d.filter(p=>p.originalLength===0);if(g.length>1||g.length===1&&g[0].originalStart!==c.length)return}const f=s.text.length-n;for(const g of d){const p=s.range.startColumn+g.originalStart+g.originalLength;if(t==="subwordSmart"&&i&&i.lineNumber===s.range.startLineNumber&&p<i.column||g.originalLength>0)return;if(g.modifiedLength===0)continue;const _=g.modifiedStart+g.modifiedLength,b=Math.max(g.modifiedStart,Math.min(_,f)),C=s.text.substring(g.modifiedStart,b),w=s.text.substring(b,Math.max(g.modifiedStart,_));C.length>0&&u.push(new ID(p,C,!1)),w.length>0&&u.push(new ID(p,w,!0))}return new L0(h,u)}let DD;function yDe(o,e){if(DD?.originalValue===o&&DD?.newValue===e)return DD?.changes;{let t=XX(o,e,!0);if(t){const i=YX(t);if(i>0){const n=XX(o,e,!1);n&&YX(n)<i&&(t=n)}}return DD={originalValue:o,newValue:e,changes:t},t}}function YX(o){let e=0;for(const t of o)e+=t.originalLength;return e}function XX(o,e,t){if(o.length>5e3||e.length>5e3)return;function i(c){let d=0;for(let h=0,u=c.length;h<u;h++){const f=c.charCodeAt(h);f>d&&(d=f)}return d}const n=Math.max(i(o),i(e));function s(c){if(c<0)throw new Error("unexpected");return n+c+1}function r(c){let d=0,h=0;const u=new Int32Array(c.length);for(let f=0,g=c.length;f<g;f++)if(t&&c[f]==="("){const p=h*100+d;u[f]=s(2*p),d++}else if(t&&c[f]===")"){d=Math.max(d-1,0);const p=h*100+d;u[f]=s(2*p+1),d===0&&h++}else u[f]=c.charCodeAt(f);return u}const a=r(o),l=r(e);return new jl({getElements:()=>a},{getElements:()=>l}).ComputeDiff(!1).changes}function LDe(o,e){let t,i=!1;const n=new rH(new xn(o,void 0,e.update),(s,r)=>{i||(t=e.initial instanceof Function?e.initial():e.initial,i=!0);const a=e.update(s,t,r);return t=a,a},e.changeTracker,()=>{i&&(e.disposeFinal?.(t),i=!1)},e.equalityComparer??Ao,(s,r,a)=>{if(!i)throw new Ce("Can only set when there is a listener! This is to prevent leaks.");Bm(r,l=>{t=s,n.setValue(s,l,a)})},Ui.ofCaller());return n}var xDe=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},QX=function(o,e){return function(t,i){e(t,i,o)}};class kDe{constructor(e,t){this._baseService=e,this._intercept=t}publicLog2(e,t){this._intercept(e,t),this._baseService.publicLog2(e,t)}}let p3=class extends kDe{constructor(e,t){super(e,(i,n)=>{let s=!0;n&&m3 in n&&(s=!!n[m3]),s&&t.getDataChannel("editTelemetry").sendData({eventName:i,data:n??{}})})}};p3=xDe([QX(0,$n),QX(1,u3)],p3);const m3=Symbol("shouldForwardToChannel");function IDe(o){return{[m3]:o}}function JX(o){if(!o)return!1;const e=o.toLowerCase();return e==="github.copilot"||e==="github.copilot-chat"}function DDe(o){const e=o.map(i=>new Cn(ge.ofStartAndLength(i.rangeOffset,i.rangeLength),i.text));return e.reverse(),new Xc(e)}function EDe(o,e){o.publicLog2("inlineCompletion.endOfLife",e)}const NDe=3;class TDe{computeDiff(e,t,i){const s=new ADe(e,t,{maxComputationTime:i.maxComputationTimeMs,shouldIgnoreTrimWhitespace:i.ignoreTrimWhitespace,shouldComputeCharChanges:!0,shouldMakePrettyDiff:!0,shouldPostProcessCharChanges:!0}).computeDiff(),r=[];let a=null;for(const l of s.changes){let c;l.originalEndLineNumber===0?c=new Ie(l.originalStartLineNumber+1,l.originalStartLineNumber+1):c=new Ie(l.originalStartLineNumber,l.originalEndLineNumber+1);let d;l.modifiedEndLineNumber===0?d=new Ie(l.modifiedStartLineNumber+1,l.modifiedStartLineNumber+1):d=new Ie(l.modifiedStartLineNumber,l.modifiedEndLineNumber+1);let h=new Go(c,d,l.charChanges?.map(u=>new Ns(new k(u.originalStartLineNumber,u.originalStartColumn,u.originalEndLineNumber,u.originalEndColumn),new k(u.modifiedStartLineNumber,u.modifiedStartColumn,u.modifiedEndLineNumber,u.modifiedEndColumn))));a&&(a.modified.endLineNumberExclusive===h.modified.startLineNumber||a.original.endLineNumberExclusive===h.original.startLineNumber)&&(h=n
Line truncated
|
||||
`)))this._editor.revealPosition(n);else{const r=new k(i.startLineNumber-1,1,i.endLineNumber+1,1);this._editor.revealRange(r,1)}e.inlineCompletion.identity.setJumpTo(t),this._editor.focus()})}async handleInlineSuggestionShown(e,t,i){await e.reportInlineEditShown(this._commandService,t,i)}};D3=nEe([tp(7,pe),tp(8,Rt),tp(9,Qt),tp(10,bn),tp(11,he),tp(12,tt),tp(13,TD)],D3);var Fd;(function(o){o[o.Undo=0]="Undo",o[o.Redo=1]="Redo",o[o.AcceptWord=2]="AcceptWord",o[o.Other=3]="Other"})(Fd||(Fd={}));function E3(o,e,t){if(e.length===1)return[];const i=new yg(o),n=i.getTransformer(),s=n.getOffset(e[0]),r=e.slice(1).map(u=>n.getOffset(u));t=t.removeCommonPrefixAndSuffix(i);const a=n.getStringReplacement(t),l=a.replaceRange.start-s,c=a.replaceRange.join(ge.emptyAt(s)),d=i.getValueOfOffsetRange(c);return r.map(u=>{const f=u+l,g=f+a.replaceRange.length,p=new ge(f,g),_=p.join(ge.emptyAt(u));if(i.getValueOfOffsetRange(_)!==d)return;const C=new Cn(p,a.newText);return n.getTextReplacement(C)}).filter(rn)}class sEe extends P{constructor(e,t,i){super(),i&&this._register({dispose:()=>i()}),this._register(Jt(e).setDecorations(Et(t.map(r=>({range:r,options:{description:"animation",className:"edits-fadeout-decoration",zIndex:1}})))));const n=new bDe(1,0,1e3,vDe),s=new wDe(n);this._register(Se(r=>{const a=s.getValue(r);e.getContainerDomNode().style.setProperty("--animation-opacity",a.toString()),n.isFinished()&&this.dispose()}))}}function oEe(o,e){const t=e.targetRange,i=o.getVisibleRanges();return i.length<1?!1:new k(i[0].startLineNumber,i[0].startColumn,i[i.length-1].endLineNumber,i[i.length-1].endColumn).containsRange(t)}var rEe=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},hQ=function(o,e){return function(t,i){e(t,i,o)}},N0;class N3{constructor(e){this.name=e}select(e,t,i){if(i.length===0)return 0;const n=i[0].score[0];for(let s=0;s<i.length;s++){const{score:r,completion:a}=i[s];if(r[0]!==n)break;if(a.preselect)return s}return 0}}class uQ extends N3{constructor(){super("first")}memorize(e,t,i){}toJSON(){}fromJSON(){}}class aEe extends N3{constructor(){super("recentlyUsed"),this._cache=new Yr(300,.66),this._seq=0}memorize(e,t,i){const n=`${e.getLanguageId()}/${i.textLabel}`;this._cache.set(n,{touch:this._seq++,type:i.completion.kind,insertText:i.completion.insertText})}select(e,t,i){if(i.length===0)return 0;const n=e.getLineContent(t.lineNumber).substr(t.column-10,t.column-1);if(/\s$/.test(n))return super.select(e,t,i);const s=i[0].score[0];let r=-1,a=-1,l=-1;for(let c=0;c<i.length&&i[c].score[0]===s;c++){const d=`${e.getLanguageId()}/${i[c].textLabel}`,h=this._cache.peek(d);if(h&&h.touch>l&&h.type===i[c].completion.kind&&h.insertText===i[c].completion.insertText&&(l=h.touch,a=c),i[c].completion.preselect&&r===-1)return r=c}return a!==-1?a:r!==-1?r:0}toJSON(){return this._cache.toJSON()}fromJSON(e){this._cache.clear();const t=0;for(const[i,n]of e)n.touch=t,n.type=typeof n.type=="number"?n.type:N_.fromString(n.type),this._cache.set(i,n);this._seq=this._cache.size}}class lEe extends N3{constructor(){super("recentlyUsedByPrefix"),this._trie=ab.forStrings(),this._seq=0}memorize(e,t,i){const{word:n}=e.getWordUntilPosition(t),s=`${e.getLanguageId()}/${n}`;this._trie.set(s,{type:i.completion.kind,insertText:i.completion.insertText,touch:this._seq++})}select(e,t,i){const{word:n}=e.getWordUntilPosition(t);if(!n)return super.select(e,t,i);const s=`${e.getLanguageId()}/${n}`;let r=this._trie.get(s);if(r||(r=this._trie.findSubstr(s)),r)for(let a=0;a<i.length;a++){const{kind:l,insertText:c}=i[a].completion;if(l===r.type&&c===r.insertText)return a}return super.select(e,t,i)}toJSON(){const e=[];return this._trie.forEach((t,i)=>e.push([i,t])),e.sort((t,i)=>-(t[1].touch-i[1].touch)).forEach((t,i)=>t[1].touch=i),e.slice(0,200)}fromJSON(e){if(this._trie.clear(),e.length>0){this._seq=e[0][1].touch+1;for(const[t,i]of e)i.type=typeof i.type=="number"?i.type:N_.fromString(i.type),this._trie.set(t,i)}}}let T3=(Uu=class{constructor(e,t){this._storageService=e,this._configService=t,this._disposables=new V,this._persistSoon=new vt(()=>this._saveState(),500),this._disposables.add(e.onWillSaveState(i=>{i.reason===Kh.SHUTDOWN&&this._saveState()}))}dispose(){this._disposables.dispose(),this._persistSoon.dispose()}memorize(e,t,i){this._withStrategy(e,t).memorize(e,t,i),this._persistSoon.schedule()}select(e,t,i){return this._withStrategy(e,t).select(e,t,i)}_withStrategy(e,t){const i=this._configService.getValue("editor.suggestSelection",{overrideIdentifier:e.getLanguageIdAtPosition(t.lineNumber,t.column),resource:e.uri});if(this._strategy?.name!==i){this._saveState();const n=N0._strategyCtors.get(i)||uQ;this._strategy=new n;try{const r=this._configService.getValue("editor.suggest.shareSugg
Line truncated
|
||||
`,s+=`prefix: ${e.word??"(no prefix)"}
|
||||
`,s+=`word: ${e.completion.filterText?e.completion.filterText+" (filterText)":e.textLabel}
|
||||
`,s+=`distance: ${e.distance} (localityBonus-setting)
|
||||
`,s+=`index: ${e.idx}, based on ${e.completion.sortText&&`sortText: "${e.completion.sortText}"`||"label"}
|
||||
`,s+=`commit_chars: ${e.completion.commitCharacters?.join("")}
|
||||
`,n=new Gn().appendCodeblock("empty",s),i=`Provider: ${e.provider._debugDisplayName}`}if(!t&&!F3(e)){this.clearContents();return}if(this.domNode.classList.remove("no-docs","no-type"),i){const s=i.length>1e5?`${i.substr(0,1e5)}…`:i;this._type.textContent=s,this._type.title=s,go(this._type),this._type.classList.toggle("auto-wrap",!/\r?\n^\s+/gmi.test(s))}else pn(this._type),this._type.title="",bs(this._type),this.domNode.classList.add("no-type");if(pn(this._docs),typeof n=="string")this._docs.classList.remove("markdown-docs"),this._docs.textContent=n;else if(n){this._docs.classList.add("markdown-docs"),pn(this._docs);const s=this._markdownRendererService.render(n,{context:this._editor,asyncRenderCallback:()=>{this.layout(this._size.width,this._type.clientHeight+this._docs.clientHeight),this._onDidChangeContents.fire(this)}});this._docs.appendChild(s.element),this._renderDisposeable.add(s)}this.domNode.classList.toggle("detail-and-doc",!!i&&!!n),this.domNode.style.userSelect="text",this.domNode.tabIndex=-1,this._close.onmousedown=s=>{s.preventDefault(),s.stopPropagation()},this._close.onclick=s=>{s.preventDefault(),s.stopPropagation(),this._onDidClose.fire()},this._body.scrollTop=0,this.layout(this._size.width,this._type.clientHeight+this._docs.clientHeight),this._onDidChangeContents.fire(this)}clearContents(){this.domNode.classList.add("no-docs"),this._type.textContent="",this._docs.textContent=""}get isEmpty(){return this.domNode.classList.contains("no-docs")}get size(){return this._size}layout(e,t){const i=new ut(e,t);ut.equals(i,this._size)||(this._size=i,Kse(this.domNode,e,t)),this._scrollbar.scanDomNode()}scrollDown(e=8){this._body.scrollTop+=e}scrollUp(e=8){this._body.scrollTop-=e}scrollTop(){this._body.scrollTop=0}scrollBottom(){this._body.scrollTop=this._body.scrollHeight}pageDown(){this.scrollDown(80)}pageUp(){this.scrollUp(80)}focus(){this.domNode.focus()}};W3=bEe([gQ(1,ii),gQ(2,oa)],W3);class CEe{constructor(e,t){this.widget=e,this._editor=t,this.allowEditorOverflow=!0,this._disposables=new V,this._added=!1,this._preferAlignAtTop=!0,this._resizable=new a5,this._resizable.domNode.classList.add("suggest-details-container"),this._resizable.domNode.appendChild(e.domNode),this._resizable.enableSashes(!1,!0,!0,!1);let i,n,s=0,r=0;this._disposables.add(this._resizable.onDidWillResize(()=>{i=this._topLeft,n=this._resizable.size})),this._disposables.add(this._resizable.onDidResize(a=>{if(i&&n){this.widget.layout(a.dimension.width,a.dimension.height);let l=!1;a.west&&(r=n.width-a.dimension.width,l=!0),a.north&&(s=n.height-a.dimension.height,l=!0),l&&this._applyTopLeft({top:i.top+s,left:i.left+r})}a.done&&(i=void 0,n=void 0,s=0,r=0,this._userSize=a.dimension)})),this._disposables.add(this.widget.onDidChangeContents(()=>{this._anchorBox&&this._placeAtAnchor(this._anchorBox,this._userSize??this.widget.size,this._preferAlignAtTop)}))}dispose(){this._resizable.dispose(),this._disposables.dispose(),this.hide()}getId(){return"suggest.details"}getDomNode(){return this._resizable.domNode}getPosition(){return this._topLeft?{preference:this._topLeft}:null}show(){this._added||(this._editor.addOverlayWidget(this),this._added=!0)}hide(e=!1){this._resizable.clearSashHoverState(),this._added&&(this._editor.removeOverlayWidget(this),this._added=!1,this._anchorBox=void 0,this._topLeft=void 0),e&&(this._userSize=void 0,this.widget.clearContents())}placeAtAnchor(e,t){const i=e.getBoundingClientRect();this._anchorBox=i,this._preferAlignAtTop=t,this._placeAtAnchor(this._anchorBox,this._userSize??this.widget.size,t)}_placeAtAnchor(e,t,i){const n=hh(this.getDomNode().ownerDocument.body),s=this.widget.getLayoutInfo(),r=new ut(220,2*s.lineHeight),a=e.top,l=(function(){const S=n.width-(e.left+e.width+s.borderWidth+s.horizontalPadding),L=-s.borderWidth+e.left+e.width,x=new ut(S,n.height-e.top-s.borderHeight-s.verticalPadding),I=x.with(void 0,e.top+e.height-s.borderHeight-s.verticalPadding);return{top:a,left:L,fit:S-t.width,maxSizeTop:x,maxSizeBottom:I,minSize:r.with(Math.min(S,r.width))}})(),c=(function(){const S=e.left-s.borderWidth-s.horizontalPadding,L=Math.max(s.horizontalPadding,e.left-t.width-s.borderWidth),x=new ut(S,n.height-e.top-s.borderHeight-s.verticalPadding),I=x.with(void 0,e.top+e.height-s.borderHeight-s.verticalPadding);return{top:a,left:L,fit:S-t.width,maxSizeTop:x,maxSizeBottom:I,minSize:r.with(Math.min(S,r.width))}})(),d=(function(){const S=e.left,L=-s.borderWidth+e.top+e.height,x=new ut(e.width-s.borderHeight,n.height-e.top-e.height-s.verticalPadding);return{top:L,left:S,fit:x.height-t.height,maxSizeBottom:x,maxSizeTop:x,minSize:r.with(x.width)}})(),h=[l,c,d],u=h.find(S=>S.fit>=0)??h.sort((S,L)=>L.fit-S.fit)[0],f=e.top+e.height-s.borderHeight;let g,p=t.height;const _=Math.max(u.maxSizeTop.height,u.maxSizeBottom.height);p>_&&(p=_);let b;i?p<=u.maxSizeTop.height?(g=!0,b=u.maxSizeTop):(g=!1,b=u.maxSizeBottom):p<=u.maxSizeBottom.height?(g=!1,b=u.maxSizeBottom):(g=!0,b=u.maxSizeTop);let{top:C,left:w}=u;!g&&p>e.height&
Line truncated
|
||||
`)&&d&&!x&&"diff-range-empty"),inlineClassName:x?n7("strike-through","inlineCompletions"):null,zIndex:1}})}if(L.modified.contains(I.modifiedRange.startLineNumber)&&u.push({range:I.modifiedRange,options:I.modifiedRange.isEmpty()&&d&&!x&&c?C:b}),x){const D=a.getValueOfRange(I.modifiedRange),R=D.length>3?[{text:D.slice(0,1),extraClasses:["start"],offsetRange:new ge(I.modifiedRange.startColumn-1,I.modifiedRange.startColumn)},{text:D.slice(1,-1),extraClasses:[],offsetRange:new ge(I.modifiedRange.startColumn,I.modifiedRange.endColumn-2)},{text:D.slice(-1),extraClasses:["end"],offsetRange:new ge(I.modifiedRange.endColumn-2,I.modifiedRange.endColumn-1)}]:[{text:D,extraClasses:["start","end"],offsetRange:new ge(I.modifiedRange.startColumn-1,I.modifiedRange.endColumn)}];this._tokenizationFinished.read(s);const O=this._modifiedTextModel.tokenization.getLineTokens(I.modifiedRange.startLineNumber);for(const{text:F,extraClasses:B,offsetRange:U}of R)h.push({range:k.fromPositions(I.originalRange.getEndPosition()),options:{description:"inserted-text",before:{tokens:O.getTokensInRange(U),content:F,inlineClassName:n7("inlineCompletions-char-insert",I.modifiedRange.isSingleLine()&&r.mode==="insertionInline"&&"single-line-inline",...B),cursorStops:xr.None,attachedData:new b7(this)},zIndex:2,showIfCollapsed:!0}})}}}if(r.isInDiffEditor)for(const L of r.diff)L.original.isEmpty||h.push({range:L.original.toExclusiveRange(),options:w});return{originalDecorations:h,modifiedDecorations:u}}),this._register(Jt(this._originalEditor).setDecorations(this._decorations.map(s=>s?.originalDecorations??[])));const n=this._state.map(s=>s?.modifiedCodeEditor);this._register(zn((s,r)=>{const a=n.read(s);a&&r.add(Jt(a).setDecorations(this._decorations.map(l=>l?.modifiedDecorations??[])))})),this._register(this._originalEditor.onMouseUp(s=>{if(s.target.type!==6)return;const r=s.target.detail.injectedText?.options.attachedData;r instanceof b7&&r.owner===this&&this._onDidClick.fire(s.event)}))}}class b7{constructor(e){this.owner=e}}function WNe(o){return o.innerChanges?o.innerChanges.every(e=>pk(e.modifiedRange)&&pk(e.originalRange)):!1}let BNe=0;function HNe(o){return at(o.onDidChangeTokens,()=>BNe++)}var VNe=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},zNe=function(o,e){return function(t,i){e(t,i,o)}};let C7=class extends P{constructor(e,t,i,n,s,r){super(),this._editor=e,this._host=t,this._model=i,this._ghostTextIndicator=n,this._focusIsInMenu=s,this._instantiationService=r,this._editorObs=Jt(this._editor),this._tabAction=$(d=>this._model.read(d)?.tabAction.read(d)??Jn.Inactive),this._constructorDone=xe(this,!1),this._uiState=$(this,d=>{const h=this._model.read(d);if(!h||!this._constructorDone.read(d))return;const u=h.inlineEdit;let f=Ns.fromEdit(u.edit),g=u.edit.apply(u.originalText),p=hk(f,u.originalText,new Th(g)),_=this.determineRenderState(h,d,p,new Th(g));if(!_){De(new Error(`unable to determine view: tried to render ${this._previousView?.view}`));return}if(_.kind===dt.SideBySide){const C=hNe(g,u.modifiedLineRange,l.getOptions().tabSize);g=C.applyToString(g),f=aNe(f,C),p=hk(f,u.originalText,new Th(g))}return this._previewTextModel.setLanguage(this._editor.getModel().getLanguageId()),this._previewTextModel.getValue()!==g&&this._previewTextModel.setValue(g),h.showCollapsed.read(d)&&!this._indicator.read(d)?.isHoverVisible.read(d)&&(_={kind:dt.Collapsed,viewData:_.viewData}),h.handleInlineEditShown(_.kind,_.viewData),{state:_,diff:p,edit:u,newText:g,newTextLineCount:u.modifiedLineRange.length,isInDiffEditor:h.isInDiffEditor}}),this._previewTextModel=this._register(this._instantiationService.createInstance(ig,"",this._editor.getModel().getLanguageId(),{...ig.DEFAULT_CREATION_OPTIONS,bracketPairColorizationOptions:{enabled:!0,independentColorPoolPerBracketType:!1}},null)),this._indicatorCyclicDependencyCircuitBreaker=xe(this,!1),this._indicator=$(this,d=>{if(!this._indicatorCyclicDependencyCircuitBreaker.read(d))return;const h=In({owner:this,equalsFn:uf(cM())},f=>{const g=this._ghostTextIndicator.read(f);if(g)return g.lineRange;const p=this._uiState.read(f);if(p){if(p.state?.kind==="custom"){const _=p.state.displayLocation?.range;if(!_)throw new Ce("custom view should have a range");return new Ie(_.startLineNumber,_.endLineNumber)}return p.state?.kind==="insertionMultiLine"?this._insertion.originalLines.read(f):p.edit.displayRange}}),u=$(this,f=>{const g=this._model.read(f);if(g)return g;const p=this._ghostTextIndicator.read(f);return p?p.model:g});return d.store.add(this._instantiationService.createInstance(a7,this._editorObs,h,this._gutterIndicatorOffset,u,this._inlineEditsIsHovered,this._focusIsInMenu))}),this._inlineEditsIsHovered=$(this,d=>this._sideBySide.isHovered.rea
Line truncated
|
||||
.monaco-editor .ghost-text-decoration,
|
||||
.monaco-editor .ghost-text-decoration-preview,
|
||||
.monaco-editor .ghost-text {
|
||||
font-family: ${this._fontFamily.read(s)};
|
||||
}`))),this._register(new s5(this._editor,this._model,this._instantiationService))}shouldShowHoverAtViewZone(e){return this._ghostTextWidgets.get()[0]?.get().ownsViewZone(e)??!1}};w7=ZNe([YNe(3,pe)],w7);var XNe=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Vd=function(o,e){return function(t,i){e(t,i,o)}},Ql;let No=(mc=class extends P{static getInFocusedEditorOrParent(e){const t=GZ(e);return t?Ql.get(t):null}static get(e){return gIe(e.getContribution(Ql.ID))}constructor(e,t,i,n,s,r,a,l,c,d){super(),this.editor=e,this._instantiationService=t,this._contextKeyService=i,this._configurationService=n,this._commandService=s,this._debounceService=r,this._languageFeaturesService=a,this._accessibilitySignalService=l,this._keybindingService=c,this._accessibilityService=d,this._editorObs=Jt(this.editor),this._positions=$(this,p=>this._editorObs.selections.read(p)?.map(_=>_.getEndPosition())??[new M(1,1)]),this._suggestWidgetAdapter=this._register(new PEe(this._editorObs,p=>this.model.get()?.handleSuggestAccepted(p),()=>this.model.get()?.selectedInlineCompletion.get()?.getSingleTextEdit())),this._enabledInConfig=at(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(71).enabled),this._isScreenReaderEnabled=at(this,this._accessibilityService.onDidChangeScreenReaderOptimized,()=>this._accessibilityService.isScreenReaderOptimized()),this._editorDictationInProgress=at(this,this._contextKeyService.onDidChangeContext,()=>this._contextKeyService.getContext(this.editor.getDomNode()).getValue("editorDictation.inProgress")===!0),this._enabled=$(this,p=>this._enabledInConfig.read(p)&&(!this._isScreenReaderEnabled.read(p)||!this._editorDictationInProgress.read(p))),this._debounceValue=this._debounceService.for(this._languageFeaturesService.inlineCompletionsProvider,"InlineCompletionsDebounce",{min:50,max:50}),this._focusIsInMenu=xe(this,!1),this._focusIsInEditorOrMenu=$(this,p=>{const _=this._editorObs.isFocused.read(p),b=this._focusIsInMenu.read(p);return _||b}),this._cursorIsInIndentation=$(this,p=>{const _=this._editorObs.cursorPosition.read(p);if(_===null)return!1;const b=this._editorObs.model.read(p);if(!b)return!1;this._editorObs.versionId.read(p);const C=b.getLineIndentColumn(_.lineNumber);return _.column<=C}),this.model=br(this,p=>{if(this._editorObs.isReadonly.read(p))return;const _=this._editorObs.model.read(p);return _?this._instantiationService.createInstance(D3,_,this._suggestWidgetAdapter.selectedItem,this._editorObs.versionId,this._positions,this._debounceValue,this._enabled,this.editor):void 0}).recomputeInitiallyAndOnChange(this._store),this._playAccessibilitySignal=Cr(this),this._hideInlineEditOnSelectionChange=this._editorObs.getOption(71).map(p=>!0),this._view=this._register(this._instantiationService.createInstance(w7,this.editor,this.model,this._focusIsInMenu)),Ql._instances.add(this),this._register(fe(()=>Ql._instances.delete(this))),this._register(Se(p=>{const _=this.model.read(p);if(!_)return;const b=_.state.read(p);if(!b||!this._focusIsInEditorOrMenu.read(void 0))return;const C=b.kind==="inlineEdit"?b.nextEditUri:void 0;for(const w of Ql._instances)w!==this&&(C&&gh(C,w.editor.getModel()?.uri)?w.model.read(void 0)?.trigger():w.reject())})),this._register(Se(p=>{const _=this.model.read(p),b=this.editor.getModel()?.uri;!_||!b||p.store.add(_.onDidAccept(()=>{for(const C of Ql._instances){if(C===this)continue;const w=C.model.read(void 0)?.state.read(void 0);w?.kind==="inlineEdit"&&gh(w.nextEditUri,b)&&C.model.read(void 0)?.stop("automatic")}}))})),this._register(ka(this._editorObs.onDidType,(p,_)=>{this._enabled.get()&&this.model.get()?.trigger()})),this._register(ka(this._editorObs.onDidPaste,(p,_)=>{this._enabled.get()&&this.model.get()?.trigger()}));const h=new Set([o_.Tab.id,o_.DeleteLeft.id,o_.DeleteRight.id,zw,"acceptSelectedSuggestion",pD.ID,gD.ID,Pt.NextMatchFindAction,...Zy.getRegisteredCommands()]);this._register(this._commandService.onDidExecuteCommand(p=>{if(h.has(p.commandId)&&e.hasTextFocus()&&this._enabled.get()){let _=!1;p.commandId===zw&&(_=!0),this._editorObs.forceUpdate(b=>{this.model.get()?.trigger(b,{noDelay:_})})}})),this._register(ka(this._editorObs.selections,(p,_,b)=>{if(b.some(C=>C.reason===3||C.source==="api")){if(!this._hideInlineEditOnSelectionChange.get()&&this.model.get()?.state.get()?.kind==="inlineEdit")return;const C=this.model.get();if(!C)return;C.state.get()?.kind==="ghostText"&&this.model.get()?.stop()}})),this._register(Se(p=>{const _=this._focusIsInEditorOrMenu.read(p),b=this.model.read(void 0);if(_){const C=b?.state.read(void 0);(!C||C.kind!=="inlineEdit"||!C.nextEditUri)&&Dt(w=>{for(const v of Ql._instances)v!==this&&v.model.read(void 0)?.stop("automatic",w)});return}this._contextKey
Line truncated
|
||||
`),c=`${r.documentValue}
|
||||
|
||||
// <json>
|
||||
${l}
|
||||
// </json>
|
||||
`;return await i.writeText(c),{reproCase:c}}}var rTe=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},YD=function(o,e){return function(t,i){e(t,i,o)}};class aTe{constructor(e,t,i){this.owner=e,this.range=t,this.controller=i}isValidForHoverAnchor(e){return e.type===1&&this.range.startColumn<=e.range.startColumn&&this.range.endColumn>=e.range.endColumn}}let k7=class{constructor(e,t,i,n,s){this._editor=e,this.accessibilityService=t,this._instantiationService=i,this._telemetryService=n,this._markdownRendererService=s,this.hoverOrdinal=4}suggestHoverAnchor(e){const t=No.get(this._editor);if(!t)return null;const i=e.target;if(i.type===8){const n=i.detail;if(t.shouldShowHoverAtViewZone(n.viewZoneId))return new Hw(1e3,this,k.fromPositions(this._editor.getModel().validatePosition(n.positionBefore||n.position)),e.event.posx,e.event.posy,!1)}if(i.type===7&&t.shouldShowHoverAt(i.range))return new Hw(1e3,this,i.range,e.event.posx,e.event.posy,!1);if(i.type===6&&i.detail.mightBeForeignElement&&t.shouldShowHoverAt(i.range))return new Hw(1e3,this,i.range,e.event.posx,e.event.posy,!1);if(i.type===9&&i.element){const n=M0.getWarningWidgetContext(i.element);if(n&&t.shouldShowHoverAt(n.range))return new Hw(1e3,this,n.range,e.event.posx,e.event.posy,!1)}return null}computeSync(e,t){if(this._editor.getOption(71).showToolbar!=="onHover")return[];const i=No.get(this._editor);return i&&i.shouldShowHoverAt(e.range)?[new aTe(this,e.range,i)]:[]}renderHoverParts(e,t){const i=new V,n=t[0];this._telemetryService.publicLog2("inlineCompletionHover.shown"),this.accessibilityService.isScreenReaderOptimized()&&!this._editor.getOption(12)&&i.add(this.renderScreenReaderText(e,n));const s=n.controller.model.get(),r=document.createElement("div");e.fragment.appendChild(r),i.add(zn((l,c)=>{const d=c.add(this._instantiationService.createInstance(bb.hot.read(l),this._editor,!1,Et(null),s.selectedInlineCompletionIndex,s.inlineCompletionsCount,s.activeCommands,s.warning,()=>{e.onContentsChanged()}));r.replaceChildren(d.getDomNode())})),s.triggerExplicitly();const a={hoverPart:n,hoverElement:r,dispose(){i.dispose()}};return new Pg([a])}getAccessibleContent(e){return m(1205,"There are inline completions here")}renderScreenReaderText(e,t){const i=new V,n=ee,s=n("div.hover-row.markdown-hover"),r=Y(s,n("div.hover-contents",{"aria-live":"assertive"})),a=l=>{const c=m(1206,"Suggestion:"),d=i.add(this._markdownRendererService.render(new Gn().appendText(c).appendCodeblock("text",l),{context:this._editor,asyncRenderCallback:()=>{r.className="hover-contents code-hover-contents",e.onContentsChanged()}}));r.replaceChildren(d.element)};return i.add(Se(l=>{const c=t.controller.model.read(l)?.primaryGhostText.read(l);if(c){const d=this._editor.getModel().getLineContent(c.lineNumber);a(c.renderForScreenReader(d))}else Ji(r)})),e.fragment.appendChild(s),i}};k7=rTe([YD(1,bn),YD(2,pe),YD(3,$n),YD(4,oa)],k7);class lTe{}Qe(No.ID,pIe(No.hot),3),oe(eTe),oe(S7),oe(y7),oe(tTe),oe(iTe),oe(nTe),oe(L7),oe(ZD),oe(sTe),_t(x7),oe(oTe),_t(x3),_t(k3),Og.register(k7),hD.register(new lTe);var cTe=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},I7=function(o,e){return function(t,i){e(t,i,o)}},$0;let j0=(ju=class{constructor(e,t,i,n){this.textModelResolverService=t,this.languageService=i,this.languageFeaturesService=n,this.toUnhook=new V,this.toUnhookForKeyboard=new V,this.currentWordAtPosition=null,this.previousPromise=null,this.editor=e,this.linkDecorations=this.editor.createDecorationsCollection();const s=new bI(e);this.toUnhook.add(s),this.toUnhook.add(s.onMouseMoveOrRelevantKeyDown(([r,a])=>{this.startFindDefinitionFromMouse(r,a??void 0)})),this.toUnhook.add(s.onExecute(r=>{this.isEnabled(r)&&this.gotoDefinition(r.target.position,r.hasSideBySideModifier).catch(a=>{De(a)}).finally(()=>{this.removeLinkDecorations()})})),this.toUnhook.add(s.onCancel(()=>{this.removeLinkDecorations(),this.currentWordAtPosition=null}))}static get(e){return e.getContribution($0.ID)}async startFindDefinitionFromCursor(e){await this.startFindDefinition(e),this.toUnhookForKeyboard.add(this.editor.onDidChangeCursorPosition(()=>{this.currentWordAtPosition=null,this.removeLinkDecorations(),this.toUnhookForKeyboard.clear()})),this.toUnhookForKeyboard.add(this.editor.onKeyDown(t=>{t&&(this.currentWordAtPosition=null,this.removeLinkDecorations(),this.toUnhookForKeyboard.clear())}))}startFindDefinitionFromMouse(e,t){if(e.target.type===9&&this.linkDecorations.length>0)return;
Line truncated
|
||||
|
||||
`))});break;case"saveTextureAtlas":i.invokeFunction(async r=>{const a=r.get(Sd),l=r.get(pQ),c=a.getWorkspace().folders;if(c.length>0){const d=ds.atlas,h=[];for(const[u,f]of d.pages.entries())h.push(l.writeFile(be.joinPath(c[0].uri,`textureAtlasPage${u}_actual.png`),ch.wrap(new Uint8Array(await(await f.source.convertToBlob()).arrayBuffer()))),l.writeFile(be.joinPath(c[0].uri,`textureAtlasPage${u}_usage.png`),ch.wrap(new Uint8Array(await(await f.getUsagePreview()).arrayBuffer()))));await Promise.all(h)}});break;case"drawGlyph":i.invokeFunction(async r=>{const a=r.get(Me),l=r.get(pQ),c=r.get(Xn),h=r.get(Sd).getWorkspace().folders;if(h.length===0)return;const u=ds.atlas,f=a.getValue("editor.fontFamily"),g=a.getValue("editor.fontSize"),p=new w1(g,f,pt().devicePixelRatio,ds.decorationStyleCache);let _=await c.input({prompt:"Enter a character to draw (prefix with 0x for code point))"});if(!_)return;const b=_.match(/0x(?<codePoint>[0-9a-f]+)/i)?.groups?.codePoint;b!==void 0&&(_=String.fromCodePoint(parseInt(b,16)));const C=0,v=u.getGlyph(p,_,C,0,0);if(!v)return;const S=u.pages[v.pageIndex].source.getContext("2d")?.getImageData(v.x,v.y,v.w,v.h);if(!S)return;const L=new OffscreenCanvas(S.width,S.height);$f(L.getContext("2d")).putImageData(S,0,0);const I=await L.convertToBlob({type:"image/png"}),D=be.joinPath(h[0].uri,`glyph_${_}_${C}_${g}px_${f.replaceAll(/[,\\\/\.'\s]/g,"_")}.png`);await l.writeFile(D,ch.wrap(new Uint8Array(await I.arrayBuffer())))});break}}}oe(dTe);var il;(function(o){o.NoAutoFocus="noAutoFocus",o.FocusIfVisible="focusIfVisible",o.AutoFocusImmediately="autoFocusImmediately"})(il||(il={}));class hTe extends ce{constructor(){super({id:XG,label:H(1107,"Show or Focus Hover"),metadata:{description:H(1108,"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:[il.NoAutoFocus,il.FocusIfVisible,il.AutoFocusImmediately],enumDescriptions:[m(1104,"The hover will not automatically take focus."),m(1105,"The hover will take focus only if it is already visible."),m(1106,"The hover will automatically take focus when it appears.")],default:il.FocusIfVisible}}}}]},precondition:void 0,kbOpts:{kbExpr:T.editorTextFocus,primary:Ei(2089,2087),weight:100}})}run(e,t,i){if(!t.hasModel())return;const n=Qn.get(t);if(!n)return;const s=i?.focus;let r=il.FocusIfVisible;Object.values(il).includes(s)?r=s:typeof s=="boolean"&&s&&(r=il.AutoFocusImmediately);const a=c=>{const d=t.getPosition(),h=new k(d.lineNumber,d.column,d.lineNumber,d.column);n.showContentHover(h,1,2,c)},l=t.getOption(2)===2;n.isHoverVisible?r!==il.NoAutoFocus?n.focus():a(l):a(l||r===il.AutoFocusImmediately)}}class uTe extends ce{constructor(){super({id:rSe,label:H(1109,"Show Definition Preview Hover"),precondition:void 0,metadata:{description:H(1110,"Show the definition preview hover in the editor.")}})}run(e,t){const i=Qn.get(t);if(!i)return;const n=t.getPosition();if(!n)return;const s=new k(n.lineNumber,n.column,n.lineNumber,n.column),r=j0.get(t);if(!r)return;r.startFindDefinitionFromCursor(n).then(()=>{i.showContentHover(s,1,2,!0)})}}class fTe extends ce{constructor(){super({id:aSe,label:H(1111,"Hide Hover"),alias:"Hide Content Hover",precondition:void 0})}run(e,t){Qn.get(t)?.hideContentHover()}}class gTe extends ce{constructor(){super({id:lSe,label:H(1112,"Scroll Up Hover"),precondition:T.hoverFocused,kbOpts:{kbExpr:T.hoverFocused,primary:16,weight:100},metadata:{description:H(1113,"Scroll up the editor hover.")}})}run(e,t){const i=Qn.get(t);i&&i.scrollUp()}}class pTe extends ce{constructor(){super({id:cSe,label:H(1114,"Scroll Down Hover"),precondition:T.hoverFocused,kbOpts:{kbExpr:T.hoverFocused,primary:18,weight:100},metadata:{description:H(1115,"Scroll down the editor hover.")}})}run(e,t){const i=Qn.get(t);i&&i.scrollDown()}}class mTe extends ce{constructor(){super({id:dSe,label:H(1116,"Scroll Left Hover"),precondition:T.hoverFocused,kbOpts:{kbExpr:T.hoverFocused,primary:15,weight:100},metadata:{description:H(1117,"Scroll left the editor hover.")}})}run(e,t){const i=Qn.get(t);i&&i.scrollLeft()}}class _Te extends ce{constructor(){super({id:hSe,label:H(1118,"Scroll Right Hover"),precondition:T.hoverFocused,kbOpts:{kbExpr:T.hoverFocused,primary:17,weight:100},metadata:{description:H(1119,"Scroll right the editor hover.")}})}run(e,t){const i=Qn.get(t);i&&i.scrollRight()}}class bTe extends ce{constructor(){super({id:uSe,label:H(1120,"Page Up Hover"),precondition:T.hoverFocused,kbOpts:{kbExpr:T.hoverFocused,primary:11,secondary:[528],weight:100},metadata:{description:H(1121,"Page up the editor hover.")}})}run(e,t){const i=Qn.get(t);i&&i.pageUp()}}class CTe extends ce{constructor(){super({id:fSe,label:H(1122,"Page Down Hover"),precondition:T.hoverFocused,kbOpts:{kbExpr:T.hoverFocused,primary:12,secondary:[530],weight:100
Line truncated
|
||||
`);return new K0(e,t,n,c,s,r,d)}constructor(e,t,i,n,s,r,a){this._editor=e,this.findController=t,this.isDisconnectedFromFindController=i,this.searchText=n,this.wholeWord=s,this.matchCase=r,this.currentMatch=a}addSelectionToNextFindMatch(){if(!this._editor.hasModel())return null;const e=this._getNextMatch();if(!e)return null;const t=this._editor.getSelections();return new rE(t.concat(e),e,0)}moveSelectionToNextFindMatch(){if(!this._editor.hasModel())return null;const e=this._getNextMatch();if(!e)return null;const t=this._editor.getSelections();return new rE(t.slice(0,t.length-1).concat(e),e,0)}_getNextMatch(){if(!this._editor.hasModel())return null;if(this.currentMatch){const n=this.currentMatch;return this.currentMatch=null,n}this.findController.highlightFindOptions();const e=this._editor.getSelections(),t=e[e.length-1],i=this._editor.getModel().findNextMatch(this.searchText,t.getEndPosition(),!1,this.matchCase,this.wholeWord?this._editor.getOption(148):null,!1);return i?new le(i.range.startLineNumber,i.range.startColumn,i.range.endLineNumber,i.range.endColumn):null}addSelectionToPreviousFindMatch(){if(!this._editor.hasModel())return null;const e=this._getPreviousMatch();if(!e)return null;const t=this._editor.getSelections();return new rE(t.concat(e),e,0)}moveSelectionToPreviousFindMatch(){if(!this._editor.hasModel())return null;const e=this._getPreviousMatch();if(!e)return null;const t=this._editor.getSelections();return new rE(t.slice(0,t.length-1).concat(e),e,0)}_getPreviousMatch(){if(!this._editor.hasModel())return null;if(this.currentMatch){const n=this.currentMatch;return this.currentMatch=null,n}this.findController.highlightFindOptions();const e=this._editor.getSelections(),t=e[e.length-1],i=this._editor.getModel().findPreviousMatch(this.searchText,t.getStartPosition(),!1,this.matchCase,this.wholeWord?this._editor.getOption(148):null,!1);return i?new le(i.range.startLineNumber,i.range.startColumn,i.range.endLineNumber,i.range.endColumn):null}selectAll(e){if(!this._editor.hasModel())return[];this.findController.highlightFindOptions();const t=this._editor.getModel();return e?t.findMatches(this.searchText,e,!1,this.matchCase,this.wholeWord?this._editor.getOption(148):null,!1,1073741824):t.findMatches(this.searchText,!0,!1,this.matchCase,this.wholeWord?this._editor.getOption(148):null,!1,1073741824)}}const kT=class kT extends P{static get(e){return e.getContribution(kT.ID)}constructor(e){super(),this._sessionDispose=this._register(new V),this._editor=e,this._ignoreSelectionChange=!1,this._session=null}dispose(){this._endSession(),super.dispose()}_beginSessionIfNeeded(e){if(!this._session){const t=K0.create(this._editor,e);if(!t)return;this._session=t;const i={searchString:this._session.searchText};this._session.isDisconnectedFromFindController&&(i.wholeWordOverride=1,i.matchCaseOverride=1,i.isRegexOverride=2),e.getState().change(i,!1),this._sessionDispose.add(this._editor.onDidChangeCursorSelection(n=>{this._ignoreSelectionChange||this._endSession()})),this._sessionDispose.add(this._editor.onDidBlurEditorText(()=>{this._endSession()})),this._sessionDispose.add(e.getState().onFindReplaceStateChange(n=>{(n.matchCase||n.wholeWord)&&this._endSession()}))}}_endSession(){if(this._sessionDispose.clear(),this._session&&this._session.isDisconnectedFromFindController){const e={wholeWordOverride:0,matchCaseOverride:0,isRegexOverride:0};this._session.findController.getState().change(e,!1)}this._session=null}_setSelections(e){this._ignoreSelectionChange=!0,this._editor.setSelections(e),this._ignoreSelectionChange=!1}_expandEmptyToWord(e,t){if(!t.isEmpty())return t;const i=this._editor.getConfiguredWordAtPosition(t.getStartPosition());return i?new le(t.startLineNumber,i.startColumn,t.startLineNumber,i.endColumn):t}_applySessionResult(e){e&&(this._setSelections(e.selections),e.revealRange&&this._editor.revealRangeInCenterIfOutsideViewport(e.revealRange,e.revealScrollType))}getSession(e){return this._session}addSelectionToNextFindMatch(e){if(this._editor.hasModel()){if(!this._session){const t=this._editor.getSelections();if(t.length>1){const n=e.getState().matchCase;if(!nJ(this._editor.getModel(),t,n)){const r=this._editor.getModel(),a=[];for(let l=0,c=t.length;l<c;l++)a[l]=this._expandEmptyToWord(r,t[l]);this._editor.setSelections(a);return}}}this._beginSessionIfNeeded(e),this._session&&this._applySessionResult(this._session.addSelectionToNextFindMatch())}}addSelectionToPreviousFindMatch(e){this._beginSessionIfNeeded(e),this._session&&this._applySessionResult(this._session.addSelectionToPreviousFindMatch())}moveSelectionToNextFindMatch(e){this._beginSessionIfNeeded(e),this._session&&this._applySessionResult(this._session.moveSelectionToNextFindMatch())}moveSelectionToPreviousFindMatch(e){this._beginSessionIfNeeded(e),this._session&&this._applySessionResult(this._session.moveSelectionToPreviousFindMatch())}selectAll(e){if(!this._editor.hasModel())return;let t=null;const i=e.getState();if(i.isRevealed&&i.searchString.len
Line truncated
|
||||
`):void 0}:{range:k.fromPositions(this.position),text:"",rejectReason:t.length>0?t.join(`
|
||||
`):void 0}}async provideRenameEdits(e,t){return this._provideRenameEdits(e,this._providerRenameIdx,[],t)}async _provideRenameEdits(e,t,i,n){const s=this._providers[t];if(!s)return{edits:[],rejectReason:i.join(`
|
||||
`)};const r=await s.provideRenameEdits(this.model,this.position,e,n);if(r){if(r.rejectReason)return this._provideRenameEdits(e,t+1,i.concat(r.rejectReason),n)}else return this._provideRenameEdits(e,t+1,i.concat(m(1380,"No result.")),n);return r}}async function KRe(o,e,t,i){const n=new Z7(e,t,o),s=await n.resolveRenameLocation(He.None);return s?.rejectReason?{edits:[],rejectReason:s.rejectReason}:n.provideRenameEdits(i,He.None)}let gu=(pm=class{static get(e){return e.getContribution(G7.ID)}constructor(e,t,i,n,s,r,a,l){this.editor=e,this._instaService=t,this._notificationService=i,this._bulkEditService=n,this._progressService=s,this._logService=r,this._configService=a,this._languageFeaturesService=l,this._disposableStore=new V,this._cts=new zt,this._renameWidget=this._disposableStore.add(this._instaService.createInstance(q7,this.editor,["acceptRenameInput","acceptRenameInputWithPreview"]))}dispose(){this._disposableStore.dispose(),this._cts.dispose(!0)}async run(){const e=this._logService.trace.bind(this._logService,"[rename]");if(this._cts.dispose(!0),this._cts=new zt,!this.editor.hasModel()){e("editor has no model");return}const t=this.editor.getPosition(),i=new Z7(this.editor.getModel(),t,this._languageFeaturesService.renameProvider);if(!i.hasProvider()){e("skeleton has no provider");return}const n=new Cd(this.editor,5,void 0,this._cts.token);let s;try{e("resolving rename location");const g=i.resolveRenameLocation(n.token);this._progressService.showWhile(g,250),s=await g,e("resolved rename location")}catch(g){g instanceof hr?e("resolve rename location cancelled",JSON.stringify(g,null," ")):(e("resolve rename location failed",g instanceof Error?g:JSON.stringify(g,null," ")),(typeof g=="string"||ud(g))&&ko.get(this.editor)?.showMessage(g||m(1381,"An unknown error occurred while resolving rename location"),t));return}finally{n.dispose()}if(!s){e("returning early - no loc");return}if(s.rejectReason){e(`returning early - rejected with reason: ${s.rejectReason}`,s.rejectReason),ko.get(this.editor)?.showMessage(s.rejectReason,t);return}if(n.token.isCancellationRequested){e("returning early - cts1 cancelled");return}const r=new Cd(this.editor,5,s.range,this._cts.token),a=this.editor.getModel(),l=this._languageFeaturesService.newSymbolNamesProvider.all(a),c=await Promise.all(l.map(async g=>[g,await g.supportsAutomaticNewSymbolNamesTriggerKind??!1])),d=(g,p)=>{let _=c.slice();return g===p1.Automatic&&(_=_.filter(([b,C])=>C)),_.map(([b])=>b.provideNewSymbolNames(a,s.range,g,p))};e("creating rename input field and awaiting its result");const h=this._bulkEditService.hasPreviewHandler()&&this._configService.getValue(this.editor.getModel().uri,"editor.rename.enablePreview"),u=await this._renameWidget.getInput(s.range,s.text,h,l.length>0?d:void 0,r);if(e("received response from rename input field"),typeof u=="boolean"){e(`returning early - rename input field response - ${u}`),u&&this.editor.focus(),r.dispose();return}this.editor.focus(),e("requesting rename edits");const f=Am(i.provideRenameEdits(u.newName,r.token),r.token).then(async g=>{if(!g){e("returning early - no rename edits result");return}if(!this.editor.hasModel()){e("returning early - no model after rename edits are provided");return}if(g.rejectReason){e(`returning early - rejected with reason: ${g.rejectReason}`),this._notificationService.info(g.rejectReason);return}this.editor.setSelection(k.fromPositions(this.editor.getSelection().getPosition())),e("applying edits"),this._bulkEditService.apply(g,{editor:this.editor,showPreview:u.wantsPreview,label:m(1382,"Renaming '{0}' to '{1}'",s?.text,u.newName),code:"undoredo.rename",quotableLabel:m(1383,"Renaming {0} to {1}",s?.text,u.newName),respectAutoSaveConfig:!0,reason:Kn.rename()}).then(p=>{e("edits applied"),p.ariaSummary&&Cs(m(1384,"Successfully renamed '{0}' to '{1}'. Summary: {2}",s.text,u.newName,p.ariaSummary))}).catch(p=>{e(`error when applying edits ${JSON.stringify(p,null," ")}`),this._notificationService.error(m(1385,"Rename failed to apply edits")),this._logService.error(p)})},g=>{e("error when providing rename edits",JSON.stringify(g,null," ")),this._notificationService.error(m(1386,"Rename failed to compute edits")),this._logService.error(g)}).finally(()=>{r.dispose()});return e("returning rename operation"),this._progressService.showWhile(f,250),f}acceptRenameInput(e){this._renameWidget.acceptInput(e)}cancelRenameInput(){this._renameWidget.cancelInput(!0,"cancelRenameInput command")}focusNextRenameSuggestion(){this._renameWidget.focusNextRenameSuggestion()}focusPreviousRenameSuggestion(){this._renameWidget.focusPreviousRenameSuggestion()}},G7=pm,pm.ID="editor.contrib.renameController",pm);gu=G7=qRe([rp(1,pe),rp(2,ui),rp(3,Nw),rp(4,cd),rp(5,Mt),rp(6,cE),rp(7,he)],gu);class GRe extends ce{constructor(){super({id:"editor.action.rename",label:H(1388,"Rename Symbol"),precondition:q.and(T.writable,T.hasRenameProvider),kbOpts:{kbExpr:T.editorTextFocus,primary:60,weight:100},contextMenuOpts:{group:"1_modif
Line truncated
|
||||
`||o===" "}var LMe=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},LJ=function(o,e){return function(t,i){e(t,i,o)}};let u9=class extends P{get enabled(){return this._enabled}set enabled(e){e?(this.el.setAttribute("aria-disabled","false"),this.el.tabIndex=0,this.el.style.pointerEvents="auto",this.el.style.opacity="1",this.el.style.cursor="pointer",this._enabled=!1):(this.el.setAttribute("aria-disabled","true"),this.el.tabIndex=-1,this.el.style.pointerEvents="none",this.el.style.opacity="0.4",this.el.style.cursor="default",this._enabled=!0),this._enabled=e}constructor(e,t,i={},n,s){super(),this._link=t,this._hoverService=n,this._enabled=!0,this.el=Y(e,ee("a.monaco-link",{tabIndex:t.tabIndex??0,href:t.href},t.label)),this.hoverDelegate=i.hoverDelegate??Tl("mouse"),this.setTooltip(t.title),this.el.setAttribute("role","button");const r=this._register(new mt(this.el,"click")),a=this._register(new mt(this.el,"keypress")),l=ie.chain(a.event,h=>h.map(u=>new yt(u)).filter(u=>u.keyCode===3)),c=this._register(new mt(this.el,At.Tap)).event;this._register(qn.addTarget(this.el));const d=ie.any(r.event,l,c);this._register(d(h=>{this.enabled&&(st.stop(h,!0),i?.opener?i.opener(this._link.href):s.open(this._link.href,{allowCommands:!0}))})),this.enabled=!0}setTooltip(e){!this.hover&&e?this.hover=this._register(this._hoverService.setupManagedHover(this.hoverDelegate,this.el,e)):this.hover&&this.hover.update(e)}};u9=LMe([LJ(3,Ms),LJ(4,vd)],u9);var xJ=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},f9=function(o,e){return function(t,i){e(t,i,o)}};const xMe=26;let g9=class extends P{constructor(e,t){super(),this._editor=e,this.instantiationService=t,this.banner=this._register(this.instantiationService.createInstance(p9))}hide(){this._editor.setBanner(null,0),this.banner.clear()}show(e){this.banner.show({...e,onClose:()=>{this.hide(),e.onClose?.()}}),this._editor.setBanner(this.banner.element,xMe)}};g9=xJ([f9(1,pe)],g9);let p9=class extends P{constructor(e,t){super(),this.instantiationService=e,this.markdownRendererService=t,this.element=ee("div.editor-banner"),this.element.tabIndex=0}getAriaLabel(e){if(e.ariaLabel)return e.ariaLabel;if(typeof e.message=="string")return e.message}getBannerMessage(e){if(typeof e=="string"){const t=ee("span");return t.innerText=e,t}return this.markdownRendererService.render(e).element}clear(){pn(this.element)}show(e){pn(this.element);const t=this.getAriaLabel(e);t&&this.element.setAttribute("aria-label",t);const i=Y(this.element,ee("div.icon-container"));i.setAttribute("aria-hidden","true"),e.icon&&i.appendChild(ee(`div${ve.asCSSSelector(e.icon)}`));const n=Y(this.element,ee("div.message-container"));if(n.setAttribute("aria-hidden","true"),n.appendChild(this.getBannerMessage(e.message)),this.messageActionsContainer=Y(this.element,ee("div.message-actions-container")),e.actions)for(const r of e.actions)this._register(this.instantiationService.createInstance(u9,this.messageActionsContainer,{...r,tabIndex:-1},{}));const s=Y(this.element,ee("div.action-container"));this.actionBar=this._register(new Qs(s)),this.actionBar.push(this._register(new Po("banner.close",m(1533,"Close Banner"),ve.asClassName(Yq),!0,()=>{typeof e.onClose=="function"&&e.onClose()})),{icon:!0,label:!1}),this.actionBar.setFocusable(!1)}};p9=xJ([f9(0,pe),f9(1,oa)],p9);const kJ=Fe("workspaceTrustManagementService");var m9=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},J0=function(o,e){return function(t,i){e(t,i,o)}};const kMe=Bt("extensions-warning-message",Z.warning,m(1534,"Icon shown with a warning message in the extensions editor."));let eS=(jC=class extends P{constructor(e,t,i,n){super(),this._editor=e,this._editorWorkerService=t,this._workspaceTrustService=i,this._highlighter=null,this._bannerClosed=!1,this._updateState=s=>{if(s&&s.hasMore){if(this._bannerClosed)return;const r=Math.max(s.ambiguousCharacterCount,s.nonBasicAsciiCharacterCount,s.invisibleCharacterCount);let a;if(s.nonBasicAsciiCharacterCount>=r)a={message:m(1535,"This document contains many non-basic ASCII unicode characters"),command:new iS};else if(s.ambiguousCharacterCount>=r)a={message:m(1536,"This document contains many ambiguous unicode characters"
Line truncated
|
||||
`)}};b9=m9([J0(1,oa)],b9);function C9(o){return`U+${o.toString(16).padStart(4,"0")}`}function v9(o){let e=`\`${C9(o)}\``;return cf.isInvisibleCharacter(o)||(e+=` "${`${EMe(o)}`}"`),e}function EMe(o){return o===96?"`` ` ``":"`"+String.fromCodePoint(o)+"`"}function DJ(o,e){return h9.computeUnicodeHighlightReason(o,e)}const ET=class ET{constructor(){this.map=new Map}getDecorationFromOptions(e){return this.getDecoration(!e.includeComments,!e.includeStrings)}getDecoration(e,t){const i=`${e}${t}`;let n=this.map.get(i);return n||(n=Te.createDynamic({description:"unicode-highlight",stickiness:1,className:"unicode-highlight",showIfCollapsed:!0,overviewRuler:null,minimap:null,hideInCommentTokens:e,hideInStringTokens:t}),this.map.set(i,n)),n}};ET.instance=new ET;let _E=ET;class NMe extends ce{constructor(){super({id:ap.ID,label:H(1552,"Disable highlighting of characters in comments"),precondition:void 0}),this.shortLabel=m(1544,"Disable Highlight In Comments")}async run(e,t,i){const n=e.get(Me);n&&this.runAction(n)}async runAction(e){await e.updateValue(qs.includeComments,!1,2)}}class TMe extends ce{constructor(){super({id:ap.ID,label:H(1553,"Disable highlighting of characters in strings"),precondition:void 0}),this.shortLabel=m(1545,"Disable Highlight In Strings")}async run(e,t,i){const n=e.get(Me);n&&this.runAction(n)}async runAction(e){await e.updateValue(qs.includeStrings,!1,2)}}const NT=class NT extends dn{constructor(){super({id:NT.ID,title:H(1554,"Disable highlighting of ambiguous characters"),precondition:void 0,f1:!1}),this.shortLabel=m(1546,"Disable Ambiguous Highlight")}async run(e,t,i){const n=e.get(Me);n&&this.runAction(n)}async runAction(e){await e.updateValue(qs.ambiguousCharacters,!1,2)}};NT.ID="editor.action.unicodeHighlight.disableHighlightingOfAmbiguousCharacters";let ap=NT;const TT=class TT extends dn{constructor(){super({id:TT.ID,title:H(1555,"Disable highlighting of invisible characters"),precondition:void 0,f1:!1}),this.shortLabel=m(1547,"Disable Invisible Highlight")}async run(e,t,i){const n=e.get(Me);n&&this.runAction(n)}async runAction(e){await e.updateValue(qs.invisibleCharacters,!1,2)}};TT.ID="editor.action.unicodeHighlight.disableHighlightingOfInvisibleCharacters";let tS=TT;const RT=class RT extends dn{constructor(){super({id:RT.ID,title:H(1556,"Disable highlighting of non basic ASCII characters"),precondition:void 0,f1:!1}),this.shortLabel=m(1548,"Disable Non ASCII Highlight")}async run(e,t,i){const n=e.get(Me);n&&this.runAction(n)}async runAction(e){await e.updateValue(qs.nonBasicASCII,!1,2)}};RT.ID="editor.action.unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters";let iS=RT;const MT=class MT extends dn{constructor(){super({id:MT.ID,title:H(1557,"Show Exclude Options"),precondition:void 0,f1:!1})}async run(e,t){const{codePoint:i,reason:n,inString:s,inComment:r}=t,a=String.fromCodePoint(i),l=e.get(Xn),c=e.get(Me);function d(g){return cf.isInvisibleCharacter(g)?m(1549,"Exclude {0} (invisible character) from being highlighted",C9(g)):m(1550,"Exclude {0} from being highlighted",`${C9(g)} "${a}"`)}const h=[];if(n.kind===0)for(const g of n.notAmbiguousInLocales)h.push({label:m(1551,'Allow unicode characters that are more common in the language "{0}".',g),run:async()=>{MMe(c,[g])}});if(h.push({label:d(i),run:()=>RMe(c,[i])}),r){const g=new NMe;h.push({label:g.label,run:async()=>g.runAction(c)})}else if(s){const g=new TMe;h.push({label:g.label,run:async()=>g.runAction(c)})}function u(g){return typeof g.desc.title=="string"?g.desc.title:g.desc.title.value}if(n.kind===0){const g=new ap;h.push({label:u(g),run:async()=>g.runAction(c)})}else if(n.kind===1){const g=new tS;h.push({label:u(g),run:async()=>g.runAction(c)})}else if(n.kind===2){const g=new iS;h.push({label:u(g),run:async()=>g.runAction(c)})}else AMe(n);const f=await l.pick(h,{title:IJ});f&&await f.run()}};MT.ID="editor.action.unicodeHighlight.showExcludeOptions";let bE=MT;async function RMe(o,e){const t=o.getValue(qs.allowedCharacters);let i;typeof t=="object"&&t?i=t:i={};for(const n of e)i[String.fromCodePoint(n)]=!0;await o.updateValue(qs.allowedCharacters,i,2)}async function MMe(o,e){const t=o.inspect(qs.allowedLocales).user?.value;let i;typeof t=="object"&&t?i=Object.assign({},t):i={};for(const n of e)i[n]=!0;await o.updateValue(qs.allowedLocales,i,2)}function AMe(o){throw new Error(`Unexpected value: ${o}`)}_t(ap),_t(tS),_t(iS),_t(bE),Qe(eS.ID,eS,1),Og.register(b9);const nS=Fe("dialogService");var PMe=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},EJ=function(o,e){return function(t,i){e(t,i,o)}};const NJ="ignoreUnusualLineTerminators";function OMe(o,e,t){o.setModelProperty(e.uri,NJ,t)}function FMe(o,e){return o.getModelProperty(e.uri,NJ)}let CE=(qC=clLine truncated
|
||||
`)}const bAe={base:"vs",inherit:!1,rules:[{token:"",foreground:"000000",background:"fffffe"},{token:"invalid",foreground:"cd3131"},{token:"emphasis",fontStyle:"italic"},{token:"strong",fontStyle:"bold"},{token:"variable",foreground:"001188"},{token:"variable.predefined",foreground:"4864AA"},{token:"constant",foreground:"dd0000"},{token:"comment",foreground:"008000"},{token:"number",foreground:"098658"},{token:"number.hex",foreground:"3030c0"},{token:"regexp",foreground:"800000"},{token:"annotation",foreground:"808080"},{token:"type",foreground:"008080"},{token:"delimiter",foreground:"000000"},{token:"delimiter.html",foreground:"383838"},{token:"delimiter.xml",foreground:"0000FF"},{token:"tag",foreground:"800000"},{token:"tag.id.pug",foreground:"4F76AC"},{token:"tag.class.pug",foreground:"4F76AC"},{token:"meta.scss",foreground:"800000"},{token:"metatag",foreground:"e00000"},{token:"metatag.content.html",foreground:"FF0000"},{token:"metatag.html",foreground:"808080"},{token:"metatag.xml",foreground:"808080"},{token:"metatag.php",fontStyle:"bold"},{token:"key",foreground:"863B00"},{token:"string.key.json",foreground:"A31515"},{token:"string.value.json",foreground:"0451A5"},{token:"attribute.name",foreground:"FF0000"},{token:"attribute.value",foreground:"0451A5"},{token:"attribute.value.number",foreground:"098658"},{token:"attribute.value.unit",foreground:"098658"},{token:"attribute.value.html",foreground:"0000FF"},{token:"attribute.value.xml",foreground:"0000FF"},{token:"string",foreground:"A31515"},{token:"string.html",foreground:"0000FF"},{token:"string.sql",foreground:"FF0000"},{token:"string.yaml",foreground:"0451A5"},{token:"keyword",foreground:"0000FF"},{token:"keyword.json",foreground:"0451A5"},{token:"keyword.flow",foreground:"AF00DB"},{token:"keyword.flow.scss",foreground:"0000FF"},{token:"operator.scss",foreground:"666666"},{token:"operator.sql",foreground:"778899"},{token:"operator.swift",foreground:"666666"},{token:"predefined.sql",foreground:"C700C7"}],colors:{[xi]:"#FFFFFE",[Cl]:"#000000",[hz]:"#E5EBF1",[l1]:"#D3D3D3",[c1]:"#939393",[L2]:"#ADD6FF4D"}},CAe={base:"vs-dark",inherit:!1,rules:[{token:"",foreground:"D4D4D4",background:"1E1E1E"},{token:"invalid",foreground:"f44747"},{token:"emphasis",fontStyle:"italic"},{token:"strong",fontStyle:"bold"},{token:"variable",foreground:"74B0DF"},{token:"variable.predefined",foreground:"4864AA"},{token:"variable.parameter",foreground:"9CDCFE"},{token:"constant",foreground:"569CD6"},{token:"comment",foreground:"608B4E"},{token:"number",foreground:"B5CEA8"},{token:"number.hex",foreground:"5BB498"},{token:"regexp",foreground:"B46695"},{token:"annotation",foreground:"cc6666"},{token:"type",foreground:"3DC9B0"},{token:"delimiter",foreground:"DCDCDC"},{token:"delimiter.html",foreground:"808080"},{token:"delimiter.xml",foreground:"808080"},{token:"tag",foreground:"569CD6"},{token:"tag.id.pug",foreground:"4F76AC"},{token:"tag.class.pug",foreground:"4F76AC"},{token:"meta.scss",foreground:"A79873"},{token:"meta.tag",foreground:"CE9178"},{token:"metatag",foreground:"DD6A6F"},{token:"metatag.content.html",foreground:"9CDCFE"},{token:"metatag.html",foreground:"569CD6"},{token:"metatag.xml",foreground:"569CD6"},{token:"metatag.php",fontStyle:"bold"},{token:"key",foreground:"9CDCFE"},{token:"string.key.json",foreground:"9CDCFE"},{token:"string.value.json",foreground:"CE9178"},{token:"attribute.name",foreground:"9CDCFE"},{token:"attribute.value",foreground:"CE9178"},{token:"attribute.value.number.css",foreground:"B5CEA8"},{token:"attribute.value.unit.css",foreground:"B5CEA8"},{token:"attribute.value.hex.css",foreground:"D4D4D4"},{token:"string",foreground:"CE9178"},{token:"string.sql",foreground:"FF0000"},{token:"keyword",foreground:"569CD6"},{token:"keyword.flow",foreground:"C586C0"},{token:"keyword.json",foreground:"CE9178"},{token:"keyword.flow.scss",foreground:"569CD6"},{token:"operator.scss",foreground:"909090"},{token:"operator.sql",foreground:"778899"},{token:"operator.swift",foreground:"909090"},{token:"predefined.sql",foreground:"FF00FF"}],colors:{[xi]:"#1E1E1E",[Cl]:"#D4D4D4",[hz]:"#3A3D41",[l1]:"#404040",[c1]:"#707070",[L2]:"#ADD6FF26"}},vAe={base:"hc-black",inherit:!1,rules:[{token:"",foreground:"FFFFFF",background:"000000"},{token:"invalid",foreground:"f44747"},{token:"emphasis",fontStyle:"italic"},{token:"strong",fontStyle:"bold"},{token:"variable",foreground:"1AEBFF"},{token:"variable.parameter",foreground:"9CDCFE"},{token:"constant",foreground:"569CD6"},{token:"comment",foreground:"608B4E"},{token:"number",foreground:"FFFFFF"},{token:"regexp",foreground:"C0C0C0"},{token:"annotation",foreground:"569CD6"},{token:"type",foreground:"3DC9B0"},{token:"delimiter",foreground:"FFFF00"},{token:"delimiter.html",foreground:"FFFF00"},{token:"tag",foreground:"569CD6"},{token:"tag.id.pug",foreground:"4F76AC"},{token:"tag.class.pug",foreground:"4F76AC"},{token:"meta",foreground:"D4D4D4"},{token:"meta.tag",foreground:"CE9178"},{token:"metatag",foreground:"569CD6"},{token:"m
Line truncated
|
||||
`)}}}class dee{getIcon(e){const t=qq();let i=e.defaults;for(;ve.isThemeIcon(i);){const n=t.getIcon(i.id);if(!n)return;i=n.defaults}return i}}const zd="vs",oC="vs-dark",hp="hc-black",up="hc-light",hee=ei.as(iz.ColorContribution),yAe=ei.as(Jz.ThemingContribution);class uee{constructor(e,t){this.semanticHighlighting=!1,this.themeData=t;const i=t.base;e.length>0?(ME(e)?this.id=e:this.id=i+" "+e,this.themeName=e):(this.id=i,this.themeName=i),this.colors=null,this.defaultColors=Object.create(null),this._tokenTheme=null}get base(){return this.themeData.base}notifyBaseUpdated(){this.themeData.inherit&&(this.colors=null,this._tokenTheme=null)}getColors(){if(!this.colors){const e=new Map;for(const t in this.themeData.colors)e.set(t,z.fromHex(this.themeData.colors[t]));if(this.themeData.inherit){const t=tW(this.themeData.base);for(const i in t.colors)e.has(i)||e.set(i,z.fromHex(t.colors[i]))}this.colors=e}return this.colors}getColor(e,t){const i=this.getColors().get(e);if(i)return i;if(t!==!1)return this.getDefault(e)}getDefault(e){let t=this.defaultColors[e];return t||(t=hee.resolveDefaultColor(e,this),this.defaultColors[e]=t,t)}defines(e){return this.getColors().has(e)}get type(){switch(this.base){case zd:return Tr.LIGHT;case hp:return Tr.HIGH_CONTRAST_DARK;case up:return Tr.HIGH_CONTRAST_LIGHT;default:return Tr.DARK}}get tokenTheme(){if(!this._tokenTheme){let e=[],t=[];if(this.themeData.inherit){const s=tW(this.themeData.base);e=s.rules,s.encodedTokensColors&&(t=s.encodedTokensColors)}const i=this.themeData.colors["editor.foreground"],n=this.themeData.colors["editor.background"];if(i||n){const s={token:""};i&&(s.foreground=i),n&&(s.background=n),e.push(s)}e=e.concat(this.themeData.rules),this.themeData.encodedTokensColors&&(t=this.themeData.encodedTokensColors),this._tokenTheme=cee.createFromRawTokenTheme(e,t)}return this._tokenTheme}getTokenStyleMetadata(e,t,i){const s=this.tokenTheme._match([e].concat(t).join(".")).metadata,r=jn.getForeground(s),a=jn.getFontStyle(s);return{foreground:r,italic:!!(a&1),bold:!!(a&2),underline:!!(a&4),strikethrough:!!(a&8)}}get tokenColorMap(){return[]}}function ME(o){return o===zd||o===oC||o===hp||o===up}function tW(o){switch(o){case zd:return bAe;case oC:return CAe;case hp:return vAe;case up:return wAe}}function AE(o){const e=tW(o);return new uee(o,e)}class LAe extends P{constructor(){super(),this._onColorThemeChange=this._register(new A),this.onDidColorThemeChange=this._onColorThemeChange.event,this._onProductIconThemeChange=this._register(new A),this.onDidProductIconThemeChange=this._onProductIconThemeChange.event,this._environment=Object.create(null),this._builtInProductIconTheme=new dee,this._autoDetectHighContrast=!0,this._knownThemes=new Map,this._knownThemes.set(zd,AE(zd)),this._knownThemes.set(oC,AE(oC)),this._knownThemes.set(hp,AE(hp)),this._knownThemes.set(up,AE(up));const e=this._register(SAe(this));this._codiconCSS=e.getCSS(),this._themeCSS="",this._allCSS=`${this._codiconCSS}
|
||||
${this._themeCSS}`,this._globalStyleElement=null,this._styleElements=[],this._colorMapOverride=null,this.setTheme(zd),this._onOSSchemeChanged(),this._register(e.onDidChange(()=>{this._codiconCSS=e.getCSS(),this._updateCSS()})),e6(Ct,"(forced-colors: active)",()=>{this._onOSSchemeChanged()})}registerEditorContainer(e){return Ry(e)?this._registerShadowDomContainer(e):this._registerRegularEditorContainer()}_registerRegularEditorContainer(){return this._globalStyleElement||(this._globalStyleElement=Er(void 0,e=>{e.className="monaco-colors",e.textContent=this._allCSS}),this._styleElements.push(this._globalStyleElement)),P.None}_registerShadowDomContainer(e){const t=Er(e,i=>{i.className="monaco-colors",i.textContent=this._allCSS});return this._styleElements.push(t),{dispose:()=>{for(let i=0;i<this._styleElements.length;i++)if(this._styleElements[i]===t){this._styleElements.splice(i,1);return}}}}defineTheme(e,t){if(!/^[a-z0-9\-]+$/i.test(e))throw new Error("Illegal theme name!");if(!ME(t.base)&&!ME(e))throw new Error("Illegal theme base!");this._knownThemes.set(e,new uee(e,t)),ME(e)&&this._knownThemes.forEach(i=>{i.base===e&&i.notifyBaseUpdated()}),this._theme.themeName===e&&this.setTheme(e)}getColorTheme(){return this._theme}setColorMapOverride(e){this._colorMapOverride=e,this._updateThemeOrColorMap()}setTheme(e){let t;this._knownThemes.has(e)?t=this._knownThemes.get(e):t=this._knownThemes.get(zd),this._updateActualTheme(t)}_updateActualTheme(e){!e||this._theme===e||(this._theme=e,this._updateThemeOrColorMap())}_onOSSchemeChanged(){if(this._autoDetectHighContrast){const e=Ct.matchMedia("(forced-colors: active)").matches;if(e!==Pa(this._theme.type)){let t;qc(this._theme.type)?t=e?hp:oC:t=e?up:zd,this._updateActualTheme(this._knownThemes.get(t))}}}setAutoDetectHighContrast(e){this._autoDetectHighContrast=e,this._onOSSchemeChanged()}_updateThemeOrColorMap(){const e=[],t={},i={addRule:r=>{t[r]||(e.push(r),t[r]=!0)}};yAe.getThemingParticipants().forEach(r=>r(this._theme,i,this._environment));const n=[];for(const r of hee.getColors()){const a=this._theme.getColor(r.id,!0);a&&n.push(`${S2(r.id)}: ${a.toString()};`)}i.addRule(`.monaco-editor, .monaco-diff-editor, .monaco-component { ${n.join(`
|
||||
`)} }`);const s=this._colorMapOverride||this._theme.tokenTheme.getColorMap();i.addRule(_Ae(s)),i.addRule(".monaco-editor, .monaco-diff-editor, .monaco-component { forced-color-adjust: none; }"),this._themeCSS=e.join(`
|
||||
`),this._updateCSS(),hi.setColorMap(s),this._onColorThemeChange.fire(this._theme)}_updateCSS(){this._allCSS=`${this._codiconCSS}
|
||||
${this._themeCSS}`,this._styleElements.forEach(e=>e.textContent=this._allCSS)}getFileIconTheme(){return{hasFileIcons:!1,hasFolderIcons:!1,hidesExplorerArrows:!1}}getProductIconTheme(){return this._builtInProductIconTheme}}class xAe extends ce{constructor(){super({id:"editor.action.toggleHighContrast",label:P9.toggleHighContrast,alias:"Toggle High Contrast Theme",precondition:void 0}),this._originalThemeName=null}run(e,t){const i=e.get(sr),n=i.getColorTheme();Pa(n.type)?(i.setTheme(this._originalThemeName||(qc(n.type)?oC:zd)),this._originalThemeName=null):(i.setTheme(qc(n.type)?hp:up),this._originalThemeName=n.themeName)}}oe(xAe);var iW;(function(o){o[o.Unknown=0]="Unknown",o[o.Disabled=1]="Disabled",o[o.Enabled=2]="Enabled"})(iW||(iW={}));var nW;(function(o){o[o.Invoke=1]="Invoke",o[o.Auto=2]="Auto"})(nW||(nW={}));var sW;(function(o){o[o.None=0]="None",o[o.KeepWhitespace=1]="KeepWhitespace",o[o.InsertAsSnippet=4]="InsertAsSnippet"})(sW||(sW={}));var oW;(function(o){o[o.Method=0]="Method",o[o.Function=1]="Function",o[o.Constructor=2]="Constructor",o[o.Field=3]="Field",o[o.Variable=4]="Variable",o[o.Class=5]="Class",o[o.Struct=6]="Struct",o[o.Interface=7]="Interface",o[o.Module=8]="Module",o[o.Property=9]="Property",o[o.Event=10]="Event",o[o.Operator=11]="Operator",o[o.Unit=12]="Unit",o[o.Value=13]="Value",o[o.Constant=14]="Constant",o[o.Enum=15]="Enum",o[o.EnumMember=16]="EnumMember",o[o.Keyword=17]="Keyword",o[o.Text=18]="Text",o[o.Color=19]="Color",o[o.File=20]="File",o[o.Reference=21]="Reference",o[o.Customcolor=22]="Customcolor",o[o.Folder=23]="Folder",o[o.TypeParameter=24]="TypeParameter",o[o.User=25]="User",o[o.Issue=26]="Issue",o[o.Tool=27]="Tool",o[o.Snippet=28]="Snippet"})(oW||(oW={}));var rW;(function(o){o[o.Deprecated=1]="Deprecated"})(rW||(rW={}));var aW;(function(o){o[o.Invoke=0]="Invoke",o[o.TriggerCharacter=1]="TriggerCharacter",o[o.TriggerForIncompleteCompletions=2]="TriggerForIncompleteCompletions"})(aW||(aW={}));var lW;(function(o){o[o.EXACT=0]="EXACT",o[o.ABOVE=1]="ABOVE",o[o.BELOW=2]="BELOW"})(lW||(lW={}));var cW;(function(o){o[o.NotSet=0]="NotSet",o[o.ContentFlush=1]="ContentFlush",o[o.RecoverFromMarkers=2]="RecoverFromMarkers",o[o.Explicit=3]="Explicit",o[o.Paste=4]="Paste",o[o.Undo=5]="Undo",o[o.Redo=6]="Redo"})(cW||(cW={}));var dW;(function(o){o[o.LF=1]="LF",o[o.CRLF=2]="CRLF"})(dW||(dW={}));var hW;(function(o){o[o.Text=0]="Text",o[o.Read=1]="Read",o[o.Write=2]="Write"})(hW||(hW={}));var uW;(function(o){o[o.None=0]="None",o[o.Keep=1]="Keep",o[o.Brackets=2]="Brackets",o[o.Advanced=3]="Advanced",o[o.Full=4]="Full"})(uW||(uW={}));var fW;(function(o){o[o.acceptSuggestionOnCommitCharacter=0]="acceptSuggestionOnCommitCharacter",o[o.acceptSuggestionOnEnter=1]="acceptSuggestionOnEnter",o[o.accessibilitySupport=2]="accessibilitySupport",o[o.accessibilityPageSize=3]="accessibilityPageSize",o[o.allowOverflow=4]="allowOverflow",o[o.allowVariableLineHeights=5]="allowVariableLineHeights",o[o.allowVariableFonts=6]="allowVariableFonts",o[o.allowVariableFontsInAccessibilityMode=7]="allowVariableFontsInAccessibilityMode",o[o.ariaLabel=8]="ariaLabel",o[o.ariaRequired=9]="ariaRequired",o[o.autoClosingBrackets=10]="autoClosingBrackets",o[o.autoClosingComments=11]="autoClosingComments",o[o.screenReaderAnnounceInlineSuggestion=12]="screenReaderAnnounceInlineSuggestion",o[o.autoClosingDelete=13]="autoClosingDelete",o[o.autoClosingOvertype=14]="autoClosingOvertype",o[o.autoClosingQuotes=15]="autoClosingQuotes",o[o.autoIndent=16]="autoIndent",o[o.autoIndentOnPaste=17]="autoIndentOnPaste",o[o.autoIndentOnPasteWithinString=18]="autoIndentOnPasteWithinString",o[o.automaticLayout=19]="automaticLayout",o[o.autoSurround=20]="autoSurround",o[o.bracketPairColorization=21]="bracketPairColorization",o[o.guides=22]="guides",o[o.codeLens=23]="codeLens",o[o.codeLensFontFamily=24]="codeLensFontFamily",o[o.codeLensFontSize=25]="codeLensFontSize",o[o.colorDecorators=26]="colorDecorators",o[o.colorDecoratorsLimit=27]="colorDecoratorsLimit",o[o.columnSelection=28]="columnSelection",o[o.comments=29]="comments",o[o.contextmenu=30]="contextmenu",o[o.copyWithSyntaxHighlighting=31]="copyWithSyntaxHighlighting",o[o.cursorBlinking=32]="cursorBlinking",o[o.cursorSmoothCaretAnimation=33]="cursorSmoothCaretAnimation",o[o.cursorStyle=34]="cursorStyle",o[o.cursorSurroundingLines=35]="cursorSurroundingLines",o[o.cursorSurroundingLinesStyle=36]="cursorSurroundingLinesStyle",o[o.cursorWidth=37]="cursorWidth",o[o.cursorHeight=38]="cursorHeight",o[o.disableLayerHinting=39]="disableLayerHinting",o[o.disableMonospaceOptimizations=40]="disableMonospaceOptimizations",o[o.domReadOnly=41]="domReadOnly",o[o.dragAndDrop=42]="dragAndDrop",o[o.dropIntoEditor=43]="dropIntoEditor",o[o.editContext=44]="editContext",o[o.emptySelectionClipboard=45]="emptySelectionClipboard",o[o.experimentalGpuAcceleration=46]="experimentalGpuAcceleration",o[o.experimentalWhitespaceRendering=47]="experimentalWhitespaceRendering",o[o.extraEditorClassName=48]="extraEditorClassN
Line truncated
|
||||
`);s.lastIndex=0;let d;for(;(d=s.exec(c))!==null;){const h=c.substring(0,d.index),u=(h.match(/\n/g)||[]).length,f=r+u,g=d[0].split(`
|
||||
`),p=g.length,_=f+p-1,b=h.lastIndexOf(`
|
||||
`)+1,C=d.index-b+1,w=g[g.length-1],v=p===1?C+d[0].length:w.length+1,S={startLineNumber:f,startColumn:C,endLineNumber:_,endColumn:v},L=(d.groups??{}).label??"",x=((d.groups??{}).separator??"")!=="",I={range:S,text:L,hasSeparatorLine:x,shouldBeInComments:!0};(I.text||I.hasSeparatorLine)&&(t.length===0||t[t.length-1].range.endLineNumber<I.range.startLineNumber)&&t.push(I),s.lastIndex=d.index+d[0].length}}return t}function JAe(o){o=o.trim();const e=o.startsWith("-");return o=o.replace(GAe,""),{text:o,hasSeparatorLine:e}}class ePe{constructor(e,t,i,n){this._uri=e,this._lines=t,this._eol=i,this._versionId=n,this._lineStarts=null,this._cachedTextValue=null}dispose(){this._lines.length=0}get version(){return this._versionId}getText(){return this._cachedTextValue===null&&(this._cachedTextValue=this._lines.join(this._eol)),this._cachedTextValue}onEvents(e){e.eol&&e.eol!==this._eol&&(this._eol=e.eol,this._lineStarts=null);const t=e.changes;for(const i of t)this._acceptDeleteRange(i.range),this._acceptInsertText(new M(i.range.startLineNumber,i.range.startColumn),i.text);this._versionId=e.versionId,this._cachedTextValue=null}_ensureLineStarts(){if(!this._lineStarts){const e=this._eol.length,t=this._lines.length,i=new Uint32Array(t);for(let n=0;n<t;n++)i[n]=this._lines[n].length+e;this._lineStarts=new t_e(i)}}_setLineText(e,t){this._lines[e]=t,this._lineStarts&&this._lineStarts.setValue(e,this._lines[e].length+this._eol.length)}_acceptDeleteRange(e){if(e.startLineNumber===e.endLineNumber){if(e.startColumn===e.endColumn)return;this._setLineText(e.startLineNumber-1,this._lines[e.startLineNumber-1].substring(0,e.startColumn-1)+this._lines[e.startLineNumber-1].substring(e.endColumn-1));return}this._setLineText(e.startLineNumber-1,this._lines[e.startLineNumber-1].substring(0,e.startColumn-1)+this._lines[e.endLineNumber-1].substring(e.endColumn-1)),this._lines.splice(e.startLineNumber,e.endLineNumber-e.startLineNumber),this._lineStarts&&this._lineStarts.removeValues(e.startLineNumber,e.endLineNumber-e.startLineNumber)}_acceptInsertText(e,t){if(t.length===0)return;const i=lo(t);if(i.length===1){this._setLineText(e.lineNumber-1,this._lines[e.lineNumber-1].substring(0,e.column-1)+i[0]+this._lines[e.lineNumber-1].substring(e.column-1));return}i[i.length-1]+=this._lines[e.lineNumber-1].substring(e.column-1),this._setLineText(e.lineNumber-1,this._lines[e.lineNumber-1].substring(0,e.column-1)+i[0]);const n=new Uint32Array(i.length-1);for(let s=1;s<i.length;s++)this._lines.splice(e.lineNumber+s-1,0,i[s]),n[s-1]=i[s].length+this._eol.length;this._lineStarts&&this._lineStarts.insertValues(e.lineNumber,n)}}const yee=60*1e3;class tPe extends P{constructor(e,t,i=!1){if(super(),this._syncedModels=Object.create(null),this._syncedModelsLastUsedTime=Object.create(null),this._proxy=e,this._modelService=t,!i){const n=new MR;n.cancelAndSet(()=>this._checkStopModelSync(),Math.round(yee/2)),this._register(n)}}dispose(){for(const e in this._syncedModels)ht(this._syncedModels[e]);this._syncedModels=Object.create(null),this._syncedModelsLastUsedTime=Object.create(null),super.dispose()}ensureSyncedResources(e,t=!1){for(const i of e){const n=i.toString();this._syncedModels[n]||this._beginModelSync(i,t),this._syncedModels[n]&&(this._syncedModelsLastUsedTime[n]=new Date().getTime())}}_checkStopModelSync(){const e=new Date().getTime(),t=[];for(const i in this._syncedModelsLastUsedTime)e-this._syncedModelsLastUsedTime[i]>yee&&t.push(i);for(const i of t)this._stopModelSync(i)}_beginModelSync(e,t){const i=this._modelService.getModel(e);if(!i||!t&&i.isTooLargeForSyncing())return;const n=e.toString();this._proxy.$acceptNewModel({url:i.uri.toString(),lines:i.getLinesContent(),EOL:i.getEOL(),versionId:i.getVersionId()});const s=new V;s.add(i.onDidChangeContent(r=>{this._proxy.$acceptModelChanged(n.toString(),r)})),s.add(i.onWillDispose(()=>{this._stopModelSync(n)})),s.add(fe(()=>{this._proxy.$acceptRemovedModel(n)})),this._syncedModels[n]=s}_stopModelSync(e){const t=this._syncedModels[e];delete this._syncedModels[e],delete this._syncedModelsLastUsedTime[e],ht(t)}}class iPe{constructor(){this._models=Object.create(null)}getModel(e){return this._models[e]}getModels(){const e=[];return Object.keys(this._models).forEach(t=>e.push(this._models[t])),e}$acceptNewModel(e){this._models[e.url]=new nPe(be.parse(e.url),e.lines,e.EOL,e.versionId)}$acceptModelChanged(e,t){if(!this._models[e])return;this._models[e].onEvents(t)}$acceptRemovedModel(e){this._models[e]&&delete this._models[e]}}class nPe extends ePe{get uri(){return this._uri}get eol(){return this._eol}getValue(){return this.getText()}findMatches(e){const t=[];for(let i=0;i<this._lines.length;i++){const n=this._lines[i],s=this.offsetAt(new M(i+1,1)),r=n.matchAll(e);for(const a of r)(a.index||a.index===0)&&(a.index=a.index+s),t.push(a)}return t}getLinesContent(){return this._lines.slice(0)}getLineCount(){return this._lines.length}getLineContent(e){return this._lines[e-1]}getWordAtPosition(e,t){const i=Bv(e.column,$M
Line truncated
|
||||
`:e,l=a.length;let c=i.embeddedLanguageData,d=i.stack,h=0,u=null,f=!0;for(;f||h<l;){const g=h,p=d.depth,_=u?u.groups.length:0,b=d.state;let C=null,w=null,v=null,S=null,L=null;if(u){C=u.matches;const D=u.groups.shift();w=D.matched,v=D.action,S=u.rule,u.groups.length===0&&(u=null)}else{if(!f&&h>=l)break;f=!1;let D=this._lexer.tokenizer[b];if(!D&&(D=FE(this._lexer,b),!D))throw Gt(this._lexer,"tokenizer state is not defined: "+b);const R=a.substr(h);for(const O of D)if((h===0||!O.matchOnlyAtLineStart)&&(C=R.match(O.resolveRegex(b)),C)){w=C[0],v=O.action;break}}if(C||(C=[""],w=""),v||(h<l&&(C=[a.charAt(h)],w=C[0]),v=this._lexer.defaultToken),w===null)break;for(h+=w.length;cPe(v)&&kee(v)&&v.test;)v=v.test(w,C,b,h===l);let x=null;if(typeof v=="string"||Array.isArray(v))x=v;else if(v.group)x=v.group;else if(v.token!==null&&v.token!==void 0){if(v.tokenSubst?x=vu(this._lexer,v.token,w,C,b):x=v.token,v.nextEmbedded)if(v.nextEmbedded==="@pop"){if(!c)throw Gt(this._lexer,"cannot pop embedded language if not inside one");c=null}else{if(c)throw Gt(this._lexer,"cannot enter embedded language from within an embedded language");L=vu(this._lexer,v.nextEmbedded,w,C,b)}if(v.goBack&&(h=Math.max(0,h-v.goBack)),v.switchTo&&typeof v.switchTo=="string"){let D=vu(this._lexer,v.switchTo,w,C,b);if(D[0]==="@"&&(D=D.substr(1)),FE(this._lexer,D))d=d.switchTo(D);else throw Gt(this._lexer,"trying to switch to a state '"+D+"' that is undefined in rule: "+this._safeRuleName(S))}else{if(v.transform&&typeof v.transform=="function")throw Gt(this._lexer,"action.transform not supported");if(v.next)if(v.next==="@push"){if(d.depth>=this._lexer.maxStack)throw Gt(this._lexer,"maximum tokenizer stack size reached: ["+d.state+","+d.parent.state+",...]");d=d.push(b)}else if(v.next==="@pop"){if(d.depth<=1)throw Gt(this._lexer,"trying to pop an empty stack in rule: "+this._safeRuleName(S));d=d.pop()}else if(v.next==="@popall")d=d.popall();else{let D=vu(this._lexer,v.next,w,C,b);if(D[0]==="@"&&(D=D.substr(1)),FE(this._lexer,D))d=d.push(D);else throw Gt(this._lexer,"trying to set a next state '"+D+"' that is undefined in rule: "+this._safeRuleName(S))}}v.log&&typeof v.log=="string"&&dPe(this._lexer,this._lexer.languageId+": "+vu(this._lexer,v.log,w,C,b))}if(x===null)throw Gt(this._lexer,"lexer rule has no well-defined action in rule: "+this._safeRuleName(S));const I=D=>{const R=this._languageService.getLanguageIdByLanguageName(D)||this._languageService.getLanguageIdByMimeType(D)||D,O=this._getNestedEmbeddedLanguageData(R);if(h<l){const F=e.substr(h);return this._nestedTokenize(F,t,wu.create(d,O),n+h,s)}else return wu.create(d,O)};if(Array.isArray(x)){if(u&&u.groups.length>0)throw Gt(this._lexer,"groups cannot be nested: "+this._safeRuleName(S));if(C.length!==x.length+1)throw Gt(this._lexer,"matched number of groups does not match the number of actions in rule: "+this._safeRuleName(S));let D=0;for(let R=1;R<C.length;R++)D+=C[R].length;if(D!==w.length)throw Gt(this._lexer,"with groups, all characters should be matched in consecutive groups in rule: "+this._safeRuleName(S));u={rule:S,matches:C,groups:[]};for(let R=0;R<x.length;R++)u.groups[R]={action:x[R],matched:C[R+1]};h-=w.length;continue}else{if(x==="@rematch"&&(h-=w.length,w="",C=null,x="",L!==null))return I(L);if(w.length===0){if(l===0||p!==d.depth||b!==d.state||(u?u.groups.length:0)!==_)continue;throw Gt(this._lexer,"no progress in tokenizer in rule: "+this._safeRuleName(S))}let D=null;if(xee(x)&&x.indexOf("@brackets")===0){const R=x.substr(9),O=mPe(this._lexer,w);if(!O)throw Gt(this._lexer,"@brackets token returned but no bracket defined as: "+w);D=Iee(O.token+R)}else{const R=x===""?"":x+this._lexer.tokenPostfix;D=Iee(R)}g<r&&s.emit(g+n,D)}if(L!==null)return I(L)}return wu.create(d,c)}_getNestedEmbeddedLanguageData(e){if(!this._languageService.isRegisteredLanguageId(e))return new lC(e,U_);e!==this._languageId&&(this._languageService.requestBasicLanguageFeatures(e),hi.getOrCreate(e),this._embeddedLanguages[e]=!0);const t=hi.get(e);return t?new lC(e,t.getInitialState()):new lC(e,U_)}};pS=r8=fPe([gPe(4,Me)],pS);function mPe(o,e){if(!e)return null;e=Ud(o,e);const t=o.brackets;for(const i of t){if(i.open===e)return{token:i.token,bracketType:1};if(i.close===e)return{token:i.token,bracketType:-1}}return null}const _Pe=yl("standaloneColorizer",{createHTML:o=>o});class a8{static colorizeElement(e,t,i,n){n=n||{};const s=n.theme||"vs",r=n.mimeType||i.getAttribute("lang")||i.getAttribute("data-lang");if(!r)return console.error("Mode not detected"),Promise.resolve();const a=t.getLanguageIdByMimeType(r)||r;e.setTheme(s);const l=i.firstChild?i.firstChild.nodeValue:"";i.className+=" "+s;const c=d=>{const h=_Pe?.createHTML(d)??d;i.innerHTML=h};return this.colorize(t,l||"",a,n).then(c,d=>console.error(d))}static async colorize(e,t,i,n){const s=e.languageIdCodec;let r=4;n&&typeof n.tabSize=="number"&&(r=n.tabSize),$R(t)&&(t=t.substr(1));const a=lo(t);if(!e.isRegisteredLanguageId(i))return Eee(a,r,s);const l=await hi.getO
Line truncated
|
||||
`)}get size(){return this.elements.size}has(e){return this.elements.has(e)}set(e,t){this.elements.set(e,t)}delete(e){return this.elements.delete(e)}}class LPe{constructor(e,t,i,n,s,r,a){this.id=++Aee,this.type=1,this.actual=e,this.label=e.label,this.confirmBeforeUndo=e.confirmBeforeUndo||!1,this.resourceLabels=t,this.strResources=i,this.groupId=n,this.groupOrder=s,this.sourceId=r,this.sourceOrder=a,this.removedResources=null,this.invalidatedResources=null}canSplit(){return typeof this.actual.split=="function"}removeResource(e,t,i){this.removedResources||(this.removedResources=new Oee),this.removedResources.has(t)||this.removedResources.set(t,new Pee(e,i))}setValid(e,t,i){i?this.invalidatedResources&&(this.invalidatedResources.delete(t),this.invalidatedResources.size===0&&(this.invalidatedResources=null)):(this.invalidatedResources||(this.invalidatedResources=new Oee),this.invalidatedResources.has(t)||this.invalidatedResources.set(t,new Pee(e,0)))}toString(){return`[id:${this.id}] [group:${this.groupId}] [${this.invalidatedResources?"INVALID":" VALID"}] ${this.actual.constructor.name} - ${this.actual}`}}class Fee{constructor(e,t){this.resourceLabel=e,this.strResource=t,this._past=[],this._future=[],this.locked=!1,this.versionId=1}dispose(){for(const e of this._past)e.type===1&&e.removeResource(this.resourceLabel,this.strResource,0);for(const e of this._future)e.type===1&&e.removeResource(this.resourceLabel,this.strResource,0);this.versionId++}toString(){const e=[];e.push(`* ${this.strResource}:`);for(let t=0;t<this._past.length;t++)e.push(` * [UNDO] ${this._past[t]}`);for(let t=this._future.length-1;t>=0;t--)e.push(` * [REDO] ${this._future[t]}`);return e.join(`
|
||||
`)}flushAllElements(){this._past=[],this._future=[],this.versionId++}_setElementValidFlag(e,t){e.type===1?e.setValid(this.resourceLabel,this.strResource,t):e.setValid(t)}setElementsValidFlag(e,t){for(const i of this._past)t(i.actual)&&this._setElementValidFlag(i,e);for(const i of this._future)t(i.actual)&&this._setElementValidFlag(i,e)}pushElement(e){for(const t of this._future)t.type===1&&t.removeResource(this.resourceLabel,this.strResource,1);this._future=[],this._past.push(e),this.versionId++}createSnapshot(e){const t=[];for(let i=0,n=this._past.length;i<n;i++)t.push(this._past[i].id);for(let i=this._future.length-1;i>=0;i--)t.push(this._future[i].id);return new j$(e,t)}restoreSnapshot(e){const t=e.elements.length;let i=!0,n=0,s=-1;for(let a=0,l=this._past.length;a<l;a++,n++){const c=this._past[a];i&&(n>=t||c.id!==e.elements[n])&&(i=!1,s=0),!i&&c.type===1&&c.removeResource(this.resourceLabel,this.strResource,0)}let r=-1;for(let a=this._future.length-1;a>=0;a--,n++){const l=this._future[a];i&&(n>=t||l.id!==e.elements[n])&&(i=!1,r=a),!i&&l.type===1&&l.removeResource(this.resourceLabel,this.strResource,0)}s!==-1&&(this._past=this._past.slice(0,s)),r!==-1&&(this._future=this._future.slice(r+1)),this.versionId++}getElements(){const e=[],t=[];for(const i of this._past)e.push(i.actual);for(const i of this._future)t.push(i.actual);return{past:e,future:t}}getClosestPastElement(){return this._past.length===0?null:this._past[this._past.length-1]}getSecondClosestPastElement(){return this._past.length<2?null:this._past[this._past.length-2]}getClosestFutureElement(){return this._future.length===0?null:this._future[this._future.length-1]}hasPastElements(){return this._past.length>0}hasFutureElements(){return this._future.length>0}splitPastWorkspaceElement(e,t){for(let i=this._past.length-1;i>=0;i--)if(this._past[i]===e){t.has(this.strResource)?this._past[i]=t.get(this.strResource):this._past.splice(i,1);break}this.versionId++}splitFutureWorkspaceElement(e,t){for(let i=this._future.length-1;i>=0;i--)if(this._future[i]===e){t.has(this.strResource)?this._future[i]=t.get(this.strResource):this._future.splice(i,1);break}this.versionId++}moveBackward(e){this._past.pop(),this._future.push(e),this.versionId++}moveForward(e){this._future.pop(),this._past.push(e),this.versionId++}}class d8{constructor(e){this.editStacks=e,this._versionIds=[];for(let t=0,i=this.editStacks.length;t<i;t++)this._versionIds[t]=this.editStacks[t].versionId}isValid(){for(let e=0,t=this.editStacks.length;e<t;e++)if(this._versionIds[e]!==this.editStacks[e].versionId)return!1;return!0}}const Wee=new Fee("","");Wee.locked=!0;let h8=class{constructor(e,t){this._dialogService=e,this._notificationService=t,this._editStacks=new Map,this._uriComparisonKeyComputers=[]}getUriComparisonKey(e){for(const t of this._uriComparisonKeyComputers)if(t[0]===e.scheme)return t[1].getComparisonKey(e);return e.toString()}_print(e){console.log("------------------------------------"),console.log(`AFTER ${e}: `);const t=[];for(const i of this._editStacks)t.push(i[1].toString());console.log(t.join(`
|
||||
`))}pushElement(e,t=_P.None,i=eg.None){if(e.type===0){const n=VE(e.resource),s=this.getUriComparisonKey(e.resource);this._pushElement(new zE(e,n,s,t.id,t.nextOrder(),i.id,i.nextOrder()))}else{const n=new Set,s=[],r=[];for(const a of e.resources){const l=VE(a),c=this.getUriComparisonKey(a);n.has(c)||(n.add(c),s.push(l),r.push(c))}s.length===1?this._pushElement(new zE(e,s[0],r[0],t.id,t.nextOrder(),i.id,i.nextOrder())):this._pushElement(new LPe(e,s,r,t.id,t.nextOrder(),i.id,i.nextOrder()))}}_pushElement(e){for(let t=0,i=e.strResources.length;t<i;t++){const n=e.resourceLabels[t],s=e.strResources[t];let r;this._editStacks.has(s)?r=this._editStacks.get(s):(r=new Fee(n,s),this._editStacks.set(s,r)),r.pushElement(e)}}getLastElement(e){const t=this.getUriComparisonKey(e);if(this._editStacks.has(t)){const i=this._editStacks.get(t);if(i.hasFutureElements())return null;const n=i.getClosestPastElement();return n?n.actual:null}return null}_splitPastWorkspaceElement(e,t){const i=e.actual.split(),n=new Map;for(const s of i){const r=VE(s.resource),a=this.getUriComparisonKey(s.resource),l=new zE(s,r,a,0,0,0,0);n.set(l.strResource,l)}for(const s of e.strResources){if(t&&t.has(s))continue;this._editStacks.get(s).splitPastWorkspaceElement(e,n)}}_splitFutureWorkspaceElement(e,t){const i=e.actual.split(),n=new Map;for(const s of i){const r=VE(s.resource),a=this.getUriComparisonKey(s.resource),l=new zE(s,r,a,0,0,0,0);n.set(l.strResource,l)}for(const s of e.strResources){if(t&&t.has(s))continue;this._editStacks.get(s).splitFutureWorkspaceElement(e,n)}}removeElements(e){const t=typeof e=="string"?e:this.getUriComparisonKey(e);this._editStacks.has(t)&&(this._editStacks.get(t).dispose(),this._editStacks.delete(t))}setElementsValidFlag(e,t,i){const n=this.getUriComparisonKey(e);this._editStacks.has(n)&&this._editStacks.get(n).setElementsValidFlag(t,i)}createSnapshot(e){const t=this.getUriComparisonKey(e);return this._editStacks.has(t)?this._editStacks.get(t).createSnapshot(e):new j$(e,[])}restoreSnapshot(e){const t=this.getUriComparisonKey(e.resource);if(this._editStacks.has(t)){const i=this._editStacks.get(t);i.restoreSnapshot(e),!i.hasPastElements()&&!i.hasFutureElements()&&(i.dispose(),this._editStacks.delete(t))}}getElements(e){const t=this.getUriComparisonKey(e);return this._editStacks.has(t)?this._editStacks.get(t).getElements():{past:[],future:[]}}_findClosestUndoElementWithSource(e){if(!e)return[null,null];let t=null,i=null;for(const[n,s]of this._editStacks){const r=s.getClosestPastElement();r&&r.sourceId===e&&(!t||r.sourceOrder>t.sourceOrder)&&(t=r,i=n)}return[t,i]}canUndo(e){if(e instanceof eg){const[,i]=this._findClosestUndoElementWithSource(e.id);return!!i}const t=this.getUriComparisonKey(e);return this._editStacks.has(t)?this._editStacks.get(t).hasPastElements():!1}_onError(e,t){De(e);for(const i of t.strResources)this.removeElements(i);this._notificationService.error(e)}_acquireLocks(e){for(const t of e.editStacks)if(t.locked)throw new Error("Cannot acquire edit stack lock");for(const t of e.editStacks)t.locked=!0;return()=>{for(const t of e.editStacks)t.locked=!1}}_safeInvokeWithLocks(e,t,i,n,s){const r=this._acquireLocks(i);let a;try{a=t()}catch(l){return r(),n.dispose(),this._onError(l,e)}return a?a.then(()=>(r(),n.dispose(),s()),l=>(r(),n.dispose(),this._onError(l,e))):(r(),n.dispose(),s())}async _invokeWorkspacePrepare(e){if(typeof e.actual.prepareUndoRedo>"u")return P.None;const t=e.actual.prepareUndoRedo();return typeof t>"u"?P.None:t}_invokeResourcePrepare(e,t){if(e.actual.type!==1||typeof e.actual.prepareUndoRedo>"u")return t(P.None);const i=e.actual.prepareUndoRedo();return i?nf(i)?t(i):i.then(n=>t(n)):t(P.None)}_getAffectedEditStacks(e){const t=[];for(const i of e.strResources)t.push(this._editStacks.get(i)||Wee);return new d8(t)}_tryToSplitAndUndo(e,t,i,n){if(t.canSplit())return this._splitPastWorkspaceElement(t,i),this._notificationService.warn(n),new UE(this._undo(e,0,!0));for(const s of t.strResources)this.removeElements(s);return this._notificationService.warn(n),new UE}_checkWorkspaceUndo(e,t,i,n){if(t.removedResources)return this._tryToSplitAndUndo(e,t,t.removedResources,m(2032,"Could not undo '{0}' across all files. {1}",t.label,t.removedResources.createMessage()));if(n&&t.invalidatedResources)return this._tryToSplitAndUndo(e,t,t.invalidatedResources,m(2033,"Could not undo '{0}' across all files. {1}",t.label,t.invalidatedResources.createMessage()));const s=[];for(const a of i.editStacks)a.getClosestPastElement()!==t&&s.push(a.resourceLabel);if(s.length>0)return this._tryToSplitAndUndo(e,t,null,m(2034,"Could not undo '{0}' across all files because changes were made to {1}",t.label,s.join(", ")));const r=[];for(const a of i.editStacks)a.locked&&r.push(a.resourceLabel);return r.length>0?this._tryToSplitAndUndo(e,t,null,m(2035,"Could not undo '{0}' across all files because there is already an undo or redo operation running on {1}",t.label,r.join(", "))):i.isValid()?null:this._tryToSplitAndUndo(e,t,null,m
Line truncated
|
||||
:host {
|
||||
all: initial; /* 1st rule so subsequent properties are reset. */
|
||||
}
|
||||
|
||||
.codicon[class*='codicon-'] {
|
||||
font: normal normal normal 16px/1 codicon;
|
||||
display: inline-block;
|
||||
text-decoration: none;
|
||||
text-rendering: auto;
|
||||
text-align: center;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
user-select: none;
|
||||
-webkit-user-select: none;
|
||||
-ms-user-select: none;
|
||||
}
|
||||
|
||||
:host {
|
||||
font-family: -apple-system, BlinkMacSystemFont, "Segoe WPC", "Segoe UI", "HelveticaNeue-Light", system-ui, "Ubuntu", "Droid Sans", sans-serif;
|
||||
}
|
||||
|
||||
:host-context(.mac) { font-family: -apple-system, BlinkMacSystemFont, sans-serif; }
|
||||
:host-context(.mac:lang(zh-Hans)) { font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", sans-serif; }
|
||||
:host-context(.mac:lang(zh-Hant)) { font-family: -apple-system, BlinkMacSystemFont, "PingFang TC", sans-serif; }
|
||||
:host-context(.mac:lang(ja)) { font-family: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic Pro", sans-serif; }
|
||||
:host-context(.mac:lang(ko)) { font-family: -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Nanum Gothic", "AppleGothic", sans-serif; }
|
||||
|
||||
:host-context(.windows) { font-family: "Segoe WPC", "Segoe UI", sans-serif; }
|
||||
:host-context(.windows:lang(zh-Hans)) { font-family: "Segoe WPC", "Segoe UI", "Microsoft YaHei", sans-serif; }
|
||||
:host-context(.windows:lang(zh-Hant)) { font-family: "Segoe WPC", "Segoe UI", "Microsoft Jhenghei", sans-serif; }
|
||||
:host-context(.windows:lang(ja)) { font-family: "Segoe WPC", "Segoe UI", "Yu Gothic UI", "Meiryo UI", sans-serif; }
|
||||
:host-context(.windows:lang(ko)) { font-family: "Segoe WPC", "Segoe UI", "Malgun Gothic", "Dotom", sans-serif; }
|
||||
|
||||
:host-context(.linux) { font-family: system-ui, "Ubuntu", "Droid Sans", sans-serif; }
|
||||
:host-context(.linux:lang(zh-Hans)) { font-family: system-ui, "Ubuntu", "Droid Sans", "Source Han Sans SC", "Source Han Sans CN", "Source Han Sans", sans-serif; }
|
||||
:host-context(.linux:lang(zh-Hant)) { font-family: system-ui, "Ubuntu", "Droid Sans", "Source Han Sans TC", "Source Han Sans TW", "Source Han Sans", sans-serif; }
|
||||
:host-context(.linux:lang(ja)) { font-family: system-ui, "Ubuntu", "Droid Sans", "Source Han Sans J", "Source Han Sans JP", "Source Han Sans", sans-serif; }
|
||||
:host-context(.linux:lang(ko)) { font-family: system-ui, "Ubuntu", "Droid Sans", "Source Han Sans K", "Source Han Sans JR", "Source Han Sans", "UnDotum", "FBaekmuk Gulim", sans-serif; }
|
||||
`;var TPe=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},RPe=function(o,e){return function(t,i){e(t,i,o)}};let jE=class extends P{constructor(e){super(),this.layoutService=e,this.contextView=this._register(new p8(this.layoutService.mainContainer,1)),this.layout(),this._register(e.onDidLayoutContainer(()=>this.layout()))}showContextView(e,t,i){let n;t?t===this.layoutService.getContainer(me(t))?n=1:i?n=3:n=2:n=1,this.contextView.setContainer(t??this.layoutService.activeContainer,n),this.contextView.show(e);const s={close:()=>{this.openContextView===s&&this.hideContextView()}};return this.openContextView=s,s}layout(){this.contextView.layout()}hideContextView(e){this.contextView.hide(e),this.openContextView=void 0}};jE=TPe([RPe(0,Hl)],jE);class MPe extends jE{getContextViewElement(){return this.contextView.getViewElement()}}function zee(o){const e=o;return typeof e=="object"&&"markdown"in e&&"markdownNotSupportedFallback"in e}class APe{constructor(e,t,i){this.hoverDelegate=e,this.target=t,this.fadeInAnimation=i}async update(e,t,i){if(this._cancellationTokenSource&&(this._cancellationTokenSource.dispose(!0),this._cancellationTokenSource=void 0),this.isDisposed)return;let n;if(Zi(e)||li(e)||e===void 0)n=e;else{this._cancellationTokenSource=new zt;const s=this._cancellationTokenSource.token;let r;if(zee(e)?Qu(e.markdown)?r=e.markdown(s).then(a=>a??e.markdownNotSupportedFallback):r=e.markdown??e.markdownNotSupportedFallback:r=e.element(s),r instanceof Promise?(this._hoverWidget||this.show(m(1700,"Loading..."),t,i),n=await r):n=r,this.isDisposed||s.isCancellationRequested)return}this.show(n,t,i)}show(e,t,i){const n=this._hoverWidget;if(this.hasContent(e)){const s={content:e,target:this.target,actions:i?.actions,linkHandler:i?.linkHandler,trapFocus:i?.trapFocus,appearance:{showPointer:this.hoverDelegate.placement==="element",skipFadeInAnimation:!this.fadeInAnimation||!!n,showHoverHint:i?.appearance?.showHoverHint},position:{hoverPosition:2}};this._hoverWidget=this.hoverDelegate.showHover(s,t)}n?.dispose()}hasContent(e){return e?ud(e)?!!e.value:!0:!1}get isDisposed(){return this._hoverWidget?.isDisposed}dispose(){this._hoverWidget?.dispose(),this._cancellationTokenSource?.dispose(!0),this._cancellationTokenSource=void 0}}var PPe=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},dC=function(o,e){return function(t,i){e(t,i,o)}};let m8=class extends P{constructor(e,t,i,n,s,r){super(),this._instantiationService=e,this._configurationService=t,this._keybindingService=n,this._layoutService=s,this._accessibilityService=r,this._currentDelayedHoverWasShown=!1,this._delayedHovers=new Map,this._managedHovers=new Map,this._register(i.onDidShowContextMenu(()=>this.hideHover())),this._contextViewHandler=this._register(new jE(this._layoutService)),this._register(ln.registerCommandAndKeybindingRule({id:"workbench.action.showHover",weight:0,primary:Ei(2089,2087),handler:()=>{this._showAndFocusHoverForActiveElement()}}))}showInstantHover(e,t,i,n){const s=this._createHover(e,i);if(s)return this._showHover(s,e,t),s}showDelayedHover(e,t){if(e.id===void 0&&(e.id=Uee(e.content)),!this._currentDelayedHover||this._currentDelayedHoverWasShown){if(this._currentHover?.isLocked)return;if(yu(this._currentHoverOptions)===yu(e))return this._currentHover;if(this._currentHover&&!this._currentHover.isDisposed&&this._currentDelayedHoverGroupId!==void 0&&this._currentDelayedHoverGroupId===t?.groupId)return this.showInstantHover({...e,appearance:{...e.appearance,skipFadeInAnimation:!0}})}else if(this._currentDelayedHover&&yu(this._currentHoverOptions)===yu(e))return this._currentDelayedHover;const i=this._createHover(e,void 0);if(!i){this._currentDelayedHover=void 0,this._currentDelayedHoverWasShown=!1,this._currentDelayedHoverGroupId=void 0;return}return this._currentDelayedHover=i,this._currentDelayedHoverWasShown=!1,this._currentDelayedHoverGroupId=t?.groupId,dl(this._configurationService.getValue("workbench.hover.delay")).then(()=>{i&&!i.isDisposed&&(this._currentDelayedHoverWasShown=!0,this._showHover(i,e))}),i}setupDelayedHover(e,t,i){const n=()=>({...typeof t=="function"?t():t,target:e});return this._setupDelayedHover(e,n,i)}setupDelayedHoverAtMouse(e,t,i){const n=s=>({...typeof t=="function"?t():t,target:{targetElements:[e],x:s!==void 0?s.x+10:void 0}});return this._setupDelayedHover(e,n,i)}_setupDelayedHover(e,t,i){const n=new V;return n.add(W(e,te.MOUSE_OVER,s=>{this.showDelayedHover(t(s),{groupId:i?.grou
Line truncated
|
||||
`,this._markerCode1=this._marker.charCodeAt(0),this._markerCode2=46,this.affectedKeys=new Set,this._previousConfiguration=void 0;for(const r of e.keys)this.affectedKeys.add(r);for(const[,r]of e.overrides)for(const a of r)this.affectedKeys.add(a);this._affectsConfigStr=this._marker;for(const r of this.affectedKeys)this._affectsConfigStr+=r+this._marker}get previousConfiguration(){return!this._previousConfiguration&&this.previous&&(this._previousConfiguration=KE.parse(this.previous.data,this.logService)),this._previousConfiguration}affectsConfiguration(e,t){const i=this._marker+e,n=this._affectsConfigStr.indexOf(i);if(n<0)return!1;const s=n+i.length;if(s>=this._affectsConfigStr.length)return!1;const r=this._affectsConfigStr.charCodeAt(s);if(r!==this._markerCode1&&r!==this._markerCode2)return!1;if(t){const a=this.previousConfiguration?this.previousConfiguration.getValue(e,t,this.previous?.workspace):void 0,l=this.currentConfiguraiton.getValue(e,t,this.currentWorkspace);return!po(a,l)}return!0}}const GE={kind:0},zPe={kind:1};function UPe(o,e,t){return{kind:2,commandId:o,commandArgs:e,isBubble:t}}class _S{constructor(e,t,i){this._log=i,this._defaultKeybindings=e,this._defaultBoundCommands=new Map;for(const n of e){const s=n.command;s&&s.charAt(0)!=="-"&&this._defaultBoundCommands.set(s,!0)}this._map=new Map,this._lookupMap=new Map,this._keybindings=_S.handleRemovals([].concat(e).concat(t));for(let n=0,s=this._keybindings.length;n<s;n++){const r=this._keybindings[n];if(r.chords.length===0)continue;const a=r.when?.substituteConstants();a&&a.type===0||this._addKeyPress(r.chords[0],r)}}static _isTargetedForRemoval(e,t,i){if(t){for(let n=0;n<t.length;n++)if(t[n]!==e.chords[n])return!1}return!(i&&i.type!==1&&(!e.when||!xoe(i,e.when)))}static handleRemovals(e){const t=new Map;for(let n=0,s=e.length;n<s;n++){const r=e[n];if(r.command&&r.command.charAt(0)==="-"){const a=r.command.substring(1);t.has(a)?t.get(a).push(r):t.set(a,[r])}}if(t.size===0)return e;const i=[];for(let n=0,s=e.length;n<s;n++){const r=e[n];if(!r.command||r.command.length===0){i.push(r);continue}if(r.command.charAt(0)==="-")continue;const a=t.get(r.command);if(!a||!r.isDefault){i.push(r);continue}let l=!1;for(const c of a){const d=c.when;if(this._isTargetedForRemoval(r,c.chords,d)){l=!0;break}}if(!l){i.push(r);continue}}return i}_addKeyPress(e,t){const i=this._map.get(e);if(typeof i>"u"){this._map.set(e,[t]),this._addToLookupMap(t);return}for(let n=i.length-1;n>=0;n--){const s=i[n];if(s.command===t.command)continue;let r=!0;for(let a=1;a<s.chords.length&&a<t.chords.length;a++)if(s.chords[a]!==t.chords[a]){r=!1;break}r&&_S.whenIsEntirelyIncluded(s.when,t.when)&&this._removeFromLookupMap(s)}i.push(t),this._addToLookupMap(t)}_addToLookupMap(e){if(!e.command)return;let t=this._lookupMap.get(e.command);typeof t>"u"?(t=[e],this._lookupMap.set(e.command,t)):t.push(e)}_removeFromLookupMap(e){if(!e.command)return;const t=this._lookupMap.get(e.command);if(!(typeof t>"u")){for(let i=0,n=t.length;i<n;i++)if(t[i]===e){t.splice(i,1);return}}}static whenIsEntirelyIncluded(e,t){return!t||t.type===1?!0:!e||e.type===1?!1:RM(e,t)}getKeybindings(){return this._keybindings}lookupPrimaryKeybinding(e,t,i=!1){const n=this._lookupMap.get(e);if(typeof n>"u"||n.length===0)return null;if(n.length===1&&!i)return n[0];for(let s=n.length-1;s>=0;s--){const r=n[s];if(t.contextMatchesRules(r.when))return r}return i?null:n[n.length-1]}resolve(e,t,i){const n=[...t,i];this._log(`| Resolving ${n}`);const s=this._map.get(n[0]);if(s===void 0)return this._log("\\ No keybinding entries."),GE;let r=null;if(n.length<2)r=s;else{r=[];for(let l=0,c=s.length;l<c;l++){const d=s[l];if(n.length>d.chords.length)continue;let h=!0;for(let u=1;u<n.length;u++)if(d.chords[u]!==n[u]){h=!1;break}h&&r.push(d)}}const a=this._findCommand(e,r);return a?n.length<a.chords.length?(this._log(`\\ From ${r.length} keybinding entries, awaiting ${a.chords.length-n.length} more chord(s), when: ${jee(a.when)}, source: ${qee(a)}.`),zPe):(this._log(`\\ From ${r.length} keybinding entries, matched ${a.command}, when: ${jee(a.when)}, source: ${qee(a)}.`),UPe(a.command,a.commandArgs,a.bubble)):(this._log(`\\ From ${r.length} keybinding entries, no when clauses matched the context.`),GE)}_findCommand(e,t){for(let i=t.length-1;i>=0;i--){const n=t[i];if(_S._contextMatchesRules(e,n.when))return n}return null}static _contextMatchesRules(e,t){return t?t.evaluate(e):!0}}function jee(o){return o?`${o.serialize()}`:"no when condition"}function qee(o){return o.extensionId?o.isBuiltinExtension?`built-in extension ${o.extensionId}`:`user extension ${o.extensionId}`:o.isDefault?"built-in":"user"}const $Pe=/^(cursor|delete|undo|redo|tab|editor\.action\.clipboard)/;class jPe extends P{get onDidUpdateKeybindings(){return this._onDidUpdateKeybindings?this._onDidUpdateKeybindings.event:ie.None}get inChordMode(){return this._currentChords.length>0}constructor(e,t,i,n,s){super(),this._contextKeyService=e,this._commandService=t,this._telemetryServi
Line truncated
|
||||
.monaco-menu {
|
||||
font-size: 13px;
|
||||
border-radius: 5px;
|
||||
min-width: 160px;
|
||||
}
|
||||
|
||||
${tte(Z.menuSelection)}
|
||||
${tte(Z.menuSubmenu)}
|
||||
|
||||
.monaco-menu .monaco-action-bar {
|
||||
text-align: right;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.monaco-menu .monaco-action-bar .actions-container {
|
||||
display: flex;
|
||||
margin: 0 auto;
|
||||
padding: 0;
|
||||
width: 100%;
|
||||
justify-content: flex-end;
|
||||
}
|
||||
|
||||
.monaco-menu .monaco-action-bar.vertical .actions-container {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.monaco-menu .monaco-action-bar.reverse .actions-container {
|
||||
flex-direction: row-reverse;
|
||||
}
|
||||
|
||||
.monaco-menu .monaco-action-bar .action-item {
|
||||
cursor: pointer;
|
||||
display: inline-block;
|
||||
transition: transform 50ms ease;
|
||||
position: relative; /* DO NOT REMOVE - this is the key to preventing the ghosting icon bug in Chrome 42 */
|
||||
}
|
||||
|
||||
.monaco-menu .monaco-action-bar .action-item.disabled {
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
.monaco-menu .monaco-action-bar .action-item .icon,
|
||||
.monaco-menu .monaco-action-bar .action-item .codicon {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.monaco-menu .monaco-action-bar .action-item .codicon {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.monaco-menu .monaco-action-bar .action-label {
|
||||
font-size: 11px;
|
||||
margin-right: 4px;
|
||||
}
|
||||
|
||||
.monaco-menu .monaco-action-bar .action-item.disabled .action-label,
|
||||
.monaco-menu .monaco-action-bar .action-item.disabled .action-label:hover {
|
||||
color: var(--vscode-disabledForeground);
|
||||
}
|
||||
|
||||
/* Vertical actions */
|
||||
|
||||
.monaco-menu .monaco-action-bar.vertical {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.monaco-menu .monaco-action-bar.vertical .action-item {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.monaco-menu .monaco-action-bar.vertical .action-label.separator {
|
||||
display: block;
|
||||
border-bottom: 1px solid var(--vscode-menu-separatorBackground);
|
||||
padding-top: 1px;
|
||||
padding: 30px;
|
||||
}
|
||||
|
||||
.monaco-menu .secondary-actions .monaco-action-bar .action-label {
|
||||
margin-left: 6px;
|
||||
}
|
||||
|
||||
/* Action Items */
|
||||
.monaco-menu .monaco-action-bar .action-item.select-container {
|
||||
overflow: hidden; /* somehow the dropdown overflows its container, we prevent it here to not push */
|
||||
flex: 1;
|
||||
max-width: 170px;
|
||||
min-width: 60px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
.monaco-menu .monaco-action-bar.vertical {
|
||||
margin-left: 0;
|
||||
overflow: visible;
|
||||
}
|
||||
|
||||
.monaco-menu .monaco-action-bar.vertical .actions-container {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.monaco-menu .monaco-action-bar.vertical .action-item {
|
||||
padding: 0;
|
||||
transform: none;
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.monaco-menu .monaco-action-bar.vertical .action-item.active {
|
||||
transform: none;
|
||||
}
|
||||
|
||||
.monaco-menu .monaco-action-bar.vertical .action-menu-item {
|
||||
flex: 1 1 auto;
|
||||
display: flex;
|
||||
height: 2em;
|
||||
align-items: center;
|
||||
position: relative;
|
||||
margin: 0 4px;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
.monaco-menu .monaco-action-bar.vertical .action-menu-item:hover .keybinding,
|
||||
.monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .keybinding {
|
||||
opacity: unset;
|
||||
}
|
||||
|
||||
.monaco-menu .monaco-action-bar.vertical .action-label {
|
||||
flex: 1 1 auto;
|
||||
text-decoration: none;
|
||||
padding: 0 1em;
|
||||
background: none;
|
||||
font-size: 12px;
|
||||
line-height: 1;
|
||||
}
|
||||
|
||||
.monaco-menu .monaco-action-bar.vertical .keybinding,
|
||||
.monaco-menu .monaco-action-bar.vertical .submenu-indicator {
|
||||
display: inline-block;
|
||||
flex: 2 1 auto;
|
||||
padding: 0 1em;
|
||||
text-align: right;
|
||||
font-size: 12px;
|
||||
line-height: 1;
|
||||
opacity: 0.7;
|
||||
}
|
||||
|
||||
.monaco-menu .monaco-action-bar.vertical .submenu-indicator {
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.monaco-menu .monaco-action-bar.vertical .submenu-indicator.codicon {
|
||||
font-size: 16px !important;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.monaco-menu .monaco-action-bar.vertical .submenu-indicator.codicon::before {
|
||||
margin-left: auto;
|
||||
margin-right: -20px;
|
||||
}
|
||||
|
||||
.monaco-menu .monaco-action-bar.vertical .action-item.disabled .keybinding,
|
||||
.monaco-menu .monaco-action-bar.vertical .action-item.disabled .submenu-indicator {
|
||||
opacity: 0.4;
|
||||
}
|
||||
|
||||
.monaco-menu .monaco-action-bar.vertical .action-label:not(.separator) {
|
||||
display: inline-block;
|
||||
box-sizing: border-box;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.monaco-menu .monaco-action-bar.vertical .action-item {
|
||||
position: static;
|
||||
overflow: visible;
|
||||
}
|
||||
|
||||
.monaco-menu .monaco-action-bar.vertical .action-item .monaco-submenu {
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
.monaco-menu .monaco-action-bar.vertical .action-label.separator {
|
||||
width: 100%;
|
||||
height: 0px !important;
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.monaco-menu .monaco-action-bar.vertical .action-label.separator.text {
|
||||
padding: 0.7em 1em 0.1em 1em;
|
||||
font-weight: bold;
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.monaco-menu .monaco-action-bar.vertical .action-label:hover {
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
.monaco-menu .monaco-action-bar.vertical .menu-item-check {
|
||||
position: absolute;
|
||||
visibility: hidden;
|
||||
width: 1em;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.monaco-menu .monaco-action-bar.vertical .action-menu-item.checked .menu-item-check {
|
||||
visibility: visible;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
/* Context Menu */
|
||||
|
||||
.context-view.monaco-menu-container {
|
||||
outline: 0;
|
||||
border: none;
|
||||
animation: fadeIn 0.083s linear;
|
||||
-webkit-app-region: no-drag;
|
||||
}
|
||||
|
||||
.context-view.monaco-menu-container :focus,
|
||||
.context-view.monaco-menu-container .monaco-action-bar.vertical:focus,
|
||||
.context-view.monaco-menu-container .monaco-action-bar.vertical :focus {
|
||||
outline: 0;
|
||||
}
|
||||
|
||||
.hc-black .context-view.monaco-menu-container,
|
||||
.hc-light .context-view.monaco-menu-container,
|
||||
:host-context(.hc-black) .context-view.monaco-menu-container,
|
||||
:host-context(.hc-light) .context-view.monaco-menu-container {
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
.hc-black .monaco-menu .monaco-action-bar.vertical .action-item.focused,
|
||||
.hc-light .monaco-menu .monaco-action-bar.vertical .action-item.focused,
|
||||
:host-context(.hc-black) .monaco-menu .monaco-action-bar.vertical .action-item.focused,
|
||||
:host-context(.hc-light) .monaco-menu .monaco-action-bar.vertical .action-item.focused {
|
||||
background: none;
|
||||
}
|
||||
|
||||
/* Vertical Action Bar Styles */
|
||||
|
||||
.monaco-menu .monaco-action-bar.vertical {
|
||||
padding: 4px 0;
|
||||
}
|
||||
|
||||
.monaco-menu .monaco-action-bar.vertical .action-menu-item {
|
||||
height: 2em;
|
||||
}
|
||||
|
||||
.monaco-menu .monaco-action-bar.vertical .action-label:not(.separator),
|
||||
.monaco-menu .monaco-action-bar.vertical .keybinding {
|
||||
font-size: inherit;
|
||||
padding: 0 2em;
|
||||
max-height: 100%;
|
||||
}
|
||||
|
||||
.monaco-menu .monaco-action-bar.vertical .menu-item-check {
|
||||
font-size: inherit;
|
||||
width: 2em;
|
||||
}
|
||||
|
||||
.monaco-menu .monaco-action-bar.vertical .action-label.separator {
|
||||
font-size: inherit;
|
||||
margin: 5px 0 !important;
|
||||
padding: 0;
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
.linux .monaco-menu .monaco-action-bar.vertical .action-label.separator,
|
||||
:host-context(.linux) .monaco-menu .monaco-action-bar.vertical .action-label.separator {
|
||||
margin-left: 0;
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
.monaco-menu .monaco-action-bar.vertical .submenu-indicator {
|
||||
font-size: 60%;
|
||||
padding: 0 1.8em;
|
||||
}
|
||||
|
||||
.linux .monaco-menu .monaco-action-bar.vertical .submenu-indicator,
|
||||
:host-context(.linux) .monaco-menu .monaco-action-bar.vertical .submenu-indicator {
|
||||
height: 100%;
|
||||
mask-size: 10px 10px;
|
||||
-webkit-mask-size: 10px 10px;
|
||||
}
|
||||
|
||||
.monaco-menu .action-item {
|
||||
cursor: default;
|
||||
}`;if(e){t+=`
|
||||
/* Arrows */
|
||||
.monaco-scrollable-element > .scrollbar > .scra {
|
||||
cursor: pointer;
|
||||
font-size: 11px !important;
|
||||
}
|
||||
|
||||
.monaco-scrollable-element > .visible {
|
||||
opacity: 1;
|
||||
|
||||
/* Background rule added for IE9 - to allow clicks on dom node */
|
||||
background:rgba(0,0,0,0);
|
||||
|
||||
transition: opacity 100ms linear;
|
||||
}
|
||||
.monaco-scrollable-element > .invisible {
|
||||
opacity: 0;
|
||||
pointer-events: none;
|
||||
}
|
||||
.monaco-scrollable-element > .invisible.fade {
|
||||
transition: opacity 800ms linear;
|
||||
}
|
||||
|
||||
/* Scrollable Content Inset Shadow */
|
||||
.monaco-scrollable-element > .shadow {
|
||||
position: absolute;
|
||||
display: none;
|
||||
}
|
||||
.monaco-scrollable-element > .shadow.top {
|
||||
display: block;
|
||||
top: 0;
|
||||
left: 3px;
|
||||
height: 3px;
|
||||
width: 100%;
|
||||
}
|
||||
.monaco-scrollable-element > .shadow.left {
|
||||
display: block;
|
||||
top: 3px;
|
||||
left: 0;
|
||||
height: 100%;
|
||||
width: 3px;
|
||||
}
|
||||
.monaco-scrollable-element > .shadow.top-left-corner {
|
||||
display: block;
|
||||
top: 0;
|
||||
left: 0;
|
||||
height: 3px;
|
||||
width: 3px;
|
||||
}
|
||||
/* Fix for https://github.com/microsoft/vscode/issues/103170 */
|
||||
.monaco-menu .action-item .monaco-submenu {
|
||||
z-index: 1;
|
||||
}
|
||||
`;const i=o.scrollbarShadow;i&&(t+=`
|
||||
.monaco-scrollable-element > .shadow.top {
|
||||
box-shadow: ${i} 0 6px 6px -6px inset;
|
||||
}
|
||||
|
||||
.monaco-scrollable-element > .shadow.left {
|
||||
box-shadow: ${i} 6px 0 6px -6px inset;
|
||||
}
|
||||
|
||||
.monaco-scrollable-element > .shadow.top.left {
|
||||
box-shadow: ${i} 6px 6px 6px -6px inset;
|
||||
}
|
||||
`);const n=o.scrollbarSliderBackground;n&&(t+=`
|
||||
.monaco-scrollable-element > .scrollbar > .slider {
|
||||
background: ${n};
|
||||
}
|
||||
`);const s=o.scrollbarSliderHoverBackground;s&&(t+=`
|
||||
.monaco-scrollable-element > .scrollbar > .slider:hover {
|
||||
background: ${s};
|
||||
}
|
||||
`);const r=o.scrollbarSliderActiveBackground;r&&(t+=`
|
||||
.monaco-scrollable-element > .scrollbar > .slider.active {
|
||||
background: ${r};
|
||||
}
|
||||
`)}return t}class iOe{constructor(e,t,i,n){this.contextViewService=e,this.telemetryService=t,this.notificationService=i,this.keybindingService=n,this.focusToReturn=null,this.lastContainer=null,this.block=null,this.blockDisposable=null,this.options={blockMouse:!0}}configure(e){this.options=e}showContextMenu(e){const t=e.getActions();if(!t.length)return;this.focusToReturn=$i();let i;const n=li(e.domForShadowRoot)?e.domForShadowRoot:void 0;this.contextViewService.showContextView({getAnchor:()=>e.getAnchor(),canRelayout:!1,anchorAlignment:e.anchorAlignment,anchorAxisAlignment:e.anchorAxisAlignment,layer:e.layer,render:s=>{this.lastContainer=s;const r=e.getMenuClassName?e.getMenuClassName():"";r&&(s.className+=" "+r),this.options.blockMouse&&(this.block=s.appendChild(ee(".context-view-block")),this.block.style.position="fixed",this.block.style.cursor="initial",this.block.style.left="0",this.block.style.top="0",this.block.style.width="100%",this.block.style.height="100%",this.block.style.zIndex="-1",this.blockDisposable?.dispose(),this.blockDisposable=W(this.block,te.MOUSE_DOWN,d=>d.stopPropagation()));const a=new V,l=e.actionRunner||a.add(new mf);l.onWillRun(d=>this.onActionRun(d,!e.skipTelemetry),this,a),l.onDidRun(this.onDidActionRun,this,a),i=new fC(s,t,{actionViewItemProvider:e.getActionViewItem,context:e.getActionsContext?e.getActionsContext():null,actionRunner:l,getKeyBinding:e.getKeyBinding?e.getKeyBinding:d=>this.keybindingService.lookupKeybinding(d.id)},$1e),i.onDidCancel(()=>this.contextViewService.hideContextView(!0),null,a),i.onDidBlur(()=>this.contextViewService.hideContextView(!0),null,a);const c=me(s);return a.add(W(c,te.BLUR,()=>this.contextViewService.hideContextView(!0))),a.add(W(c,te.MOUSE_DOWN,d=>{if(d.defaultPrevented)return;const h=new yn(c,d);let u=h.target;if(!h.rightButton){for(;u;){if(u===s)return;u=u.parentElement}this.contextViewService.hideContextView(!0)}})),qr(a,i)},focus:()=>{i?.focus(!!e.autoSelectFirstItem)},onHide:s=>{e.onHide?.(!!s),this.block&&(this.block.remove(),this.block=null),this.blockDisposable?.dispose(),this.blockDisposable=null,this.lastContainer&&($i()===this.lastContainer||Qi($i(),this.lastContainer))&&this.focusToReturn?.focus(),this.lastContainer=null}},n,!!n)}onActionRun(e,t){t&&this.telemetryService.publicLog2("workbenchActionExecuted",{id:e.action.id,from:"contextMenu"}),this.contextViewService.hideContextView(!1)}onDidActionRun(e){e.error&&!To(e.error)&&this.notificationService.error(e.error)}}var nOe=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},gC=function(o,e){return function(t,i){e(t,i,o)}};let x8=class extends P{get contextMenuHandler(){return this._contextMenuHandler||(this._contextMenuHandler=new iOe(this.contextViewService,this.telemetryService,this.notificationService,this.keybindingService)),this._contextMenuHandler}constructor(e,t,i,n,s,r){super(),this.telemetryService=e,this.notificationService=t,this.contextViewService=i,this.keybindingService=n,this.menuService=s,this.contextKeyService=r,this._contextMenuHandler=void 0,this._onDidShowContextMenu=this._store.add(new A),this.onDidShowContextMenu=this._onDidShowContextMenu.event,this._onDidHideContextMenu=this._store.add(new A),this.onDidHideContextMenu=this._onDidHideContextMenu.event}configure(e){this.contextMenuHandler.configure(e)}showContextMenu(e){e=k8.transform(e,this.menuService,this.contextKeyService),this.contextMenuHandler.showContextMenu({...e,onHide:t=>{e.onHide?.(t),this._onDidHideContextMenu.fire()}}),Fc.getInstance().resetKeyStatus(),this._onDidShowContextMenu.fire()}};x8=nOe([gC(0,$n),gC(1,ui),gC(2,bd),gC(3,ot),gC(4,wr),gC(5,ke)],x8);var k8;(function(o){function e(i){return i&&i.menuId instanceof ue}function t(i,n,s){if(!e(i))return i;const{menuId:r,menuActionOptions:a,contextKeyService:l}=i;return{...i,getActions:()=>{let c=[];if(r){const d=n.getMenuActions(r,l??s,a);c=G1e(d)}return i.getActions?Wi.join(i.getActions(),c):c}}}o.transform=t})(k8||(k8={}));var QE;(function(o){o[o.API=0]="API",o[o.USER=1]="USER"})(QE||(QE={}));var I8=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},JE=function(o,e){return function(t,i){e(t,i,o)}};let D8=class{constructor(e){this._commandService=e}async open(e,t){if(!vy(e,Le.command))return!1;if(!t?.allowCommands||(typeof e=="string"&&(e=be.parse(e)),Array.isArray(t.allowCommands)&&!t.allowCommands.includes(e.path)))return!0;let i=[];try{i=rO(decodeURIComponent(e.query))}catch{try{i=rO(e.query)}catch{}}re
Line truncated
|
||||
`?r=2:a===`
|
||||
`&&(r=1);let l=Nn.trimAutoWhitespace;e.editor&&typeof e.editor.trimAutoWhitespace<"u"&&(l=e.editor.trimAutoWhitespace==="false"?!1:!!e.editor.trimAutoWhitespace);let c=Nn.detectIndentation;e.editor&&typeof e.editor.detectIndentation<"u"&&(c=e.editor.detectIndentation==="false"?!1:!!e.editor.detectIndentation);let d=Nn.largeFileOptimizations;e.editor&&typeof e.editor.largeFileOptimizations<"u"&&(d=e.editor.largeFileOptimizations==="false"?!1:!!e.editor.largeFileOptimizations);let h=Nn.bracketPairColorizationOptions;if(e.editor?.bracketPairColorization&&typeof e.editor.bracketPairColorization=="object"){const u=e.editor.bracketPairColorization;h={enabled:!!u.enabled,independentColorPoolPerBracketType:!!u.independentColorPoolPerBracketType}}return{isForSimpleWidget:t,tabSize:i,indentSize:n,insertSpaces:s,detectIndentation:c,defaultEOL:r,trimAutoWhitespace:l,largeFileOptimizations:d,bracketPairColorizationOptions:h}}_getEOL(e,t){if(e)return this._resourcePropertiesService.getEOL(e,t);const i=this._configurationService.getValue("files.eol",{overrideIdentifier:t});return i&&typeof i=="string"&&i!=="auto"?i:oo===3||oo===2?`
|
||||
`:`\r
|
||||
`}_shouldRestoreUndoStack(){const e=this._configurationService.getValue("files.restoreUndoStack");return typeof e=="boolean"?e:!0}getCreationOptions(e,t,i){const n=typeof e=="string"?e:e.languageId;let s=this._modelCreationOptionsByLanguageAndResource[n+t];if(!s){const r=this._configurationService.getValue("editor",{overrideIdentifier:n,resource:t}),a=this._getEOL(t,n);s=pC._readModelOptions({editor:r,eol:a},i),this._modelCreationOptionsByLanguageAndResource[n+t]=s}return s}_updateModelOptions(e){const t=this._modelCreationOptionsByLanguageAndResource;this._modelCreationOptionsByLanguageAndResource=Object.create(null);const i=Object.keys(this._models);for(let n=0,s=i.length;n<s;n++){const r=i[n],a=this._models[r],l=a.model.getLanguageId(),c=a.model.uri;if(e&&!e.affectsConfiguration("editor",{overrideIdentifier:l,resource:c})&&!e.affectsConfiguration("files.eol",{overrideIdentifier:l,resource:c}))continue;const d=t[l+c],h=this.getCreationOptions(l,c,a.model.isForSimpleWidget);pC._setModelOptionsForModel(a.model,h,d)}}static _setModelOptionsForModel(e,t,i){i&&i.defaultEOL!==t.defaultEOL&&e.getLineCount()===1&&e.setEOL(t.defaultEOL===1?0:1),!(i&&i.detectIndentation===t.detectIndentation&&i.insertSpaces===t.insertSpaces&&i.tabSize===t.tabSize&&i.indentSize===t.indentSize&&i.trimAutoWhitespace===t.trimAutoWhitespace&&po(i.bracketPairColorizationOptions,t.bracketPairColorizationOptions))&&(t.detectIndentation?(e.detectIndentation(t.insertSpaces,t.tabSize),e.updateOptions({trimAutoWhitespace:t.trimAutoWhitespace,bracketColorizationOptions:t.bracketPairColorizationOptions})):e.updateOptions({insertSpaces:t.insertSpaces,tabSize:t.tabSize,indentSize:t.indentSize,trimAutoWhitespace:t.trimAutoWhitespace,bracketColorizationOptions:t.bracketPairColorizationOptions}))}_insertDisposedModel(e){this._disposedModels.set(mp(e.uri),e),this._disposedModelsHeapSize+=e.heapSize}_removeDisposedModel(e){const t=this._disposedModels.get(mp(e));return t&&(this._disposedModelsHeapSize-=t.heapSize),this._disposedModels.delete(mp(e)),t}_ensureDisposedModelsHeapSize(e){if(this._disposedModelsHeapSize>e){const t=[];for(this._disposedModels.forEach(i=>{i.sharesUndoRedoStack||t.push(i)}),t.sort((i,n)=>i.time-n.time);t.length>0&&this._disposedModelsHeapSize>e;){const i=t.shift();this._removeDisposedModel(i.uri),i.initialUndoRedoSnapshot!==null&&this._undoRedoService.restoreSnapshot(i.initialUndoRedoSnapshot)}}}_createModelData(e,t,i,n){const s=this.getCreationOptions(t,i,n),r=this._instantiationService.createInstance(ig,e,t,s,i);if(i&&this._disposedModels.has(mp(i))){const c=this._removeDisposedModel(i),d=this._undoRedoService.getElements(i),h=this._getSHA1Computer(),u=h.canComputeSHA1(r)?h.computeSHA1(r)===c.sha1:!1;if(u||c.sharesUndoRedoStack){for(const f of d.past)ed(f)&&f.matchesResource(i)&&f.setModel(r);for(const f of d.future)ed(f)&&f.matchesResource(i)&&f.setModel(r);this._undoRedoService.setElementsValidFlag(i,!0,f=>ed(f)&&f.matchesResource(i)),u&&(r._overwriteVersionId(c.versionId),r._overwriteAlternativeVersionId(c.alternativeVersionId),r._overwriteInitialUndoRedoSnapshot(c.initialUndoRedoSnapshot))}else c.initialUndoRedoSnapshot!==null&&this._undoRedoService.restoreSnapshot(c.initialUndoRedoSnapshot)}const a=mp(r.uri);if(this._models[a])throw new Error("ModelService: Cannot add model because it already exists!");const l=new aOe(r,c=>this._onWillDispose(c),(c,d)=>this._onDidChangeLanguage(c,d));return this._models[a]=l,l}createModel(e,t,i,n=!1){let s;return t?s=this._createModelData(e,t,i,n):s=this._createModelData(e,Ho,i,n),this._onModelAdded.fire(s.model),s.model}getModels(){const e=[],t=Object.keys(this._models);for(let i=0,n=t.length;i<n;i++){const s=t[i];e.push(this._models[s].model)}return e}getModel(e){const t=mp(e),i=this._models[t];return i?i.model:null}_schemaShouldMaintainUndoRedoElements(e){return e.scheme===Le.file||e.scheme===Le.vscodeRemote||e.scheme===Le.vscodeUserData||e.scheme===Le.vscodeNotebookCell||e.scheme==="fake-fs"}_onWillDispose(e){const t=mp(e.uri),i=this._models[t],n=this._undoRedoService.getUriComparisonKey(e.uri)!==e.uri.toString();let s=!1,r=0;if(n||this._shouldRestoreUndoStack()&&this._schemaShouldMaintainUndoRedoElements(e.uri)){const c=this._undoRedoService.getElements(e.uri);if(c.past.length>0||c.future.length>0){for(const d of c.past)ed(d)&&d.matchesResource(e.uri)&&(s=!0,r+=d.heapSize(e.uri),d.setModel(e.uri));for(const d of c.future)ed(d)&&d.matchesResource(e.uri)&&(s=!0,r+=d.heapSize(e.uri),d.setModel(e.uri))}}const a=pC.MAX_MEMORY_FOR_CLOSED_FILES_UNDO_STACK,l=this._getSHA1Computer();if(s)if(!n&&(r>a||!l.canComputeSHA1(e))){const c=i.model.getInitialUndoRedoSnapshot();c!==null&&this._undoRedoService.restoreSnapshot(c)}else this._ensureDisposedModelsHeapSize(a-r),this._undoRedoService.setElementsValidFlag(e.uri,!1,c=>ed(c)&&c.matchesResource(e.uri)),this._insertDisposedModel(new cOe(e.uri,i.model.getInitialUndoRedoSnapshot(),Date.now(),n,r,l.computeSHA1(e),e.getVersionId(),e.getAlternativeVer
Line truncated
|
||||
`);return{persistence:{hideOnKeyDown:!1},appearance:{showHoverHint:t,skipFadeInAnimation:!0}}}};F8=_Oe([ote(0,Me),ote(1,Ms)],F8);const lte="done",cte="active",W8="infinite",B8="infinite-long-running",dte="discrete",qT=class qT extends P{constructor(e,t){super(),this.progressSignal=this._register(new rt),this.workedVal=0,this.showDelayedScheduler=this._register(new vt(()=>go(this.element),0)),this.longRunningScheduler=this._register(new vt(()=>this.infiniteLongRunning(),qT.LONG_RUNNING_INFINITE_THRESHOLD)),this.create(e,t)}create(e,t){this.element=document.createElement("div"),this.element.classList.add("monaco-progress-container"),this.element.setAttribute("role","progressbar"),this.element.setAttribute("aria-valuemin","0"),e.appendChild(this.element),this.bit=document.createElement("div"),this.bit.classList.add("progress-bit"),this.bit.style.backgroundColor=t?.progressBarBackground||"#0E70C0",this.element.appendChild(this.bit)}off(){this.bit.style.width="inherit",this.bit.style.opacity="1",this.element.classList.remove(cte,W8,B8,dte),this.workedVal=0,this.totalWork=void 0,this.longRunningScheduler.cancel(),this.progressSignal.clear()}stop(){return this.doDone(!1)}doDone(e){return this.element.classList.add(lte),this.element.classList.contains(W8)?(this.bit.style.opacity="0",e?setTimeout(()=>this.off(),200):this.off()):(this.bit.style.width="inherit",e?setTimeout(()=>this.off(),200):this.off()),this}infinite(){return this.bit.style.width="2%",this.bit.style.opacity="1",this.element.classList.remove(dte,lte,B8),this.element.classList.add(cte,W8),this.longRunningScheduler.schedule(),this}infiniteLongRunning(){this.element.classList.add(B8)}getContainer(){return this.element}};qT.LONG_RUNNING_INFINITE_THRESHOLD=1e4;let H8=qT;const xOe=ee;class kOe extends P{constructor(e,t,i){super(),this.parent=e,this.onDidChange=s=>this.findInput.onDidChange(s),this.container=Y(this.parent,xOe(".quick-input-box")),this.findInput=this._register(new SZ(this.container,void 0,{label:"",inputBoxStyles:t,toggleStyles:i}));const n=this.findInput.inputBox.inputElement;n.role="textbox",n.ariaHasPopup="menu",n.ariaAutoComplete="list"}get onKeyDown(){return this.findInput.onKeyDown}get value(){return this.findInput.getValue()}set value(e){this.findInput.setValue(e)}select(e=null){this.findInput.inputBox.select(e)}getSelection(){return this.findInput.inputBox.getSelection()}isSelectionAtEnd(){return this.findInput.inputBox.isSelectionAtEnd()}get placeholder(){return this.findInput.inputBox.inputElement.getAttribute("placeholder")||""}set placeholder(e){this.findInput.inputBox.setPlaceHolder(e)}get password(){return this.findInput.inputBox.inputElement.type==="password"}set password(e){this.findInput.inputBox.inputElement.type=e?"password":"text"}set enabled(e){this.findInput.inputBox.inputElement.toggleAttribute("readonly",!e)}set toggles(e){this.findInput.setAdditionalToggles(e)}get ariaLabel(){return this.findInput.inputBox.inputElement.getAttribute("aria-label")||""}set ariaLabel(e){this.findInput.inputBox.inputElement.setAttribute("aria-label",e)}hasFocus(){return this.findInput.inputBox.hasFocus()}setAttribute(e,t){this.findInput.inputBox.inputElement.setAttribute(e,t)}removeAttribute(e){this.findInput.inputBox.inputElement.removeAttribute(e)}showDecoration(e){e===ni.Ignore?this.findInput.clearMessage():this.findInput.showMessage({type:e===ni.Info?1:e===ni.Warning?2:3,content:""})}stylesForType(e){return this.findInput.inputBox.stylesForType(e===ni.Info?1:e===ni.Warning?2:3)}setFocus(){this.findInput.focus()}layout(){this.findInput.inputBox.layout()}}const hte=new Ln(()=>{const o=If.Collator(void 0,{numeric:!0,sensitivity:"base"}).value;return{collator:o,collatorIsNumeric:o.resolvedOptions().numeric}});new Ln(()=>({collator:If.Collator(void 0,{numeric:!0}).value})),new Ln(()=>({collator:If.Collator(void 0,{numeric:!0,sensitivity:"accent"}).value}));function IOe(o,e,t=!1){const i=o||"",n=e||"",s=hte.value.collator.compare(i,n);return hte.value.collatorIsNumeric&&s===0&&i!==n?i<n?-1:1:s}function DOe(o,e,t){const i=o.toLowerCase(),n=e.toLowerCase(),s=EOe(o,e,t);if(s)return s;const r=i.endsWith(t),a=n.endsWith(t);if(r!==a)return r?-1:1;const l=IOe(i,n);return l!==0?l:i.localeCompare(n)}function EOe(o,e,t){const i=o.toLowerCase(),n=e.toLowerCase(),s=i.startsWith(t),r=n.startsWith(t);if(s!==r)return s?-1:1;if(s&&r){if(i.length<n.length)return-1;if(i.length>n.length)return 1}return 0}var iN=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},V8=function(o,e){return function(t,i){e(t,i,o)}},z8;const nc=ee;class ute{constructor(e,t,i){this.index=e,this.hasCheckbox=t,this._hidden=!1,this._init=new Ln(()=>{const n=i.label??"",s=ug(n).text.trim(),r=i.ariaLabel||[n,this.saneDe
Line truncated
|
||||
`);a!==this.ui.styleSheet.textContent&&(this.ui.styleSheet.textContent=a)}}loadViewState(){try{const e=JSON.parse(this.storageService.get(K8,-1,"{}"));if(e.top!==void 0||e.left!==void 0)return e}catch{}}saveViewState(e){this.layoutService.activeContainer===this.layoutService.mainContainer&&(e!==void 0?this.storageService.store(K8,JSON.stringify(e),-1,1):this.storageService.remove(K8,-1))}},q8=km,km.MAX_WIDTH=600,km);G8=q8=_te([bp(1,Hl),bp(2,pe),bp(3,ke),bp(4,fs)],G8);let Z8=class extends P{constructor(e,t,i,n,s,r,a){super(),this._container=e,this._quickInputContainer=t,this._quickInputDragAreas=i,this._layoutService=s,this.configurationService=a,this.dndViewState=xe(this,void 0),this._snapThreshold=20,this._snapLineHorizontalRatio=.25,this._quickInputAlignmentContext=vOe.bindTo(r);const l=K1e(this.configurationService)==="custom";this._controlsOnLeft=l&&bR===1,this._controlsOnRight=l&&(bR===3||bR===2),this._registerLayoutListener(),this.registerMouseListeners(),this.dndViewState.set({...n,done:!0},void 0)}reparentUI(e){this._container=e}layoutContainer(e=this._layoutService.activeContainerDimension){const t=this.dndViewState.get(),i=this._quickInputContainer.getBoundingClientRect();if(t?.top&&t?.left){const n=Math.round(t.left*100)/100,s=e.width,r=i.width,a=n*s-r/2;this._layout(t.top*e.height,a)}}_registerLayoutListener(){this._register(ie.filter(this._layoutService.onDidLayoutContainer,e=>e.container===this._container)(e=>this.layoutContainer(e.dimension)))}registerMouseListeners(){const e=this._quickInputContainer;this._register(wH(e,t=>{const i=new yn(me(e),t);i.detail===2&&this._quickInputDragAreas.some(({node:n,includeChildren:s})=>s?Qi(i.target,n):i.target===n)&&this.dndViewState.set({top:void 0,left:void 0,done:!0},void 0)})),this._register(vH(e,t=>{const i=me(this._layoutService.activeContainer),n=new yn(i,t);if(!this._quickInputDragAreas.some(({node:h,includeChildren:u})=>u?Qi(n.target,h):n.target===h))return;const s=this._quickInputContainer.getBoundingClientRect(),r=n.browserEvent.clientX-s.left,a=n.browserEvent.clientY-s.top;let l=!1;const c=qse(i,h=>{new yn(i,h).preventDefault(),l||(l=!0),this._layout(h.clientY-a,h.clientX-r)}),d=wH(i,h=>{if(l){const u=this.dndViewState.get();this.dndViewState.set({top:u?.top,left:u?.left,done:!0},void 0)}c.dispose(),d.dispose()})}))}_layout(e,t){const i=this._getTopSnapValue(),n=this._getCenterYSnapValue(),s=this._getCenterXSnapValue();e=Math.max(0,Math.min(e,this._container.clientHeight-this._quickInputContainer.clientHeight)),e<this._layoutService.activeContainerOffset.top&&(this._controlsOnLeft?t=Math.max(t,80/lR(pt())):this._controlsOnRight&&(t=Math.min(t,this._container.clientWidth-this._quickInputContainer.clientWidth-140/lR(pt()))));const r=Math.abs(e-i)<this._snapThreshold;e=r?i:e;const a=Math.abs(e-n)<this._snapThreshold;e=a?n:e;const l=e/this._container.clientHeight;t=Math.max(0,Math.min(t,this._container.clientWidth-this._quickInputContainer.clientWidth));const c=Math.abs(t-s)<this._snapThreshold;t=c?s:t;const d=this._container.clientWidth,h=this._quickInputContainer.clientWidth,f=(t+h/2)/d;if(this.dndViewState.set({top:l,left:f,done:!1},void 0),c){if(r){this._quickInputAlignmentContext.set("top");return}else if(a){this._quickInputAlignmentContext.set("center");return}}this._quickInputAlignmentContext.set(void 0)}_getTopSnapValue(){return this._layoutService.activeContainerOffset.quickPickTop}_getCenterYSnapValue(){return Math.round(this._container.clientHeight*this._snapLineHorizontalRatio)}_getCenterXSnapValue(){return Math.round(this._container.clientWidth/2)-Math.round(this._quickInputContainer.clientWidth/2)}};Z8=_te([bp(4,Hl),bp(5,ke),bp(6,Me)],Z8);var jOe=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},xS=function(o,e){return function(t,i){e(t,i,o)}};let Y8=class extends Ihe{get controller(){return this._controller||(this._controller=this._register(this.createController())),this._controller}get hasController(){return!!this._controller}get currentQuickInput(){return this.controller.currentQuickInput}get quickAccess(){return this._quickAccess||(this._quickAccess=this._register(this.instantiationService.createInstance(A8))),this._quickAccess}constructor(e,t,i,n,s){super(i),this.instantiationService=e,this.contextKeyService=t,this.layoutService=n,this.configurationService=s,this._onShow=this._register(new A),this._onHide=this._register(new A),this.contexts=new Map}createController(e=this.layoutService,t){const i={idPrefix:"quickInput_",container:e.activeContainer,ignoreFocusOut:()=>!1,backKeybindingLabel:()=>{},setContextKey:s=>this.setContextKey(s),linkOpenerDelegate:s=>{this.instantiationService.invokeFunction(r=>{r.get(vd).open(s,{allowCommands:!0,fromUserGesture:!0})})},
Line truncated
|
||||
(-> incoming)[${[...i.incoming.keys()].join(", ")}]
|
||||
(outgoing ->)[${[...i.outgoing.keys()].join(",")}]
|
||||
`);return e.join(`
|
||||
`)}findCycleSlow(){for(const[e,t]of this._nodes){const i=new Set([e]),n=this._findCycle(t,i);if(n)return n}}_findCycle(e,t){for(const[i,n]of e.outgoing){if(t.has(i))return[...t,i].join(" -> ");t.add(i);const s=this._findCycle(n,t);if(s)return s;t.delete(i)}}}const s4e=!1;class xte extends Error{constructor(e){super("cyclic dependency between services"),this.message=e.findCycleSlow()??`UNABLE to detect cycle, dumping graph:
|
||||
${e.toString()}`}}class rN{constructor(e=new $_,t=!1,i,n=s4e){this._services=e,this._strict=t,this._parent=i,this._enableTracing=n,this._isDisposed=!1,this._servicesToMaybeDispose=new Set,this._children=new Set,this._activeInstantiations=new Set,this._services.set(pe,this),this._globalGraph=n?i?._globalGraph??new Lte(s=>s):void 0}dispose(){if(!this._isDisposed){this._isDisposed=!0,ht(this._children),this._children.clear();for(const e of this._servicesToMaybeDispose)nf(e)&&e.dispose();this._servicesToMaybeDispose.clear()}}_throwIfDisposed(){if(this._isDisposed)throw new Error("InstantiationService has been disposed")}createChild(e,t){this._throwIfDisposed();const i=this,n=new class extends rN{dispose(){i._children.delete(n),super.dispose()}}(e,this._strict,this,this._enableTracing);return this._children.add(n),t?.add(n),n}invokeFunction(e,...t){this._throwIfDisposed();const i=DS.traceInvocation(this._enableTracing,e);let n=!1;try{return e({get:r=>{if(n)throw iy("service accessor is only valid during the invocation of its target method");const a=this._getOrCreateServiceInstance(r,i);if(!a)throw new Error(`[invokeFunction] unknown service '${r}'`);return a},getIfExists:r=>{if(n)throw iy("service accessor is only valid during the invocation of its target method");return this._getOrCreateServiceInstance(r,i)}},...t)}finally{n=!0,i.stop()}}createInstance(e,...t){this._throwIfDisposed();let i,n;return e instanceof pl?(i=DS.traceCreation(this._enableTracing,e.ctor),n=this._createInstance(e.ctor,e.staticArguments.concat(t),i)):(i=DS.traceCreation(this._enableTracing,e),n=this._createInstance(e,t,i)),i.stop(),n}_createInstance(e,t=[],i){const n=Ea.getServiceDependencies(e).sort((a,l)=>a.index-l.index),s=[];for(const a of n){const l=this._getOrCreateServiceInstance(a.id,i);l||this._throwIfStrict(`[createInstance] ${e.name} depends on UNKNOWN service ${a.id}.`,!1),s.push(l)}const r=n.length>0?n[0].index:t.length;if(t.length!==r){console.trace(`[createInstance] First service dependency of ${e.name} at position ${r+1} conflicts with ${t.length} static arguments`);const a=r-t.length;a>0?t=t.concat(new Array(a)):t=t.slice(0,r)}return Reflect.construct(e,t.concat(s))}_setCreatedServiceInstance(e,t){if(this._services.get(e)instanceof pl)this._services.set(e,t);else if(this._parent)this._parent._setCreatedServiceInstance(e,t);else throw new Error("illegalState - setting UNKNOWN service instance")}_getServiceInstanceOrDescriptor(e){const t=this._services.get(e);return!t&&this._parent?this._parent._getServiceInstanceOrDescriptor(e):t}_getOrCreateServiceInstance(e,t){this._globalGraph&&this._globalGraphImplicitDependency&&this._globalGraph.insertEdge(this._globalGraphImplicitDependency,String(e));const i=this._getServiceInstanceOrDescriptor(e);return i instanceof pl?this._safeCreateAndCacheServiceInstance(e,i,t.branch(e,!0)):(t.branch(e,!1),i)}_safeCreateAndCacheServiceInstance(e,t,i){if(this._activeInstantiations.has(e))throw new Error(`illegal state - RECURSIVELY instantiating service '${e}'`);this._activeInstantiations.add(e);try{return this._createAndCacheServiceInstance(e,t,i)}finally{this._activeInstantiations.delete(e)}}_createAndCacheServiceInstance(e,t,i){const n=new Lte(l=>l.id.toString());let s=0;const r=[{id:e,desc:t,_trace:i}],a=new Set;for(;r.length;){const l=r.pop();if(!a.has(String(l.id))){if(a.add(String(l.id)),n.lookupOrInsertNode(l),s++>1e3)throw new xte(n);for(const c of Ea.getServiceDependencies(l.desc.ctor)){const d=this._getServiceInstanceOrDescriptor(c.id);if(d||this._throwIfStrict(`[createInstance] ${e} depends on ${c.id} which is NOT registered.`,!0),this._globalGraph?.insertEdge(String(l.id),String(c.id)),d instanceof pl){const h={id:c.id,desc:d,_trace:l._trace.branch(c.id,!0)};n.insertEdge(l,h),r.push(h)}}}}for(;;){const l=n.roots();if(l.length===0){if(!n.isEmpty())throw new xte(n);break}for(const{data:c}of l){if(this._getServiceInstanceOrDescriptor(c.id)instanceof pl){const h=this._createServiceInstanceWithOwner(c.id,c.desc.ctor,c.desc.staticArguments,c.desc.supportsDelayedInstantiation,c._trace);this._setCreatedServiceInstance(c.id,h)}n.removeNode(c)}}return this._getServiceInstanceOrDescriptor(e)}_createServiceInstanceWithOwner(e,t,i=[],n,s){if(this._services.get(e)instanceof pl)return this._createServiceInstance(e,t,i,n,s,this._servicesToMaybeDispose);if(this._parent)return this._parent._createServiceInstanceWithOwner(e,t,i,n,s);throw new Error(`illegalState - creating UNKNOWN service instance ${t.name}`)}_createServiceInstance(e,t,i=[],n,s,r){if(n){const a=new rN(void 0,this._strict,this,this._enableTracing);a._globalGraphImplicitDependency=String(e);const l=new Map,c=new cne(()=>{const d=a._createInstance(t,i,s);for(const[h,u]of l){const f=d[h];if(typeof f=="function")for(const g of u)g.disposable=f.apply(d,g.listener)}return l.clear(),r.add(d),d});return new Proxy(Object.create(null),{get(d,h){if(!c.isInitialized&&typeof h=="string"&&(h.startsWith("onDid")||h.startsWith("onWill"))){let g=l.get
Line truncated
|
||||
`).slice(3,4).join(`
|
||||
`)):cr._None}static traceCreation(e,t){return e?new cr(1,t.name):cr._None}constructor(e,t){this.type=e,this.name=t,this._start=Date.now(),this._dep=[]}branch(e,t){const i=new cr(3,e.toString());return this._dep.push([e,t,i]),i}stop(){const e=Date.now()-this._start;cr._totals+=e;let t=!1;function i(s,r){const a=[],l=new Array(s+1).join(" ");for(const[c,d,h]of r._dep)if(d&&h){t=!0,a.push(`${l}CREATES -> ${c}`);const u=i(s+1,h);u&&a.push(u)}else a.push(`${l}uses -> ${c}`);return a.join(`
|
||||
`)}const n=[`${this.type===1?"CREATE":"CALL"} ${this.name}`,`${i(1,this)}`,`DONE, took ${e.toFixed(2)}ms (grand total ${cr._totals.toFixed(2)}ms)`];(e>2||t)&&cr.all.add(n.join(`
|
||||
`))}};cr.all=new Set,cr._None=new class extends cr{constructor(){super(0,null)}stop(){}branch(){return this}},cr._totals=0;let DS=cr;const o4e=new Set([Le.inMemory,Le.vscodeSourceControl,Le.walkThrough,Le.walkThroughSnippet,Le.vscodeChatCodeBlock,Le.vscodeTerminal]);class r4e{constructor(){this._byResource=new Li,this._byOwner=new Map}set(e,t,i){let n=this._byResource.get(e);n||(n=new Map,this._byResource.set(e,n)),n.set(t,i);let s=this._byOwner.get(t);s||(s=new Li,this._byOwner.set(t,s)),s.set(e,i)}get(e,t){return this._byResource.get(e)?.get(t)}delete(e,t){let i=!1,n=!1;const s=this._byResource.get(e);s&&(i=s.delete(t));const r=this._byOwner.get(t);if(r&&(n=r.delete(e)),i!==n)throw new Error("illegal state");return i&&n}values(e){return typeof e=="string"?this._byOwner.get(e)?.values()??Ge.empty():be.isUri(e)?this._byResource.get(e)?.values()??Ge.empty():Ge.map(Ge.concat(...this._byOwner.values()),t=>t[1])}}class a4e{constructor(e){this.errors=0,this.infos=0,this.warnings=0,this.unknowns=0,this._data=new Li,this._service=e,this._subscription=e.onMarkerChanged(this._update,this)}dispose(){this._subscription.dispose()}_update(e){for(const t of e){const i=this._data.get(t);i&&this._substract(i);const n=this._resourceStats(t);this._add(n),this._data.set(t,n)}}_resourceStats(e){const t={errors:0,warnings:0,infos:0,unknowns:0};if(o4e.has(e.scheme))return t;for(const{severity:i}of this._service.read({resource:e}))i===oi.Error?t.errors+=1:i===oi.Warning?t.warnings+=1:i===oi.Info?t.infos+=1:t.unknowns+=1;return t}_substract(e){this.errors-=e.errors,this.warnings-=e.warnings,this.infos-=e.infos,this.unknowns-=e.unknowns}_add(e){this.errors+=e.errors,this.warnings+=e.warnings,this.infos+=e.infos,this.unknowns+=e.unknowns}}class vp{constructor(){this._onMarkerChanged=new p6({delay:0,merge:vp._merge}),this.onMarkerChanged=this._onMarkerChanged.event,this._data=new r4e,this._stats=new a4e(this),this._filteredResources=new Li}dispose(){this._stats.dispose(),this._onMarkerChanged.dispose()}remove(e,t){for(const i of t||[])this.changeOne(e,i,[])}changeOne(e,t,i){if(Q6(i))this._data.delete(t,e)&&this._onMarkerChanged.fire([t]);else{const n=[];for(const s of i){const r=vp._toMarker(e,t,s);r&&n.push(r)}this._data.set(t,e,n),this._onMarkerChanged.fire([t])}}static _toMarker(e,t,i){let{code:n,severity:s,message:r,source:a,startLineNumber:l,startColumn:c,endLineNumber:d,endColumn:h,relatedInformation:u,tags:f,origin:g}=i;if(r)return l=l>0?l:1,c=c>0?c:1,d=d>=l?d:l,h=h>0?h:c,{resource:t,owner:e,code:n,severity:s,message:r,source:a,startLineNumber:l,startColumn:c,endLineNumber:d,endColumn:h,relatedInformation:u,tags:f,origin:g}}changeAll(e,t){const i=[],n=this._data.values(e);if(n)for(const s of n){const r=Ge.first(s);r&&(i.push(r.resource),this._data.delete(r.resource,e))}if(ns(t)){const s=new Li;for(const{resource:r,marker:a}of t){const l=vp._toMarker(e,r,a);if(!l)continue;const c=s.get(r);c?c.push(l):(s.set(r,[l]),i.push(r))}for(const[r,a]of s)this._data.set(r,e,a)}i.length>0&&this._onMarkerChanged.fire(i)}_createFilteredMarker(e,t){const i=t.length===1?m(1738,'Problems are paused because: "{0}"',t[0]):m(1739,'Problems are paused because: "{0}" and {1} more',t[0],t.length-1);return{owner:"markersFilter",resource:e,severity:oi.Info,message:i,startLineNumber:1,startColumn:1,endLineNumber:1,endColumn:1}}read(e=Object.create(null)){let{owner:t,resource:i,severities:n,take:s}=e;if((!s||s<0)&&(s=-1),t&&i){const r=e.ignoreResourceFilters?void 0:this._filteredResources.get(i);if(r?.length)return[this._createFilteredMarker(i,r)];const a=this._data.get(i,t);if(!a)return[];const l=[];for(const c of a){if(s>0&&l.length===s)break;const d=e.ignoreResourceFilters?void 0:this._filteredResources.get(i);d?.length?l.push(this._createFilteredMarker(i,d)):vp._accept(c,n)&&l.push(c)}return l}else{const r=!t&&!i?this._data.values():this._data.values(i??t),a=[],l=new Moe;for(const c of r)for(const d of c){if(l.has(d.resource))continue;if(s>0&&a.length===s)break;const h=e.ignoreResourceFilters?void 0:this._filteredResources.get(d.resource);h?.length?(a.push(this._createFilteredMarker(d.resource,h)),l.add(d.resource)):vp._accept(d,n)&&a.push(d)}return a}}static _accept(e,t){return t===void 0||(t&e.severity)===e.severity}static _merge(e){const t=new Li;for(const i of e)for(const n of i)t.set(n,!0);return Array.from(t.keys())}}class l4e extends P{get configurationModel(){return this._configurationModel}constructor(e){super(),this.logService=e,this._configurationModel=wn.createEmptyModel(e)}reload(){return this.resetConfigurationModel(),this.configurationModel}getConfigurationDefaultOverrides(){return{}}resetConfigurationModel(){this._configurationModel=wn.createEmptyModel(this.logService);const e=ei.as(Ta.Configuration).getConfigurationProperties();this.updateConfigurationModel(Object.keys(e),e)}updateConfigurationModel(e,t){const i=this.getConfigurationDefaultOverrides();for(const n of e){const s=i[n],r=t[n];s!==void 0?this._configurationModel.setValue(
Line truncated
|
||||
|
||||
`+t),Ct.confirm(i)}async prompt(e){let t;if(this.doConfirm(e.message,e.detail)){const n=[...e.buttons??[]];e.cancelButton&&typeof e.cancelButton!="string"&&typeof e.cancelButton!="boolean"&&n.push(e.cancelButton),t=await n[0]?.run({checkboxChecked:!1})}return{result:t}}async error(e,t){await this.prompt({type:ni.Error,message:e,detail:t})}}const KS=class KS{info(e){return this.notify({severity:ni.Info,message:e})}warn(e){return this.notify({severity:ni.Warning,message:e})}error(e){return this.notify({severity:ni.Error,message:e})}notify(e){switch(e.severity){case ni.Error:console.error(e.message);break;case ni.Warning:console.warn(e.message);break;default:console.log(e.message);break}return KS.NO_OP}prompt(e,t,i,n){return KS.NO_OP}status(e,t){return{close:()=>{}}}};KS.NO_OP=new wfe;let cB=KS,dB=class{constructor(e){this._onWillExecuteCommand=new A,this._onDidExecuteCommand=new A,this.onDidExecuteCommand=this._onDidExecuteCommand.event,this._instantiationService=e}executeCommand(e,...t){const i=Xe.getCommand(e);if(!i)return Promise.reject(new Error(`command '${e}' not found`));try{this._onWillExecuteCommand.fire({commandId:e,args:t});const n=this._instantiationService.invokeFunction.apply(this._instantiationService,[i.handler,...t]);return this._onDidExecuteCommand.fire({commandId:e,args:t}),Promise.resolve(n)}catch(n){return Promise.reject(n)}}};dB=oc([Mi(0,pe)],dB);let bC=class extends jPe{constructor(e,t,i,n,s,r){super(e,t,i,n,s),this._cachedResolver=null,this._dynamicKeybindings=[],this._domNodeListeners=[];const a=f=>{const g=new V;g.add(W(f,te.KEY_DOWN,p=>{const _=new yt(p);this._dispatch(_,_.target)&&(_.preventDefault(),_.stopPropagation())})),g.add(W(f,te.KEY_UP,p=>{const _=new yt(p);this._singleModifierDispatch(_,_.target)&&_.preventDefault()})),this._domNodeListeners.push(new p4e(f,g))},l=f=>{for(let g=0;g<this._domNodeListeners.length;g++){const p=this._domNodeListeners[g];p.domNode===f&&(this._domNodeListeners.splice(g,1),p.dispose())}},c=f=>{f.getOption(70)||a(f.getContainerDomNode())},d=f=>{f.getOption(70)||l(f.getContainerDomNode())};this._register(r.onCodeEditorAdd(c)),this._register(r.onCodeEditorRemove(d)),r.listCodeEditors().forEach(c);const h=f=>{a(f.getContainerDomNode())},u=f=>{l(f.getContainerDomNode())};this._register(r.onDiffEditorAdd(h)),this._register(r.onDiffEditorRemove(u)),r.listDiffEditors().forEach(h)}addDynamicKeybinding(e,t,i,n){return qr(Xe.registerCommand(e,i),this.addDynamicKeybindings([{keybinding:t,command:e,when:n}]))}addDynamicKeybindings(e){const t=e.map(i=>({keybinding:LR(i.keybinding,oo),command:i.command??null,commandArgs:i.commandArgs,when:i.when,weight1:1e3,weight2:0,extensionId:null,isBuiltinExtension:!1}));return this._dynamicKeybindings=this._dynamicKeybindings.concat(t),this.updateResolver(),fe(()=>{for(let i=0;i<this._dynamicKeybindings.length;i++)if(this._dynamicKeybindings[i]===t[0]){this._dynamicKeybindings.splice(i,t.length),this.updateResolver();return}})}updateResolver(){this._cachedResolver=null,this._onDidUpdateKeybindings.fire()}_getResolver(){if(!this._cachedResolver){const e=this._toNormalizedKeybindingItems(ln.getDefaultKeybindings(),!0),t=this._toNormalizedKeybindingItems(this._dynamicKeybindings,!1);this._cachedResolver=new _S(e,t,i=>this._log(i))}return this._cachedResolver}_documentHasFocus(){return Ct.document.hasFocus()}_toNormalizedKeybindingItems(e,t){const i=[];let n=0;for(const s of e){const r=s.when||void 0,a=s.keybinding;if(!a)i[n++]=new Kee(void 0,s.command,s.commandArgs,r,t,null,!1);else{const l=bS.resolveKeybinding(a,oo);for(const c of l)i[n++]=new Kee(c,s.command,s.commandArgs,r,t,null,!1)}}return i}resolveKeyboardEvent(e){const t=new yc(e.ctrlKey,e.shiftKey,e.altKey,e.metaKey,e.keyCode);return new bS([t],oo)}};bC=oc([Mi(0,ke),Mi(1,Rt),Mi(2,$n),Mi(3,ui),Mi(4,Mt),Mi(5,tt)],bC);class p4e extends P{constructor(e,t){super(),this.domNode=e,this._register(t)}}function kte(o){return!!o&&typeof o=="object"&&(!o.overrideIdentifier||typeof o.overrideIdentifier=="string")&&(!o.resource||o.resource instanceof be)}let aN=class{constructor(e){this.logService=e,this._onDidChangeConfiguration=new A,this.onDidChangeConfiguration=this._onDidChangeConfiguration.event;const t=new l4e(e);this._configuration=new KE(t.reload(),wn.createEmptyModel(e),wn.createEmptyModel(e),wn.createEmptyModel(e),wn.createEmptyModel(e),wn.createEmptyModel(e),new Li,wn.createEmptyModel(e),new Li,e),t.dispose()}getValue(e,t){const i=typeof e=="string"?e:void 0,n=kte(e)?e:kte(t)?t:{};return this._configuration.getValue(i,n,void 0)}updateValues(e){const t={data:this._configuration.toData()},i=[];for(const n of e){const[s,r]=n;this.getValue(s)!==r&&(this._configuration.updateValue(s,r),i.push(s))}if(i.length>0){const n=new VPe({keys:i,overrides:[]},t,this._configuration,void 0,this.logService);n.source=8,this._onDidChangeConfiguration.fire(n)}return Promise.resolve()}updateValue(e,t,i,n){return this.updateValues([[e,t]])}inspect(e,t={}){return this._configuration.inspect(e,t
Line truncated
|
||||
`:`\r
|
||||
`}};uB=oc([Mi(0,Me)],uB);class m4e{publicLog2(){}}const GS=class GS{constructor(){const e=be.from({scheme:GS.SCHEME,authority:"model",path:"/"});this.workspace={id:rG,folders:[new t0e({uri:e,name:"",index:0})]}}getWorkspace(){return this.workspace}getWorkspaceFolder(e){return e&&e.scheme===GS.SCHEME?this.workspace.folders[0]:null}};GS.SCHEME="inmemory";let fB=GS;function lN(o,e,t){if(!e||!(o instanceof aN))return;const i=[];Object.keys(e).forEach(n=>{C0e(n)&&i.push([`editor.${n}`,e[n]]),t&&v0e(n)&&i.push([`diffEditor.${n}`,e[n]])}),i.length>0&&o.updateValues(i)}let gB=class{constructor(e){this._modelService=e}hasPreviewHandler(){return!1}async apply(e,t){const i=Array.isArray(e)?e:g4.convert(e),n=new Map;for(const a of i){if(!(a instanceof Yh))throw new Error("bad edit - only text edits are supported");const l=this._modelService.getModel(a.resource);if(!l)throw new Error("bad edit - model not found");if(typeof a.versionId=="number"&&l.getVersionId()!==a.versionId)throw new Error("bad state - model changed in the meantime");let c=n.get(l);c||(c=[],n.set(l,c)),c.push(gi.replaceMove(k.lift(a.textEdit.range),a.textEdit.text))}let s=0,r=0;for(const[a,l]of n)a.pushStackElement(),a.pushEditOperations([],l,()=>[]),a.pushStackElement(),r+=1,s+=l.length;return{ariaSummary:af(O9.bulkEditServiceSummary,s,r),isApplied:s>0}}};gB=oc([Mi(0,Xt)],gB);class _4e{getUriLabel(e,t){return e.scheme==="file"?e.fsPath:e.path}getUriBasenameLabel(e){return Sr(e)}}let pB=class extends MPe{constructor(e,t){super(e),this._codeEditorService=t}showContextView(e,t,i){if(!t){const n=this._codeEditorService.getFocusedCodeEditor()||this._codeEditorService.getActiveCodeEditor();n&&(t=n.getContainerDomNode())}return super.showContextView(e,t,i)}};pB=oc([Mi(0,Hl),Mi(1,tt)],pB);class b4e{constructor(){this._neverEmitter=new A,this.onDidChangeTrust=this._neverEmitter.event}isWorkspaceTrusted(){return!0}}class C4e extends w8{constructor(){super()}}class v4e extends c4e{constructor(){super(new $oe)}}let mB=class extends x8{constructor(e,t,i,n,s,r){super(e,t,i,n,s,r),this.configure({blockMouse:!1})}};mB=oc([Mi(0,$n),Mi(1,ui),Mi(2,bd),Mi(3,ot),Mi(4,wr),Mi(5,ke)],mB);const w4e={esmModuleLocation:void 0,label:"editorWorkerService"};let _B=class extends s8{constructor(e,t,i,n,s){super(w4e,e,t,i,n,s)}};_B=oc([Mi(0,Xt),Mi(1,cE),Mi(2,Mt),Mi(3,Qt),Mi(4,he)],_B);class S4e{async playSignal(e,t){}}je(Mt,v4e,0),je(Me,aN,0),je(cE,hB,0),je(cJ,uB,0),je(Sd,fB,0),je(jg,_4e,0),je($n,m4e,0),je(nS,g4e,0),je(G4,f4e,0),je(ui,cB,0),je(zl,vp,0),je(ci,C4e,0),je(sr,LAe,0),je(Xt,R8,0),je(f2,T8,0),je(ke,rB,0),je(vj,u4e,0),je(cd,lB,0),je(fs,W1e,0),je(Js,_B,0),je(Nw,gB,0),je(kJ,b4e,0),je(ss,aB,0),je(bn,tB,0),je(Wr,$Le,0),je(Rt,dB,0),je(ot,bC,0),je(Xn,Q8,0),je(bd,pB,0),je(vd,N8,0),je(xo,nB,0),je(Zo,mB,0),je(wr,i4,0),je(ld,S4e,0),je(uP,d4e,0),je(nV,Goe,0),je(u3,tDe,0);var Ee;(function(o){const e=new $_;for(const[l,c]of LV())e.set(l,c);const t=new rN(e,!0);e.set(pe,t);function i(l){n||r({});const c=e.get(l);if(!c)throw new Error("Missing service "+l);return c instanceof pl?t.invokeFunction(d=>d.get(l)):c}o.get=i;let n=!1;const s=new A;function r(l){if(n)return t;n=!0;for(const[d,h]of LV())e.get(d)||e.set(d,h);for(const d in l)if(l.hasOwnProperty(d)){const h=Fe(d);e.get(h)instanceof pl&&e.set(h,l[d])}const c=eSe();for(const d of c)try{t.createInstance(d)}catch(h){De(h)}return s.fire(),t}o.initialize=r;function a(l){if(n)return l();const c=new V,d=c.add(s.event(()=>{d.dispose(),c.add(l())}));return c}o.withServices=a})(Ee||(Ee={}));var y4e=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Ite=function(o,e){return function(t,i){e(t,i,o)}},cN;let bB=(Dm=class{constructor(e,t){this._configurationService=e,this._languageService=t}async renderCodeBlock(e,t,i){const n=Ka(i.context)?i.context:void 0;let s;e?s=this._languageService.getLanguageIdByLanguageName(e):n&&(s=n.getModel()?.getLanguageId()),s||(s=Ho);const r=await zme(this._languageService,t,s),a=cN._ttpTokenizer?cN._ttpTokenizer.createHTML(r)??r:r,l=document.createElement("span");l.innerHTML=a;const c=l.querySelector(".monaco-tokenized-source");return li(c)?(un(c,this.getFontInfo(n)),l):document.createElement("span")}getFontInfo(e){return e?e.getOption(59):yle({fontFamily:this._configurationService.getValue("editor").fontFamily},1)}},cN=Dm,Dm._ttpTokenizer=yl("tokenizeToString",{createHTML(e){return e}}),Dm);bB=cN=y4e([Ite(0,Me),Ite(1,ci)],bB);var CB=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s)
Line truncated
|
||||
`);let r=t;return s!==-1&&(r=t.substring(0,s)),Nte(o,t,e.createByFilepathOrFirstLine(n||null,r),n)}return Nte(o,t,e.createById(i),n)}function Nte(o,e,t,i){return o.createModel(e,t,i)}N("multiDiffEditor.headerBackground",{dark:"#262626",light:"tab.inactiveBackground",hcDark:"tab.inactiveBackground",hcLight:"tab.inactiveBackground"},m(142,"The background color of the diff editor's header")),N("multiDiffEditor.background",xi,m(143,"The background color of the multi file diff editor")),N("multiDiffEditor.border",{dark:"sideBarSectionHeader.border",light:"#cccccc",hcDark:"sideBarSectionHeader.border",hcLight:"#cccccc"},m(144,"The border color of the multi file diff editor"));var k4e=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Tte=function(o,e){return function(t,i){e(t,i,o)}};class I4e{constructor(e,t){this.viewModel=e,this.deltaScrollVertical=t}getId(){return this.viewModel}}let SB=class extends P{constructor(e,t,i,n,s){super(),this._container=e,this._overflowWidgetsDomNode=t,this._workbenchUIElementFactory=i,this._instantiationService=n,this._viewModel=xe(this,void 0),this._collapsed=$(this,l=>this._viewModel.read(l)?.collapsed.read(l)),this._editorContentHeight=xe(this,500),this.contentHeight=$(this,l=>(this._collapsed.read(l)?0:this._editorContentHeight.read(l))+this._outerEditorHeight),this._modifiedContentWidth=xe(this,0),this._modifiedWidth=xe(this,0),this._originalContentWidth=xe(this,0),this._originalWidth=xe(this,0),this.maxScroll=$(this,l=>{const c=this._modifiedContentWidth.read(l)-this._modifiedWidth.read(l),d=this._originalContentWidth.read(l)-this._originalWidth.read(l);return c>d?{maxScroll:c,width:this._modifiedWidth.read(l)}:{maxScroll:d,width:this._originalWidth.read(l)}}),this._elements=et("div.multiDiffEntry",[et("div.header@header",[et("div.header-content",[et("div.collapse-button@collapseButton"),et("div.file-path",[et("div.title.modified.show-file-icons@primaryPath",[]),et("div.status.deleted@status",["R"]),et("div.title.original.show-file-icons@secondaryPath",[])]),et("div.actions@actions")])]),et("div.editorParent",[et("div.editorContainer@editor")])]),this.editor=this._register(this._instantiationService.createInstance(Bl,this._elements.editor,{overflowWidgetsDomNode:this._overflowWidgetsDomNode,fixedOverflowWidgets:!0},{})),this.isModifedFocused=Jt(this.editor.getModifiedEditor()).isFocused,this.isOriginalFocused=Jt(this.editor.getOriginalEditor()).isFocused,this.isFocused=$(this,l=>this.isModifedFocused.read(l)||this.isOriginalFocused.read(l)),this._resourceLabel=this._workbenchUIElementFactory.createResourceLabel?this._register(this._workbenchUIElementFactory.createResourceLabel(this._elements.primaryPath)):void 0,this._resourceLabel2=this._workbenchUIElementFactory.createResourceLabel?this._register(this._workbenchUIElementFactory.createResourceLabel(this._elements.secondaryPath)):void 0,this._dataStore=this._register(new V),this._headerHeight=40,this._lastScrollTop=-1,this._isSettingScrollTop=!1;const r=new Hk(this._elements.collapseButton,{});this._register(Se(l=>{r.element.className="",r.icon=this._collapsed.read(l)?Z.chevronRight:Z.chevronDown})),this._register(r.onDidClick(()=>{this._viewModel.get()?.collapsed.set(!this._collapsed.get(),void 0)})),this._register(Se(l=>{this._elements.editor.style.display=this._collapsed.read(l)?"none":"block"})),this._register(this.editor.getModifiedEditor().onDidLayoutChange(l=>{const c=this.editor.getModifiedEditor().getLayoutInfo().contentWidth;this._modifiedWidth.set(c,void 0)})),this._register(this.editor.getOriginalEditor().onDidLayoutChange(l=>{const c=this.editor.getOriginalEditor().getLayoutInfo().contentWidth;this._originalWidth.set(c,void 0)})),this._register(this.editor.onDidContentSizeChange(l=>{Sv(c=>{this._editorContentHeight.set(l.contentHeight,c),this._modifiedContentWidth.set(this.editor.getModifiedEditor().getContentWidth(),c),this._originalContentWidth.set(this.editor.getOriginalEditor().getContentWidth(),c)})})),this._register(this.editor.getOriginalEditor().onDidScrollChange(l=>{if(this._isSettingScrollTop||!l.scrollTopChanged||!this._data)return;const c=l.scrollTop-this._lastScrollTop;this._data.deltaScrollVertical(c)})),this._register(Se(l=>{const c=this._viewModel.read(l)?.isActive.read(l);this._elements.root.classList.toggle("active",c)})),this._container.appendChild(this._elements.root),this._outerEditorHeight=this._headerHeight,this._contextKeyService=this._register(s.createScoped(this._elements.actions));const a=this._register(this._instantiationService.createChild(new $_([ke,this._contextKeyService])));this._register(a.createInstance(xw,this._elements.actions,ue.MultiDiffEditorFileToolbar,{actionRunner:this._register(new HK(()=>this._viewM
Line truncated
|
||||
hint: use the 'bracket' attribute if matching on equal brackets is required.`);if(typeof a.open=="string"&&typeof a.token=="string"&&typeof a.close=="string")s.push({token:a.token+t.tokenPostfix,open:Ud(t,a.open),close:Ud(t,a.close)});else throw Gt(t,"every element in the 'brackets' array must be a '{open,close,token}' object or array")}return t.brackets=s,t.noThrow=!0,t}function C5e(o){e_.registerLanguage(o)}function v5e(){let o=[];return o=o.concat(e_.getLanguages()),o}function w5e(o){return Ee.get(ci).languageIdCodec.encodeLanguageId(o)}function S5e(o,e){return Ee.withServices(()=>{const i=Ee.get(ci).onDidRequestRichLanguageFeatures(n=>{n===o&&(i.dispose(),e())});return i})}function y5e(o,e){return Ee.withServices(()=>{const i=Ee.get(ci).onDidRequestBasicLanguageFeatures(n=>{n===o&&(i.dispose(),e())});return i})}function L5e(o,e){if(!Ee.get(ci).isRegisteredLanguageId(o))throw new Error(`Cannot set configuration for unknown language ${o}`);return Ee.get(Qt).register(o,e,100)}class x5e{constructor(e,t){this._languageId=e,this._actual=t}dispose(){}getInitialState(){return this._actual.getInitialState()}tokenize(e,t,i){if(typeof this._actual.tokenize=="function")return ES.adaptTokenize(this._languageId,this._actual,e,i);throw new Error("Not supported!")}tokenizeEncoded(e,t,i){const n=this._actual.tokenizeEncoded(e,i);return new rx(n.tokens,n.endState)}}class ES{constructor(e,t,i,n){this._languageId=e,this._actual=t,this._languageService=i,this._standaloneThemeService=n}dispose(){}getInitialState(){return this._actual.getInitialState()}static _toClassicTokens(e,t){const i=[];let n=0;for(let s=0,r=e.length;s<r;s++){const a=e[s];let l=a.startIndex;s===0?l=0:l<n&&(l=n),i[s]=new f1(l,a.scopes,t),n=l}return i}static adaptTokenize(e,t,i,n){const s=t.tokenize(i,n),r=ES._toClassicTokens(s.tokens,e);let a;return s.endState.equals(n)?a=n:a=s.endState,new aA(r,a)}tokenize(e,t,i){return ES.adaptTokenize(this._languageId,this._actual,e,i)}_toBinaryTokens(e,t){const i=e.encodeLanguageId(this._languageId),n=this._standaloneThemeService.getColorTheme().tokenTheme,s=[];let r=0,a=0;for(let c=0,d=t.length;c<d;c++){const h=t[c],u=n.match(i,h.scopes)|1024;if(r>0&&s[r-1]===u)continue;let f=h.startIndex;c===0?f=0:f<a&&(f=a),s[r++]=f,s[r++]=u,a=f}const l=new Uint32Array(r);for(let c=0;c<r;c++)l[c]=s[c];return l}tokenizeEncoded(e,t,i){const n=this._actual.tokenize(e,i),s=this._toBinaryTokens(this._languageService.languageIdCodec,n.tokens);let r;return n.endState.equals(i)?r=i:r=n.endState,new rx(s,r)}}function k5e(o){return typeof o.getInitialState=="function"}function I5e(o){return"tokenizeEncoded"in o}function Fte(o){return o&&typeof o.then=="function"}function D5e(o){const e=Ee.get(sr);if(o){const t=[null];for(let i=1,n=o.length;i<n;i++)t[i]=z.fromHex(o[i]);e.setColorMapOverride(t)}else e.setColorMapOverride(null)}function Wte(o,e){return I5e(e)?new x5e(o,e):new ES(o,e,Ee.get(ci),Ee.get(sr))}function IB(o,e){const t=new Bue(async()=>{const i=await Promise.resolve(e.create());return i?k5e(i)?Wte(o,i):new pS(Ee.get(ci),Ee.get(sr),o,Ote(o,i),Ee.get(Me)):null});return hi.registerFactory(o,t)}function E5e(o,e){if(!Ee.get(ci).isRegisteredLanguageId(o))throw new Error(`Cannot set tokens provider for unknown language ${o}`);return Fte(e)?IB(o,{create:()=>e}):hi.register(o,Wte(o,e))}function N5e(o,e){const t=i=>new pS(Ee.get(ci),Ee.get(sr),o,Ote(o,i),Ee.get(Me));return Fte(e)?IB(o,{create:()=>e}):hi.register(o,t(e))}function T5e(o,e){return Ee.get(he).referenceProvider.register(o,e)}function R5e(o,e){return Ee.get(he).renameProvider.register(o,e)}function M5e(o,e){return Ee.get(he).newSymbolNamesProvider.register(o,e)}function A5e(o,e){return Ee.get(he).signatureHelpProvider.register(o,e)}function P5e(o,e){return Ee.get(he).hoverProvider.register(o,{provideHover:async(i,n,s,r)=>{const a=i.getWordAtPosition(n);return Promise.resolve(e.provideHover(i,n,s,r)).then(l=>{if(l)return!l.range&&a&&(l.range=new k(n.lineNumber,a.startColumn,n.lineNumber,a.endColumn)),l.range||(l.range=new k(n.lineNumber,n.column,n.lineNumber,n.column)),l})}})}function O5e(o,e){return Ee.get(he).documentSymbolProvider.register(o,e)}function F5e(o,e){return Ee.get(he).documentHighlightProvider.register(o,e)}function W5e(o,e){return Ee.get(he).linkedEditingRangeProvider.register(o,e)}function B5e(o,e){return Ee.get(he).definitionProvider.register(o,e)}function H5e(o,e){return Ee.get(he).implementationProvider.register(o,e)}function V5e(o,e){return Ee.get(he).typeDefinitionProvider.register(o,e)}function z5e(o,e){return Ee.get(he).codeLensProvider.register(o,e)}function U5e(o,e,t){return Ee.get(he).codeActionProvider.register(o,{providedCodeActionKinds:t?.providedCodeActionKinds,documentation:t?.documentation,provideCodeActions:(n,s,r,a)=>{const c=Ee.get(zl).read({resource:n.uri}).filter(d=>k.areIntersectingOrTouching(d,s));return e.provideCodeActions(n,s,{markers:c,only:r.only,trigger:r.trigger},a)},resolveCodeAction:e.resolveCodeAction})}function $5e(o,e){return Ee.g
Line truncated
|
||||
@@ -0,0 +1 @@
|
||||
.monaco-aria-container{position:absolute;left:-999em}::-ms-clear{display:none}.monaco-editor .editor-widget input{color:inherit}.monaco-editor{position:relative;overflow:visible;-webkit-text-size-adjust:100%;color:var(--vscode-editor-foreground);background-color:var(--vscode-editor-background);overflow-wrap:initial}.monaco-editor-background{background-color:var(--vscode-editor-background)}.monaco-editor .rangeHighlight{background-color:var(--vscode-editor-rangeHighlightBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-rangeHighlightBorder)}.monaco-editor.hc-black .rangeHighlight,.monaco-editor.hc-light .rangeHighlight{border-style:dotted}.monaco-editor .symbolHighlight{background-color:var(--vscode-editor-symbolHighlightBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-symbolHighlightBorder)}.monaco-editor.hc-black .symbolHighlight,.monaco-editor.hc-light .symbolHighlight{border-style:dotted}.monaco-editor .editorCanvas{position:absolute;width:100%;height:100%;z-index:0;pointer-events:none}.monaco-editor .overflow-guard{position:relative;overflow:hidden}.monaco-editor .view-overlays{position:absolute;top:0}.monaco-editor .view-overlays>div,.monaco-editor .margin-view-overlays>div{position:absolute;width:100%}.monaco-editor .squiggly-error{border-bottom:4px double var(--vscode-editorError-border)}.monaco-editor .squiggly-error:before{display:block;content:"";width:100%;height:100%;background:var(--vscode-editorError-background)}.monaco-editor .squiggly-warning{border-bottom:4px double var(--vscode-editorWarning-border)}.monaco-editor .squiggly-warning:before{display:block;content:"";width:100%;height:100%;background:var(--vscode-editorWarning-background)}.monaco-editor .squiggly-info{border-bottom:4px double var(--vscode-editorInfo-border)}.monaco-editor .squiggly-info:before{display:block;content:"";width:100%;height:100%;background:var(--vscode-editorInfo-background)}.monaco-editor .squiggly-hint{border-bottom:2px dotted var(--vscode-editorHint-border)}.monaco-editor.showUnused .squiggly-unnecessary{border-bottom:2px dashed var(--vscode-editorUnnecessaryCode-border)}.monaco-editor.showDeprecated .squiggly-inline-deprecated{text-decoration:line-through;text-decoration-color:var(--vscode-editor-foreground, inherit)}.monaco-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.monaco-scrollable-element>.visible{opacity:1;background:#0000;transition:opacity .1s linear;z-index:11}.monaco-scrollable-element>.invisible{opacity:0;pointer-events:none}.monaco-scrollable-element>.invisible.fade{transition:opacity .8s linear}.monaco-scrollable-element>.shadow{position:absolute;display:none}.monaco-scrollable-element>.shadow.top{display:block;top:0;left:3px;height:3px;width:100%;box-shadow:var(--vscode-scrollbar-shadow) 0 6px 6px -6px inset}.monaco-scrollable-element>.shadow.left{display:block;top:3px;left:0;height:100%;width:3px;box-shadow:var(--vscode-scrollbar-shadow) 6px 0 6px -6px inset}.monaco-scrollable-element>.shadow.top-left-corner{display:block;top:0;left:0;height:3px;width:3px}.monaco-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow) 6px 0 6px -6px inset}.monaco-scrollable-element>.scrollbar{background:var(--vscode-scrollbar-background)}.monaco-scrollable-element>.scrollbar>.slider{background:var(--vscode-scrollbarSlider-background)}.monaco-scrollable-element>.scrollbar>.slider:hover{background:var(--vscode-scrollbarSlider-hoverBackground)}.monaco-scrollable-element>.scrollbar>.slider.active{background:var(--vscode-scrollbarSlider-activeBackground)}.monaco-editor .blockDecorations-container{position:absolute;top:0;pointer-events:none}.monaco-editor .blockDecorations-block{position:absolute;box-sizing:border-box}.monaco-editor .view-overlays .current-line,.monaco-editor .margin-view-overlays .current-line{display:block;position:absolute;left:0;top:0;box-sizing:border-box;height:100%}.monaco-editor .margin-view-overlays .current-line.current-line-margin.current-line-margin-both{border-right:0}.monaco-editor .lines-content .cdr{position:absolute;height:100%}.monaco-editor .glyph-margin{position:absolute;top:0}.monaco-editor .glyph-margin-widgets .cgmr{position:absolute;display:flex;align-items:center;justify-content:center}.monaco-editor .glyph-margin-widgets .cgmr.codicon-modifier-spin:before{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.monaco-editor .lines-content .core-guide{position:absolute;box-sizing:border-box;height:100%}.monaco-editor .margin-view-overlays .line-numbers{bottom:0;font-variant-numeric:tabular-nums;position:absolute;text-align:right;display:inline-block;vertical-align:middle;box-sizing:border-box;cursor:default}.monaco-editor .relative-current-line-number{text-align:left;display:inline-block;width:100%}.monaco-editor .margin-view-overlays .line-numbers.lh-odd{margin-top:1px}.monaco-editor .line-numbers{color:var(--vscode-editorLineNumber-foreground)}.monaco-editor .line-numLine truncated
|
||||
@@ -0,0 +1,5 @@
|
||||
define("vs/editor/editor.main",["exports","require","vs/nls.messages-loader!","../monaco.contribution-DO3azKX8","../monaco.contribution-qLAYrEOP","../monaco.contribution-EcChJV6a","../monaco.contribution-D2OdxNBt","../basic-languages/monaco.contribution","../editor.api-CalNCsUg","../workers-DcJshg-q"],(function(D,S,Xn,O,A,N,W,Yn,s,Z){"use strict";function Ne(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const We=Ne(S),ze=""+new URL(S.toUrl("../assets/json.worker-DKiEKt88.js"),document.baseURI).href,qe=""+new URL(S.toUrl("../assets/css.worker-HnVq6Ewq.js"),document.baseURI).href,je=""+new URL(S.toUrl("../assets/html.worker-B51mlPHg.js"),document.baseURI).href,Ue=""+new URL(S.toUrl("../assets/ts.worker-CMbG-7ft.js"),document.baseURI).href,Be=""+new URL(S.toUrl("../assets/editor.worker-Be8ye1pW.js"),document.baseURI).href;function Ve(e){return e.method!==void 0}var K;(function(e){function t(n){return n}e.create=t})(K||(K={}));var w;(function(e){e.parseError=-32700,e.invalidRequest=-32600,e.methodNotFound=-32601,e.invalidParams=-32602,e.internalError=-32603;function t(o){return-32099<=o&&o<=-32e3}e.isServerError=t;function n(o){if(!t(o))throw new Error("Invalid range for a server error.");return o}e.serverError=n,e.unexpectedServerError=-32e3;function r(o){return!0}e.isApplicationError=r;function i(o){return o}e.applicationError=i,e.genericApplicationError=-320100})(w||(w={}));var z=class{listeners=new Set;event=e=>(this.listeners.add(e),{dispose:()=>{this.listeners.delete(e)}});fire(e){this.listeners.forEach(t=>t(e))}},Je=class{_value;eventEmitter;constructor(e){this._value=e,this.eventEmitter=new z}get value(){return this._value}set value(e){this._value!==e&&(this._value=e,this.eventEmitter.fire(e))}get onChange(){return this.eventEmitter.event}};function Ge(e,t){const n=setTimeout(t,e);return{dispose:()=>clearTimeout(n)}}function q(e,t,n){return e instanceof Set?(e.add(t),{dispose:()=>e.delete(t)}):(e.set(t,n),{dispose:()=>e.delete(t)})}var Qe=class{_state="none";promise;resolve=()=>{};reject=()=>{};constructor(){this.promise=new Promise((e,t)=>{this.resolve=e,this.reject=t})}get state(){return this._state}},$=class Me{static id=0;_unprocessedMessages=[];_messageListener;id=Me.id++;_state=new Je({state:"open"});state=this._state;setListener(t){if(this._messageListener=t,!!t)for(;this._unprocessedMessages.length>0&&this._messageListener!==void 0;){const n=this._unprocessedMessages.shift();this._messageListener(n)}}send(t){return this._sendImpl(t)}_dispatchReceivedMessage(t){this._unprocessedMessages.length===0&&this._messageListener?this._messageListener(t):this._unprocessedMessages.push(t)}_onConnectionClosed(){this._state.value={state:"closed",error:void 0}}log(t){return new Xe(this,t??new Ye)}},Xe=class{baseStream;logger;constructor(e,t){this.baseStream=e,this.logger=t}get state(){return this.baseStream.state}setListener(e){if(e===void 0){this.baseStream.setListener(void 0);return}this.baseStream.setListener(t=>{this.logger.log(this.baseStream,"incoming",t),e(t)})}send(e){return this.logger.log(this.baseStream,"outgoing",e),this.baseStream.send(e)}toString(){return`StreamLogger/${this.baseStream.toString()}`}},Ye=class{log(e,t,n){console.log(`${t==="incoming"?"<-":"->"} [${e.toString()}] ${JSON.stringify(n)}`)}},Ze=class Ee{connect;constructor(t){this.connect=t}mapContext(t){return new Ee(n=>this.connect(n?Ke(n,t):void 0))}};function Ke(e,t){return{handleNotification:(n,r)=>e.handleNotification(n,t(r)),handleRequest:(n,r,i)=>e.handleRequest(n,r,t(i))}}var $e=class Fe{_stream;_listener;_logger;static createChannel(t,n){let r=!1;return new Ze(i=>{if(r)throw new Error(`A channel to the stream ${t} was already constructed!`);return r=!0,new Fe(t,i,n)})}_unprocessedResponses=new Map;_lastUsedRequestId=0;constructor(t,n,r){this._stream=t,this._listener=n,this._logger=r,this._stream.setListener(i=>{Ve(i)?i.id===void 0?this._processNotification(i):this._processRequest(i):this._processResponse(i)})}get state(){return this._stream.state}async _processNotification(t){if(t.id!==void 0)throw new Error;if(!this._listener){this._logger&&this._logger.debug({text:"Notification ignored",message:t});return}try{await this._listener.handleNotification({method:t.method,params:t.params||null})}catch(n){this._logger&&this._logger.warn({text:`Exception was thrown while handling notification: ${n}`,exception:n,message:t})}}async _processRequest(t){if(t.id===void 0)throw new Error;let n;if(this._listener)try{n=await this._listener.handleRequest({method:t.method,params:t.params||null},t.id)}catch(i){this._logger&&this._logger.warn({text:`Exception was thrown while handling request: ${i}`,message:t,exception:i}),n={error:{code:w.internalError,message:"An unexpected exception was thrown.",data:void 0}}}else this._logger&&this.Line truncated
|
||||
|
||||
${JSON.stringify(o,null,2)}`);return a.value}}async notify(t,n,r){if(!this.checkChannel(this._requestSender))throw new Error;const i=t.paramsSerializer.serializeToJson(n);ne(i),this._requestSender.sendNotification({method:t.method,params:i},r)}};function ne(e){if(e!==null&&Array.isArray(e)&&typeof e!="object")throw new Error("Invalid value! Only null, array and object is allowed.")}var re=class Le extends Error{data;code;constructor(t,n,r=w.genericApplicationError){super(t),this.data=n,this.code=r,Object.setPrototypeOf(this,Le.prototype)}},tt=class X{method;paramsSerializer;resultSerializer;errorSerializer;isOptional;kind="request";constructor(t,n,r,i,o=!1){this.method=t,this.paramsSerializer=n,this.resultSerializer=r,this.errorSerializer=i,this.isOptional=o}withMethod(t){return new X(t,this.paramsSerializer,this.resultSerializer,this.errorSerializer)}optional(){return new X(this.method,this.paramsSerializer,this.resultSerializer,this.errorSerializer,!0)}},nt=class He{method;paramsSerializer;kind="notification";constructor(t,n){this.method=t,this.paramsSerializer=n}withMethod(t){return new He(t,this.paramsSerializer)}};function c(e){return new tt((e||{}).method,C.sAny(),C.sAny(),C.sAny())}function h(e){return new nt((e||{}).method,C.sAny())}const rt=Symbol();var ie=class Ie{error;static factory=t=>new Ie(t);[rt];constructor(t){this.error=t}};function it(e){const t=oe(e.server),n=oe(e.client);return new ot(e.tags||[],t,n)}function oe(e){const t={};for(const[n,r]of Object.entries(e)){const i=r.method?r.method:n;t[n]=r.withMethod(i)}return t}var ot=class Oe{tags;server;client;_onlyDesignTime(){return new Error("This property is not meant to be accessed at runtime")}get TContractObject(){throw this._onlyDesignTime()}get TClientInterface(){throw this._onlyDesignTime()}get TServerInterface(){throw this._onlyDesignTime()}get TClientHandler(){throw this._onlyDesignTime()}get TServerHandler(){throw this._onlyDesignTime()}get TTags(){throw this._onlyDesignTime()}constructor(t=[],n,r){this.tags=t,this.server=n,this.client=r}getInterface(t,n,r,i){const o=this.buildCounterpart(t,r),a=this.registerHandlers(t,n,i,o);return{counterpart:o,dispose:()=>a.dispose()}}buildCounterpart(t,n){const r={};for(const[i,o]of Object.entries(n)){let a;o.kind==="request"?o.isOptional?a=async(l,g)=>{l===void 0&&(l={});try{return await t.request(o,l,g)}catch(y){if(y&&y.code===w.methodNotFound)return ee;throw y}}:a=(l,g)=>(l===void 0&&(l={}),t.request(o,l,g)):a=(l,g)=>(l===void 0&&(l={}),t.notify(o,l,g)),r[i]=a}return r}registerHandlers(t,n,r,i){const o=[];for(const[a,l]of Object.entries(n))if(l.kind==="request"){let g=r[a];if(!g)continue;const y=this.createRequestHandler(i,g);o.push(t.registerRequestHandler(l,y))}else{const g=r[a];g&&o.push(t.registerNotificationHandler(l,(y,Qn)=>{g(y,{context:Qn,counterpart:i})}))}return{dispose:()=>o.forEach(a=>a.dispose())}}createRequestHandler(t,n){return async(r,i,o)=>{const a=await n(r,{context:o,counterpart:t,newErr:ie.factory,requestId:i});return a instanceof ie?a.error:{ok:a}}}static getServerFromStream(t,n,r,i){const o=j.fromTransport(n,r),{server:a}=t.getServer(o,i);return o.startListen(),{channel:o,server:a}}static registerServerToStream(t,n,r,i){const o=j.fromTransport(n,r),{client:a}=t.registerServer(o,i);return o.startListen(),{channel:o,client:a}}getServer(t,n){const{counterpart:r,dispose:i}=this.getInterface(t,this.client,this.server,n);return{server:r,dispose:i}}registerServer(t,n){const{counterpart:r,dispose:i}=this.getInterface(t,this.server,this.client,n);return{client:r,dispose:i}}withContext(){return new Oe(this.tags,this.server,this.client)}};let R=(function(e){return e.Comment="comment",e.Imports="imports",e.Region="region",e})({}),m=(function(e){return e[e.File=1]="File",e[e.Module=2]="Module",e[e.Namespace=3]="Namespace",e[e.Package=4]="Package",e[e.Class=5]="Class",e[e.Method=6]="Method",e[e.Property=7]="Property",e[e.Field=8]="Field",e[e.Constructor=9]="Constructor",e[e.Enum=10]="Enum",e[e.Interface=11]="Interface",e[e.Function=12]="Function",e[e.Variable=13]="Variable",e[e.Constant=14]="Constant",e[e.String=15]="String",e[e.Number=16]="Number",e[e.Boolean=17]="Boolean",e[e.Array=18]="Array",e[e.Object=19]="Object",e[e.Key=20]="Key",e[e.Null=21]="Null",e[e.EnumMember=22]="EnumMember",e[e.Struct=23]="Struct",e[e.Event=24]="Event",e[e.Operator=25]="Operator",e[e.TypeParameter=26]="TypeParameter",e})({}),se=(function(e){return e[e.Deprecated=1]="Deprecated",e})({}),ae=(function(e){return e[e.Type=1]="Type",e[e.Parameter=2]="Parameter",e})({}),st=(function(e){return e[e.None=0]="None",e[e.Full=1]="Full",e[e.Incremental=2]="Incremental",e})({}),f=(function(e){return e[e.Text=1]="Text",e[e.Method=2]="Method",e[e.Function=3]="Function",e[e.Constructor=4]="Constructor",e[e.Field=5]="Field",e[e.Variable=6]="Variable",e[e.Class=7]="Class",e[e.Interface=8]="Interface",e[e.Module=9]="Module",e[e.Property=10]="Property",e[e.Unit=11]="Unit",e[e.Value=12]="Value",e[e.Enum=13]="Enum",e[e.Keywor
Line truncated
|
||||
${e.value}
|
||||
\`\`\``,isTrusted:!0}}var qt=class extends p{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{signatureHelp:{dynamicRegistration:!0,contextSupport:!0,signatureInformation:{documentationFormat:[P.Markdown,P.PlainText],parameterInformation:{labelOffsetSupport:!0},activeParameterSupport:!0}}}})),this._register(this._connection.capabilities.registerCapabilityHandler(u.textDocumentSignatureHelp,!0,t=>s.languages.registerSignatureHelpProvider(v(t.documentSelector),new jt(this._connection,t))))}},jt=class{signatureHelpTriggerCharacters;signatureHelpRetriggerCharacters;constructor(e,t){this._client=e,this._capabilities=t,this.signatureHelpTriggerCharacters=t.triggerCharacters,this.signatureHelpRetriggerCharacters=t.retriggerCharacters}async provideSignatureHelp(e,t,n,r){const i=this._client.bridge.translate(e,t),o=await this._client.server.textDocumentSignatureHelp({textDocument:i.textDocument,position:i.position,context:{triggerKind:Et(r.triggerKind),triggerCharacter:r.triggerCharacter,isRetrigger:r.isRetrigger}});return o?{value:{signatures:o.signatures.map(a=>({label:a.label,documentation:ve(a.documentation),parameters:a.parameters?.map(l=>({label:l.label,documentation:ve(l.documentation)}))||[],activeParameter:a.activeParameter})),activeSignature:o.activeSignature||0,activeParameter:o.activeParameter||0},dispose:()=>{}}:null}};function ve(e){if(e)return typeof e=="string"?e:{value:e.value,isTrusted:!0}}var Ut=class extends p{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{definition:{dynamicRegistration:!0,linkSupport:!0}}})),this._register(this._connection.capabilities.registerCapabilityHandler(u.textDocumentDefinition,!0,t=>s.languages.registerDefinitionProvider(v(t.documentSelector),new Bt(this._connection,t))))}},Bt=class{constructor(e,t){this._client=e,this._capabilities=t}async provideDefinition(e,t,n){const r=this._client.bridge.translate(e,t),i=await this._client.server.textDocumentDefinition({textDocument:r.textDocument,position:r.position});return i?Array.isArray(i)?i.map(o=>b(o,this._client)):b(i,this._client):null}},Vt=class extends p{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{declaration:{dynamicRegistration:!0,linkSupport:!0}}})),this._register(this._connection.capabilities.registerCapabilityHandler(u.textDocumentDeclaration,!0,t=>s.languages.registerDeclarationProvider(v(t.documentSelector),new Jt(this._connection,t))))}},Jt=class{constructor(e,t){this._client=e,this._capabilities=t}async provideDeclaration(e,t,n){const r=this._client.bridge.translate(e,t),i=await this._client.server.textDocumentDeclaration({textDocument:r.textDocument,position:r.position});return i?Array.isArray(i)?i.map(o=>b(o,this._client)):b(i,this._client):null}},Gt=class extends p{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{typeDefinition:{dynamicRegistration:!0,linkSupport:!0}}})),this._register(this._connection.capabilities.registerCapabilityHandler(u.textDocumentTypeDefinition,!0,t=>s.languages.registerTypeDefinitionProvider(v(t.documentSelector),new Qt(this._connection,t))))}},Qt=class{constructor(e,t){this._client=e,this._capabilities=t}async provideTypeDefinition(e,t,n){const r=this._client.bridge.translate(e,t),i=await this._client.server.textDocumentTypeDefinition({textDocument:r.textDocument,position:r.position});return i?Array.isArray(i)?i.map(o=>b(o,this._client)):b(i,this._client):null}},Xt=class extends p{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{implementation:{dynamicRegistration:!0,linkSupport:!0}}})),this._register(this._connection.capabilities.registerCapabilityHandler(u.textDocumentImplementation,!0,t=>s.languages.registerImplementationProvider(v(t.documentSelector),new Yt(this._connection,t))))}},Yt=class{constructor(e,t){this._client=e,this._capabilities=t}async provideImplementation(e,t,n){const r=this._client.bridge.translate(e,t),i=await this._client.server.textDocumentImplementation({textDocument:r.textDocument,position:r.position});return i?Array.isArray(i)?i.map(o=>b(o,this._client)):b(i,this._client):null}},Zt=class extends p{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{references:{dynamicRegistration:!0}}})),this._register(this._connection.capabilities.registerCapabilityHandler(u.textDocumentReferences,!0,t=>s.languages.registerReferenceProvider(v(t.documentSelector),new Kt(this._connection,t))))}},Kt=class{constructor(e,t){this._client=e,this._capabilities=t}async provideReferences(e,t,n,r){const i=this._client.bridge.translate(e,t),o=await this._client.server.textDocumentReferences({textDocumeLine truncated
|
||||
@@ -0,0 +1 @@
|
||||
define("vs/elixir-xjPaIfzF",["exports"],(function(e){"use strict";const t={comments:{lineComment:"#"},brackets:[["{","}"],["[","]"],["(",")"]],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"'",close:"'"},{open:'"',close:'"'}],autoClosingPairs:[{open:"'",close:"'",notIn:["string","comment"]},{open:'"',close:'"',notIn:["comment"]},{open:'"""',close:'"""'},{open:"`",close:"`",notIn:["string","comment"]},{open:"(",close:")"},{open:"{",close:"}"},{open:"[",close:"]"},{open:"<<",close:">>"}],indentationRules:{increaseIndentPattern:/^\s*(after|else|catch|rescue|fn|[^#]*(do|<\-|\->|\{|\[|\=))\s*$/,decreaseIndentPattern:/^\s*((\}|\])\s*$|(after|else|catch|rescue|end)\b)/}},n={defaultToken:"source",tokenPostfix:".elixir",brackets:[{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"{",close:"}",token:"delimiter.curly"},{open:"<<",close:">>",token:"delimiter.angle.special"}],declarationKeywords:["def","defp","defn","defnp","defguard","defguardp","defmacro","defmacrop","defdelegate","defcallback","defmacrocallback","defmodule","defprotocol","defexception","defimpl","defstruct"],operatorKeywords:["and","in","not","or","when"],namespaceKeywords:["alias","import","require","use"],otherKeywords:["after","case","catch","cond","do","else","end","fn","for","if","quote","raise","receive","rescue","super","throw","try","unless","unquote_splicing","unquote","with"],constants:["true","false","nil"],nameBuiltin:["__MODULE__","__DIR__","__ENV__","__CALLER__","__STACKTRACE__"],operator:/-[->]?|!={0,2}|\*{1,2}|\/|\\\\|&{1,3}|\.\.?|\^(?:\^\^)?|\+\+?|<(?:-|<<|=|>|\|>|~>?)?|=~|={1,3}|>(?:=|>>)?|\|~>|\|>|\|{1,3}|~>>?|~~~|::/,variableName:/[a-z_][a-zA-Z0-9_]*[?!]?/,atomName:/[a-zA-Z_][a-zA-Z0-9_@]*[?!]?|@specialAtomName|@operator/,specialAtomName:/\.\.\.|<<>>|%\{\}|%|\{\}/,aliasPart:/[A-Z][a-zA-Z0-9_]*/,moduleName:/@aliasPart(?:\.@aliasPart)*/,sigilSymmetricDelimiter:/"""|'''|"|'|\/|\|/,sigilStartDelimiter:/@sigilSymmetricDelimiter|<|\{|\[|\(/,sigilEndDelimiter:/@sigilSymmetricDelimiter|>|\}|\]|\)/,sigilModifiers:/[a-zA-Z0-9]*/,decimal:/\d(?:_?\d)*/,hex:/[0-9a-fA-F](_?[0-9a-fA-F])*/,octal:/[0-7](_?[0-7])*/,binary:/[01](_?[01])*/,escape:/\\u[0-9a-fA-F]{4}|\\x[0-9a-fA-F]{2}|\\./,tokenizer:{root:[{include:"@whitespace"},{include:"@comments"},{include:"@keywordsShorthand"},{include:"@numbers"},{include:"@identifiers"},{include:"@strings"},{include:"@atoms"},{include:"@sigils"},{include:"@attributes"},{include:"@symbols"}],whitespace:[[/\s+/,"white"]],comments:[[/(#)(.*)/,["comment.punctuation","comment"]]],keywordsShorthand:[[/(@atomName)(:)(\s+)/,["constant","constant.punctuation","white"]],[/"(?=([^"]|#\{.*?\}|\\")*":)/,{token:"constant.delimiter",next:"@doubleQuotedStringKeyword"}],[/'(?=([^']|#\{.*?\}|\\')*':)/,{token:"constant.delimiter",next:"@singleQuotedStringKeyword"}]],doubleQuotedStringKeyword:[[/":/,{token:"constant.delimiter",next:"@pop"}],{include:"@stringConstantContentInterpol"}],singleQuotedStringKeyword:[[/':/,{token:"constant.delimiter",next:"@pop"}],{include:"@stringConstantContentInterpol"}],numbers:[[/0b@binary/,"number.binary"],[/0o@octal/,"number.octal"],[/0x@hex/,"number.hex"],[/@decimal\.@decimal([eE]-?@decimal)?/,"number.float"],[/@decimal/,"number"]],identifiers:[[/\b(defp?|defnp?|defmacrop?|defguardp?|defdelegate)(\s+)(@variableName)(?!\s+@operator)/,["keyword.declaration","white",{cases:{unquote:"keyword","@default":"function"}}]],[/(@variableName)(?=\s*\.?\s*\()/,{cases:{"@declarationKeywords":"keyword.declaration","@namespaceKeywords":"keyword","@otherKeywords":"keyword","@default":"function.call"}}],[/(@moduleName)(\s*)(\.)(\s*)(@variableName)/,["type.identifier","white","operator","white","function.call"]],[/(:)(@atomName)(\s*)(\.)(\s*)(@variableName)/,["constant.punctuation","constant","white","operator","white","function.call"]],[/(\|>)(\s*)(@variableName)/,["operator","white",{cases:{"@otherKeywords":"keyword","@default":"function.call"}}]],[/(&)(\s*)(@variableName)/,["operator","white","function.call"]],[/@variableName/,{cases:{"@declarationKeywords":"keyword.declaration","@operatorKeywords":"keyword.operator","@namespaceKeywords":"keyword","@otherKeywords":"keyword","@constants":"constant.language","@nameBuiltin":"variable.language","_.*":"comment.unused","@default":"identifier"}}],[/@moduleName/,"type.identifier"]],strings:[[/"""/,{token:"string.delimiter",next:"@doubleQuotedHeredoc"}],[/'''/,{token:"string.delimiter",next:"@singleQuotedHeredoc"}],[/"/,{token:"string.delimiter",next:"@doubleQuotedString"}],[/'/,{token:"string.delimiter",next:"@singleQuotedString"}]],doubleQuotedHeredoc:[[/"""/,{token:"string.delimiter",next:"@pop"}],{include:"@stringContentInterpol"}],singleQuotedHeredoc:[[/'''/,{token:"string.delimiter",next:"@pop"}],{include:"@stringContentInterpol"}],doubleQuotedString:[[/"/,{token:"string.delimiter",next:"@pop"}],{include:"@stringContentInterpol"}],singleQuotedString:[[/'/,{token:"string.deLine truncated
|
||||
@@ -0,0 +1 @@
|
||||
define("vs/flow9-DqtmStfK",["exports"],(function(e){"use strict";const o={comments:{blockComment:["/*","*/"],lineComment:"//"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}",notIn:["string"]},{open:"[",close:"]",notIn:["string"]},{open:"(",close:")",notIn:["string"]},{open:'"',close:'"',notIn:["string"]},{open:"'",close:"'",notIn:["string"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"<",close:">"}]},n={defaultToken:"",tokenPostfix:".flow",keywords:["import","require","export","forbid","native","if","else","cast","unsafe","switch","default"],types:["io","mutable","bool","int","double","string","flow","void","ref","true","false","with"],operators:["=",">","<","<=",">=","==","!","!=",":=","::=","&&","||","+","-","*","/","@","&","%",":","->","\\","$","??","^"],symbols:/[@$=><!~?:&|+\-*\\\/\^%]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/[a-zA-Z_]\w*/,{cases:{"@keywords":"keyword","@types":"type","@default":"identifier"}}],{include:"@whitespace"},[/[{}()\[\]]/,"delimiter"],[/[<>](?!@symbols)/,"delimiter"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/((0(x|X)[0-9a-fA-F]*)|(([0-9]+\.?[0-9]*)|(\.[0-9]+))((e|E)(\+|-)?[0-9]+)?)/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]]}};e.conf=o,e.language=n,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}));
|
||||
@@ -0,0 +1,3 @@
|
||||
define("vs/freemarker2-Cz_sV6Md",["exports","./editor.api-CalNCsUg"],(function(i,c){"use strict";const s=["assign","flush","ftl","return","global","import","include","break","continue","local","nested","nt","setting","stop","t","lt","rt","fallback"],d=["attempt","autoesc","autoEsc","compress","comment","escape","noescape","function","if","list","items","sep","macro","noparse","noParse","noautoesc","noAutoEsc","outputformat","switch","visit","recurse"],a={close:">",id:"angle",open:"<"},r={close:"\\]",id:"bracket",open:"\\["},f={close:"[>\\]]",id:"auto",open:"[<\\[]"},p={close:"\\}",id:"dollar",open1:"\\$",open2:"\\{"},g={close:"\\]",id:"bracket",open1:"\\[",open2:"="};function l(t){return{brackets:[["<",">"],["[","]"],["(",")"],["{","}"]],comments:{blockComment:[`${t.open}--`,`--${t.close}`]},autoCloseBefore:`
|
||||
\r }]),.:;=`,autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"',notIn:["string"]},{open:"'",close:"'",notIn:["string"]}],surroundingPairs:[{open:'"',close:'"'},{open:"'",close:"'"},{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"}],folding:{markers:{start:new RegExp(`${t.open}#(?:${d.join("|")})([^/${t.close}]*(?!/)${t.close})[^${t.open}]*$`),end:new RegExp(`${t.open}/#(?:${d.join("|")})[\\r\\n\\t ]*>`)}},onEnterRules:[{beforeText:new RegExp(`${t.open}#(?!(?:${s.join("|")}))([a-zA-Z_]+)([^/${t.close}]*(?!/)${t.close})[^${t.open}]*$`),afterText:new RegExp(`^${t.open}/#([a-zA-Z_]+)[\\r\\n\\t ]*${t.close}$`),action:{indentAction:c.languages.IndentAction.IndentOutdent}},{beforeText:new RegExp(`${t.open}#(?!(?:${s.join("|")}))([a-zA-Z_]+)([^/${t.close}]*(?!/)${t.close})[^${t.open}]*$`),action:{indentAction:c.languages.IndentAction.Indent}}]}}function A(){return{brackets:[["<",">"],["[","]"],["(",")"],["{","}"]],autoCloseBefore:`
|
||||
\r }]),.:;=`,autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"',notIn:["string"]},{open:"'",close:"'",notIn:["string"]}],surroundingPairs:[{open:'"',close:'"'},{open:"'",close:"'"},{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"}],folding:{markers:{start:new RegExp(`[<\\[]#(?:${d.join("|")})([^/>\\]]*(?!/)[>\\]])[^<\\[]*$`),end:new RegExp(`[<\\[]/#(?:${d.join("|")})[\\r\\n\\t ]*>`)}},onEnterRules:[{beforeText:new RegExp(`[<\\[]#(?!(?:${s.join("|")}))([a-zA-Z_]+)([^/>\\]]*(?!/)[>\\]])[^[<\\[]]*$`),afterText:new RegExp("^[<\\[]/#([a-zA-Z_]+)[\\r\\n\\t ]*[>\\]]$"),action:{indentAction:c.languages.IndentAction.IndentOutdent}},{beforeText:new RegExp(`[<\\[]#(?!(?:${s.join("|")}))([a-zA-Z_]+)([^/>\\]]*(?!/)[>\\]])[^[<\\[]]*$`),action:{indentAction:c.languages.IndentAction.Indent}}]}}function _(t,n){const u=`_${t.id}_${n.id}`,e=k=>k.replace(/__id__/g,u),o=k=>{const D=k.source.replace(/__id__/g,u);return new RegExp(D,k.flags)};return{unicode:!0,includeLF:!1,start:e("default__id__"),ignoreCase:!1,defaultToken:"invalid",tokenPostfix:".freemarker2",brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}],[e("open__id__")]:new RegExp(t.open),[e("close__id__")]:new RegExp(t.close),[e("iOpen1__id__")]:new RegExp(n.open1),[e("iOpen2__id__")]:new RegExp(n.open2),[e("iClose__id__")]:new RegExp(n.close),[e("startTag__id__")]:o(/(@open__id__)(#)/),[e("endTag__id__")]:o(/(@open__id__)(\/#)/),[e("startOrEndTag__id__")]:o(/(@open__id__)(\/?#)/),[e("closeTag1__id__")]:o(/((?:@blank)*)(@close__id__)/),[e("closeTag2__id__")]:o(/((?:@blank)*\/?)(@close__id__)/),blank:/[ \t\n\r]/,keywords:["false","true","in","as","using"],directiveStartCloseTag1:/attempt|recover|sep|auto[eE]sc|no(?:autoe|AutoE)sc|compress|default|no[eE]scape|comment|no[pP]arse/,directiveStartCloseTag2:/else|break|continue|return|stop|flush|t|lt|rt|nt|nested|recurse|fallback|ftl/,directiveStartBlank:/if|else[iI]f|list|for[eE]ach|switch|case|assign|global|local|include|import|function|macro|transform|visit|stop|return|call|setting|output[fF]ormat|nested|recurse|escape|ftl|items/,directiveEndCloseTag1:/if|list|items|sep|recover|attempt|for[eE]ach|local|global|assign|function|macro|output[fF]ormat|auto[eE]sc|no(?:autoe|AutoE)sc|compress|transform|switch|escape|no[eE]scape/,escapedChar:/\\(?:[ntrfbgla\\'"\{=]|(?:x[0-9A-Fa-f]{1,4}))/,asciiDigit:/[0-9]/,integer:/[0-9]+/,nonEscapedIdStartChar:/[\$@-Z_a-z\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u1FFF\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183-\u2184\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3006\u3031-\u3035\u303B-\u303C\u3040-\u318F\u31A0-\u31BA\u31F0-\u31FF\u3300-\u337F\u3400-\u4DB5\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8D0-\uA8D9\uA8F2-\uA8F7\uA8FB\uA900-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF-\uA9D9\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA50-\uAA59\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5-\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uABC0-\uABE2\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40-\uFB41\uFB43-\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/,escapedIdChar:/\\[\-\.:#]/,idStartChar:/(?:@nonEscapedIdStartChar)|(?:@escapedIdChar)/,id:/(?:@idStartChar)(?:(?:@idStartChar)|(?:@asciiDigit))*/,specialHashKeys:/\*\*|\*|false|true|in|as|using/,namedSymbols:/<=|>=|\\lte|\\lt|<|\\gte|\\gt|>|&&|\\and|->|->|==|!=|\+=|-=|\*=|\/=|%=|\+\+|--|<=|&&|\|\||:|\.\.\.|\.\.\*|\.\.<|\.\.!|\?\?|=|<|\+|-|\*|\/|%|\||\.\.|\?|!|&|\.|,|;/,arrows:["->","->"],delimiters:[";",":",",","."],stringOperators:["lte","lt","gte","gt"],noParseTags:["noparse","noParse","comment"],tokenizer:{[e("default__id__")]:[{include:e("@directive_token__id__")},{include:e("@interpolation_and_text_token__id__")}],[e("fmExpression__id__.directive")]:[{include:e("@blank_and_expression_comment_token__id__")},{include:e("@directive_end_token__id__")},{include:e("@expression_token__id__")}],[e("fmExpression__id__.interpolation")]:[{include:e("@blank_and_expression_comment_t
Line truncated
|
||||
@@ -0,0 +1 @@
|
||||
define("vs/fsharp-BOMdg4U1",["exports"],(function(e){"use strict";const n={comments:{lineComment:"//",blockComment:["(*","*)"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{markers:{start:new RegExp("^\\s*//\\s*#region\\b|^\\s*\\(\\*\\s*#region(.*)\\*\\)"),end:new RegExp("^\\s*//\\s*#endregion\\b|^\\s*\\(\\*\\s*#endregion\\s*\\*\\)")}}},t={defaultToken:"",tokenPostfix:".fs",keywords:["abstract","and","atomic","as","assert","asr","base","begin","break","checked","component","const","constraint","constructor","continue","class","default","delegate","do","done","downcast","downto","elif","else","end","exception","eager","event","external","extern","false","finally","for","fun","function","fixed","functor","global","if","in","include","inherit","inline","interface","internal","land","lor","lsl","lsr","lxor","lazy","let","match","member","mod","module","mutable","namespace","method","mixin","new","not","null","of","open","or","object","override","private","parallel","process","protected","pure","public","rec","return","static","sealed","struct","sig","then","to","true","tailcall","trait","try","type","upcast","use","val","void","virtual","volatile","when","while","with","yield"],symbols:/[=><!~?:&|+\-*\^%;\.,\/]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,integersuffix:/[uU]?[yslnLI]?/,floatsuffix:/[fFmM]?/,tokenizer:{root:[[/[a-zA-Z_]\w*/,{cases:{"@keywords":{token:"keyword.$0"},"@default":"identifier"}}],{include:"@whitespace"},[/\[<.*>\]/,"annotation"],[/^#(if|else|endif)/,"keyword"],[/[{}()\[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/@symbols/,"delimiter"],[/\d*\d+[eE]([\-+]?\d+)?(@floatsuffix)/,"number.float"],[/\d*\.\d+([eE][\-+]?\d+)?(@floatsuffix)/,"number.float"],[/0x[0-9a-fA-F]+LF/,"number.float"],[/0x[0-9a-fA-F]+(@integersuffix)/,"number.hex"],[/0b[0-1]+(@integersuffix)/,"number.bin"],[/\d+(@integersuffix)/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"""/,"string",'@string."""'],[/"/,"string",'@string."'],[/\@"/,{token:"string.quote",next:"@litstring"}],[/'[^\\']'B?/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],whitespace:[[/[ \t\r\n]+/,""],[/\(\*(?!\))/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^*(]+/,"comment"],[/\*\)/,"comment","@pop"],[/\*/,"comment"],[/\(\*\)/,"comment"],[/\(/,"comment"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/("""|"B?)/,{cases:{"$#==$S2":{token:"string",next:"@pop"},"@default":"string"}}]],litstring:[[/[^"]+/,"string"],[/""/,"string.escape"],[/"/,{token:"string.quote",next:"@pop"}]]}};e.conf=n,e.language=t,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}));
|
||||
@@ -0,0 +1 @@
|
||||
define("vs/go-D_hbi-Jt",["exports"],(function(e){"use strict";const n={comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"`",close:"`",notIn:["string"]},{open:'"',close:'"',notIn:["string"]},{open:"'",close:"'",notIn:["string","comment"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"`",close:"`"},{open:'"',close:'"'},{open:"'",close:"'"}]},o={defaultToken:"",tokenPostfix:".go",keywords:["break","case","chan","const","continue","default","defer","else","fallthrough","for","func","go","goto","if","import","interface","map","package","range","return","select","struct","switch","type","var","bool","true","false","uint8","uint16","uint32","uint64","int8","int16","int32","int64","float32","float64","complex64","complex128","byte","rune","uint","int","uintptr","string","nil"],operators:["+","-","*","/","%","&","|","^","<<",">>","&^","+=","-=","*=","/=","%=","&=","|=","^=","<<=",">>=","&^=","&&","||","<-","++","--","==","<",">","=","!","!=","<=",">=",":=","...","(",")","","]","{","}",",",";",".",":"],symbols:/[=><!~?:&|+\-*\/\^%]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/[a-zA-Z_]\w*/,{cases:{"@keywords":{token:"keyword.$0"},"@default":"identifier"}}],{include:"@whitespace"},[/\[\[.*\]\]/,"annotation"],[/^\s*#\w+/,"keyword"],[/[{}()\[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/\d*\d+[eE]([\-+]?\d+)?/,"number.float"],[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float"],[/0[xX][0-9a-fA-F']*[0-9a-fA-F]/,"number.hex"],[/0[0-7']*[0-7]/,"number.octal"],[/0[bB][0-1']*[0-1]/,"number.binary"],[/\d[\d']*/,"number"],[/\d/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string"],[/`/,"string","@rawstring"],[/'[^\\']'/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@doccomment"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],doccomment:[[/[^\/*]+/,"comment.doc"],[/\/\*/,"comment.doc.invalid"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]],rawstring:[[/[^\`]/,"string"],[/`/,"string","@pop"]]}};e.conf=n,e.language=o,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}));
|
||||
@@ -0,0 +1 @@
|
||||
define("vs/graphql-CKUU4kLG",["exports"],(function(e){"use strict";const n={comments:{lineComment:"#"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"""',close:'"""',notIn:["string","comment"]},{open:'"',close:'"',notIn:["string","comment"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"""',close:'"""'},{open:'"',close:'"'}],folding:{offSide:!0}},t={defaultToken:"invalid",tokenPostfix:".gql",keywords:["null","true","false","query","mutation","subscription","extend","schema","directive","scalar","type","interface","union","enum","input","implements","fragment","on"],typeKeywords:["Int","Float","String","Boolean","ID"],directiveLocations:["SCHEMA","SCALAR","OBJECT","FIELD_DEFINITION","ARGUMENT_DEFINITION","INTERFACE","UNION","ENUM","ENUM_VALUE","INPUT_OBJECT","INPUT_FIELD_DEFINITION","QUERY","MUTATION","SUBSCRIPTION","FIELD","FRAGMENT_DEFINITION","FRAGMENT_SPREAD","INLINE_FRAGMENT","VARIABLE_DEFINITION"],operators:["=","!","?",":","&","|"],symbols:/[=!?:&|]+/,escapes:/\\(?:["\\\/bfnrt]|u[0-9A-Fa-f]{4})/,tokenizer:{root:[[/[a-z_][\w$]*/,{cases:{"@keywords":"keyword","@default":"key.identifier"}}],[/[$][\w$]*/,{cases:{"@keywords":"keyword","@default":"argument.identifier"}}],[/[A-Z][\w\$]*/,{cases:{"@typeKeywords":"keyword","@default":"type.identifier"}}],{include:"@whitespace"},[/[{}()\[\]]/,"@brackets"],[/@symbols/,{cases:{"@operators":"operator","@default":""}}],[/@\s*[a-zA-Z_\$][\w\$]*/,{token:"annotation",log:"annotation token: $0"}],[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float"],[/0[xX][0-9a-fA-F]+/,"number.hex"],[/\d+/,"number"],[/[;,.]/,"delimiter"],[/"""/,{token:"string",next:"@mlstring",nextEmbedded:"markdown"}],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,{token:"string.quote",bracket:"@open",next:"@string"}]],mlstring:[[/[^"]+/,"string"],['"""',{token:"string",next:"@pop",nextEmbedded:"@pop"}]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,{token:"string.quote",bracket:"@close",next:"@pop"}]],whitespace:[[/[ \t\r\n]+/,""],[/#.*$/,"comment"]]}};e.conf=n,e.language=t,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}));
|
||||
@@ -0,0 +1 @@
|
||||
define("vs/handlebars-OwglfO-1",["exports","./editor.api-CalNCsUg"],(function(e,t){"use strict";const n=["area","base","br","col","embed","hr","img","input","keygen","link","menuitem","meta","param","source","track","wbr"],a={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\$\^\&\*\(\)\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\s]+)/g,comments:{blockComment:["{{!--","--}}"]},brackets:[["<!--","-->"],["<",">"],["{{","}}"],["{","}"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"<",close:">"},{open:'"',close:'"'},{open:"'",close:"'"}],onEnterRules:[{beforeText:new RegExp(`<(?!(?:${n.join("|")}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`,"i"),afterText:/^<\/(\w[\w\d]*)\s*>$/i,action:{indentAction:t.languages.IndentAction.IndentOutdent}},{beforeText:new RegExp(`<(?!(?:${n.join("|")}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`,"i"),action:{indentAction:t.languages.IndentAction.Indent}}]},r={defaultToken:"",tokenPostfix:"",tokenizer:{root:[[/\{\{!--/,"comment.block.start.handlebars","@commentBlock"],[/\{\{!/,"comment.start.handlebars","@comment"],[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.root"}],[/<!DOCTYPE/,"metatag.html","@doctype"],[/<!--/,"comment.html","@commentHtml"],[/(<)(\w+)(\/>)/,["delimiter.html","tag.html","delimiter.html"]],[/(<)(script)/,["delimiter.html",{token:"tag.html",next:"@script"}]],[/(<)(style)/,["delimiter.html",{token:"tag.html",next:"@style"}]],[/(<)([:\w]+)/,["delimiter.html",{token:"tag.html",next:"@otherTag"}]],[/(<\/)(\w+)/,["delimiter.html",{token:"tag.html",next:"@otherTag"}]],[/</,"delimiter.html"],[/\{/,"delimiter.html"],[/[^<{]+/]],doctype:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.comment"}],[/[^>]+/,"metatag.content.html"],[/>/,"metatag.html","@pop"]],comment:[[/\}\}/,"comment.end.handlebars","@pop"],[/./,"comment.content.handlebars"]],commentBlock:[[/--\}\}/,"comment.block.end.handlebars","@pop"],[/./,"comment.content.handlebars"]],commentHtml:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.comment"}],[/-->/,"comment.html","@pop"],[/[^-]+/,"comment.content.html"],[/./,"comment.content.html"]],otherTag:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.otherTag"}],[/\/?>/,"delimiter.html","@pop"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/]],script:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.script"}],[/type/,"attribute.name","@scriptAfterType"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.text/javascript",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/(<\/)(script\s*)(>)/,["delimiter.html","tag.html",{token:"delimiter.html",next:"@pop"}]]],scriptAfterType:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.scriptAfterType"}],[/=/,"delimiter","@scriptAfterTypeEquals"],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.text/javascript",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptAfterTypeEquals:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.scriptAfterTypeEquals"}],[/"([^"]*)"/,{token:"attribute.value",switchTo:"@scriptWithCustomType.$1"}],[/'([^']*)'/,{token:"attribute.value",switchTo:"@scriptWithCustomType.$1"}],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.text/javascript",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptWithCustomType:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.scriptWithCustomType.$S2"}],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.$S2",nextEmbedded:"$S2"}],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptEmbedded:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInEmbeddedState.scriptEmbedded.$S2",nextEmbedded:"@pop"}],[/<\/script/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}]],style:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.style"}],[/type/,"attribute.name","@styleAfterType"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/>/,{token:"delimiter.html",next:"@styleEmbedded.text/css",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/(<\/)(style\s*)(>)/,["delimiter.html","tag.html",{token:"delimiter.html",next:"@pop"}]]],styleAfterType:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.styleAfterType"}],[/=/,"delimiter","@styleAfterTypeEquals"],[/>/,{token:"delimiter.html",next:"@styleEmbedded.text/css",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleAfterTypeEquals:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.styleAfterTypeEquals"}],[/"([^"]*)"/,{tokeLine truncated
|
||||
@@ -0,0 +1 @@
|
||||
define("vs/hcl-DTaboeZW",["exports"],(function(e){"use strict";const t={comments:{lineComment:"#",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"',notIn:["string"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'}]},s={defaultToken:"",tokenPostfix:".hcl",keywords:["var","local","path","for_each","any","string","number","bool","true","false","null","if ","else ","endif ","for ","in","endfor"],operators:["=",">=","<=","==","!=","+","-","*","/","%","&&","||","!","<",">","?","...",":"],symbols:/[=><!~?:&|+\-*\/\^%]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,terraformFunctions:/(abs|ceil|floor|log|max|min|pow|signum|chomp|format|formatlist|indent|join|lower|regex|regexall|replace|split|strrev|substr|title|trimspace|upper|chunklist|coalesce|coalescelist|compact|concat|contains|distinct|element|flatten|index|keys|length|list|lookup|map|matchkeys|merge|range|reverse|setintersection|setproduct|setunion|slice|sort|transpose|values|zipmap|base64decode|base64encode|base64gzip|csvdecode|jsondecode|jsonencode|urlencode|yamldecode|yamlencode|abspath|dirname|pathexpand|basename|file|fileexists|fileset|filebase64|templatefile|formatdate|timeadd|timestamp|base64sha256|base64sha512|bcrypt|filebase64sha256|filebase64sha512|filemd5|filemd1|filesha256|filesha512|md5|rsadecrypt|sha1|sha256|sha512|uuid|uuidv5|cidrhost|cidrnetmask|cidrsubnet|tobool|tolist|tomap|tonumber|toset|tostring)/,terraformMainBlocks:/(module|data|terraform|resource|provider|variable|output|locals)/,tokenizer:{root:[[/^@terraformMainBlocks([ \t]*)([\w-]+|"[\w-]+"|)([ \t]*)([\w-]+|"[\w-]+"|)([ \t]*)(\{)/,["type","","string","","string","","@brackets"]],[/(\w+[ \t]+)([ \t]*)([\w-]+|"[\w-]+"|)([ \t]*)([\w-]+|"[\w-]+"|)([ \t]*)(\{)/,["identifier","","string","","string","","@brackets"]],[/(\w+[ \t]+)([ \t]*)([\w-]+|"[\w-]+"|)([ \t]*)([\w-]+|"[\w-]+"|)(=)(\{)/,["identifier","","string","","operator","","@brackets"]],{include:"@terraform"}],terraform:[[/@terraformFunctions(\()/,["type","@brackets"]],[/[a-zA-Z_]\w*-*/,{cases:{"@keywords":{token:"keyword.$0"},"@default":"variable"}}],{include:"@whitespace"},{include:"@heredoc"},[/[{}()\[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"operator","@default":""}}],[/\d*\d+[eE]([\-+]?\d+)?/,"number.float"],[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float"],[/\d[\d']*/,"number"],[/\d/,"number"],[/[;,.]/,"delimiter"],[/"/,"string","@string"],[/'/,"invalid"]],heredoc:[[/<<[-]*\s*["]?([\w\-]+)["]?/,{token:"string.heredoc.delimiter",next:"@heredocBody.$1"}]],heredocBody:[[/([\w\-]+)$/,{cases:{"$1==$S2":[{token:"string.heredoc.delimiter",next:"@popall"}],"@default":"string.heredoc"}}],[/./,"string.heredoc"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"],[/#.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],string:[[/\$\{/,{token:"delimiter",next:"@stringExpression"}],[/[^\\"\$]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@popall"]],stringInsideExpression:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]],stringExpression:[[/\}/,{token:"delimiter",next:"@pop"}],[/"/,"string","@stringInsideExpression"],{include:"@terraform"}]}};e.conf=t,e.language=s,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}));
|
||||
@@ -0,0 +1 @@
|
||||
define("vs/html-Pa1xEWsY",["exports","./editor.api-CalNCsUg"],(function(e,t){"use strict";const n=["area","base","br","col","embed","hr","img","input","keygen","link","menuitem","meta","param","source","track","wbr"],i={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\$\^\&\*\(\)\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\s]+)/g,comments:{blockComment:["<!--","-->"]},brackets:[["<!--","-->"],["<",">"],["{","}"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:'"',close:'"'},{open:"'",close:"'"},{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"}],onEnterRules:[{beforeText:new RegExp(`<(?!(?:${n.join("|")}))([_:\\w][_:\\w-.\\d]*)([^/>]*(?!/)>)[^<]*$`,"i"),afterText:/^<\/([_:\w][_:\w-.\d]*)\s*>$/i,action:{indentAction:t.languages.IndentAction.IndentOutdent}},{beforeText:new RegExp(`<(?!(?:${n.join("|")}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`,"i"),action:{indentAction:t.languages.IndentAction.Indent}}],folding:{markers:{start:new RegExp("^\\s*<!--\\s*#region\\b.*-->"),end:new RegExp("^\\s*<!--\\s*#endregion\\b.*-->")}}},r={defaultToken:"",tokenPostfix:".html",ignoreCase:!0,tokenizer:{root:[[/<!DOCTYPE/,"metatag","@doctype"],[/<!--/,"comment","@comment"],[/(<)((?:[\w\-]+:)?[\w\-]+)(\s*)(\/>)/,["delimiter","tag","","delimiter"]],[/(<)(script)/,["delimiter",{token:"tag",next:"@script"}]],[/(<)(style)/,["delimiter",{token:"tag",next:"@style"}]],[/(<)((?:[\w\-]+:)?[\w\-]+)/,["delimiter",{token:"tag",next:"@otherTag"}]],[/(<\/)((?:[\w\-]+:)?[\w\-]+)/,["delimiter",{token:"tag",next:"@otherTag"}]],[/</,"delimiter"],[/[^<]+/]],doctype:[[/[^>]+/,"metatag.content"],[/>/,"metatag","@pop"]],comment:[[/-->/,"comment","@pop"],[/[^-]+/,"comment.content"],[/./,"comment.content"]],otherTag:[[/\/?>/,"delimiter","@pop"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/]],script:[[/type/,"attribute.name","@scriptAfterType"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/>/,{token:"delimiter",next:"@scriptEmbedded",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/(<\/)(script\s*)(>)/,["delimiter","tag",{token:"delimiter",next:"@pop"}]]],scriptAfterType:[[/=/,"delimiter","@scriptAfterTypeEquals"],[/>/,{token:"delimiter",next:"@scriptEmbedded",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptAfterTypeEquals:[[/"module"/,{token:"attribute.value",switchTo:"@scriptWithCustomType.text/javascript"}],[/'module'/,{token:"attribute.value",switchTo:"@scriptWithCustomType.text/javascript"}],[/"([^"]*)"/,{token:"attribute.value",switchTo:"@scriptWithCustomType.$1"}],[/'([^']*)'/,{token:"attribute.value",switchTo:"@scriptWithCustomType.$1"}],[/>/,{token:"delimiter",next:"@scriptEmbedded",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptWithCustomType:[[/>/,{token:"delimiter",next:"@scriptEmbedded.$S2",nextEmbedded:"$S2"}],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptEmbedded:[[/<\/script/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}],[/[^<]+/,""]],style:[[/type/,"attribute.name","@styleAfterType"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/>/,{token:"delimiter",next:"@styleEmbedded",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/(<\/)(style\s*)(>)/,["delimiter","tag",{token:"delimiter",next:"@pop"}]]],styleAfterType:[[/=/,"delimiter","@styleAfterTypeEquals"],[/>/,{token:"delimiter",next:"@styleEmbedded",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleAfterTypeEquals:[[/"([^"]*)"/,{token:"attribute.value",switchTo:"@styleWithCustomType.$1"}],[/'([^']*)'/,{token:"attribute.value",switchTo:"@styleWithCustomType.$1"}],[/>/,{token:"delimiter",next:"@styleEmbedded",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleWithCustomType:[[/>/,{token:"delimiter",next:"@styleEmbedded.$S2",nextEmbedded:"$S2"}],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleEmbedded:[[/<\/style/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}],[/[^<]+/,""]]}};e.conf=i,e.language=r,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}));
|
||||
@@ -0,0 +1 @@
|
||||
define("vs/htmlMode-Bz67EXwp",["module","exports","./workers-DcJshg-q","./lspLanguageFeatures-kM9O9rjY","./editor.api-CalNCsUg"],(function(u,n,v,e,i){"use strict";class l{constructor(d){this._defaults=d,this._worker=null,this._client=null,this._idleCheckInterval=window.setInterval(()=>this._checkIfIdle(),30*1e3),this._lastUsedTime=0,this._configChangeListener=this._defaults.onDidChange(()=>this._stopWorker())}_stopWorker(){this._worker&&(this._worker.dispose(),this._worker=null),this._client=null}dispose(){clearInterval(this._idleCheckInterval),this._configChangeListener.dispose(),this._stopWorker()}_checkIfIdle(){if(!this._worker)return;Date.now()-this._lastUsedTime>12e4&&this._stopWorker()}_getClient(){return this._lastUsedTime=Date.now(),this._client||(this._worker=v.createWebWorker({moduleId:"vs/language/html/htmlWorker",createWorker:()=>new Worker(new URL(""+new URL(require.toUrl("./assets/html.worker-B51mlPHg.js"),document.baseURI).href,new URL(u.uri,document.baseURI).href),{type:"module"}),createData:{languageSettings:this._defaults.options,languageId:this._defaults.languageId},label:this._defaults.languageId}),this._client=this._worker.getProxy()),this._client}getLanguageServiceWorker(...d){let t;return this._getClient().then(r=>{t=r}).then(r=>{if(this._worker)return this._worker.withSyncedResources(d)}).then(r=>t)}}class s extends e.CompletionAdapter{constructor(d){super(d,[".",":","<",'"',"=","/"])}}function w(o){const d=new l(o),t=(...c)=>d.getLanguageServiceWorker(...c);let r=o.languageId;i.languages.registerCompletionItemProvider(r,new s(t)),i.languages.registerHoverProvider(r,new e.HoverAdapter(t)),i.languages.registerDocumentHighlightProvider(r,new e.DocumentHighlightAdapter(t)),i.languages.registerLinkProvider(r,new e.DocumentLinkAdapter(t)),i.languages.registerFoldingRangeProvider(r,new e.FoldingRangeAdapter(t)),i.languages.registerDocumentSymbolProvider(r,new e.DocumentSymbolAdapter(t)),i.languages.registerSelectionRangeProvider(r,new e.SelectionRangeAdapter(t)),i.languages.registerRenameProvider(r,new e.RenameAdapter(t)),r==="html"&&(i.languages.registerDocumentFormattingEditProvider(r,new e.DocumentFormattingEditProvider(t)),i.languages.registerDocumentRangeFormattingEditProvider(r,new e.DocumentRangeFormattingEditProvider(t)))}function f(o){const d=[],t=[],r=new l(o);d.push(r);const c=(...g)=>r.getLanguageServiceWorker(...g);function A(){const{languageId:g,modeConfiguration:m}=o;a(t),m.completionItems&&t.push(i.languages.registerCompletionItemProvider(g,new s(c))),m.hovers&&t.push(i.languages.registerHoverProvider(g,new e.HoverAdapter(c))),m.documentHighlights&&t.push(i.languages.registerDocumentHighlightProvider(g,new e.DocumentHighlightAdapter(c))),m.links&&t.push(i.languages.registerLinkProvider(g,new e.DocumentLinkAdapter(c))),m.documentSymbols&&t.push(i.languages.registerDocumentSymbolProvider(g,new e.DocumentSymbolAdapter(c))),m.rename&&t.push(i.languages.registerRenameProvider(g,new e.RenameAdapter(c))),m.foldingRanges&&t.push(i.languages.registerFoldingRangeProvider(g,new e.FoldingRangeAdapter(c))),m.selectionRanges&&t.push(i.languages.registerSelectionRangeProvider(g,new e.SelectionRangeAdapter(c))),m.documentFormattingEdits&&t.push(i.languages.registerDocumentFormattingEditProvider(g,new e.DocumentFormattingEditProvider(c))),m.documentRangeFormattingEdits&&t.push(i.languages.registerDocumentRangeFormattingEditProvider(g,new e.DocumentRangeFormattingEditProvider(c)))}return A(),d.push(h(t)),h(d)}function h(o){return{dispose:()=>a(o)}}function a(o){for(;o.length;)o.pop().dispose()}n.CompletionAdapter=e.CompletionAdapter,n.DefinitionAdapter=e.DefinitionAdapter,n.DiagnosticsAdapter=e.DiagnosticsAdapter,n.DocumentColorAdapter=e.DocumentColorAdapter,n.DocumentFormattingEditProvider=e.DocumentFormattingEditProvider,n.DocumentHighlightAdapter=e.DocumentHighlightAdapter,n.DocumentLinkAdapter=e.DocumentLinkAdapter,n.DocumentRangeFormattingEditProvider=e.DocumentRangeFormattingEditProvider,n.DocumentSymbolAdapter=e.DocumentSymbolAdapter,n.FoldingRangeAdapter=e.FoldingRangeAdapter,n.HoverAdapter=e.HoverAdapter,n.ReferenceAdapter=e.ReferenceAdapter,n.RenameAdapter=e.RenameAdapter,n.SelectionRangeAdapter=e.SelectionRangeAdapter,n.fromPosition=e.fromPosition,n.fromRange=e.fromRange,n.toRange=e.toRange,n.toTextEdit=e.toTextEdit,n.WorkerManager=l,n.setupMode=f,n.setupMode1=w,Object.defineProperty(n,Symbol.toStringTag,{value:"Module"})}));
|
||||
@@ -0,0 +1 @@
|
||||
define("vs/ini-CsNwO04R",["exports"],(function(e){"use strict";const n={comments:{lineComment:"#"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}]},s={defaultToken:"",tokenPostfix:".ini",escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/^\[[^\]]*\]/,"metatag"],[/(^\w+)(\s*)(\=)/,["key","","delimiter"]],{include:"@whitespace"},[/\d+/,"number"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/'([^'\\]|\\.)*$/,"string.invalid"],[/"/,"string",'@string."'],[/'/,"string","@string.'"]],whitespace:[[/[ \t\r\n]+/,""],[/^\s*[#;].*$/,"comment"]],string:[[/[^\\"']+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/["']/,{cases:{"$#==$S2":{token:"string",next:"@pop"},"@default":"string"}}]]}};e.conf=n,e.language=s,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}));
|
||||
@@ -0,0 +1 @@
|
||||
define("vs/java-CI4ZMsH9",["exports"],(function(e){"use strict";const t={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"<",close:">"}],folding:{markers:{start:new RegExp("^\\s*//\\s*(?:(?:#?region\\b)|(?:<editor-fold\\b))"),end:new RegExp("^\\s*//\\s*(?:(?:#?endregion\\b)|(?:</editor-fold>))")}}},n={defaultToken:"",tokenPostfix:".java",keywords:["abstract","continue","for","new","switch","assert","default","goto","package","synchronized","boolean","do","if","private","this","break","double","implements","protected","throw","byte","else","import","public","throws","case","enum","instanceof","return","transient","catch","extends","int","short","try","char","final","interface","static","void","class","finally","long","strictfp","volatile","const","float","native","super","while","true","false","yield","record","sealed","non-sealed","permits"],operators:["=",">","<","!","~","?",":","==","<=",">=","!=","&&","||","++","--","+","-","*","/","&","|","^","%","<<",">>",">>>","+=","-=","*=","/=","&=","|=","^=","%=","<<=",">>=",">>>="],symbols:/[=><!~?:&|+\-*\/\^%]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,digits:/\d+(_+\d+)*/,octaldigits:/[0-7]+(_+[0-7]+)*/,binarydigits:/[0-1]+(_+[0-1]+)*/,hexdigits:/[[0-9a-fA-F]+(_+[0-9a-fA-F]+)*/,tokenizer:{root:[["non-sealed","keyword.non-sealed"],[/[a-zA-Z_$][\w$]*/,{cases:{"@keywords":{token:"keyword.$0"},"@default":"identifier"}}],{include:"@whitespace"},[/[{}()\[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/@\s*[a-zA-Z_\$][\w\$]*/,"annotation"],[/(@digits)[eE]([\-+]?(@digits))?[fFdD]?/,"number.float"],[/(@digits)\.(@digits)([eE][\-+]?(@digits))?[fFdD]?/,"number.float"],[/0[xX](@hexdigits)[Ll]?/,"number.hex"],[/0(@octaldigits)[Ll]?/,"number.octal"],[/0[bB](@binarydigits)[Ll]?/,"number.binary"],[/(@digits)[fFdD]/,"number.float"],[/(@digits)[lL]?/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"""/,"string","@multistring"],[/"/,"string","@string"],[/'[^\\']'/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@javadoc"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],javadoc:[[/[^\/*]+/,"comment.doc"],[/\/\*/,"comment.doc.invalid"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]],multistring:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"""/,"string","@pop"],[/./,"string"]]}};e.conf=t,e.language=n,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}));
|
||||
@@ -0,0 +1 @@
|
||||
define("vs/javascript-PczUCGdz",["exports","./typescript-DfOrAzoV"],(function(a,e){"use strict";const n=e.conf,g={defaultToken:"invalid",tokenPostfix:".js",keywords:["break","case","catch","class","continue","const","constructor","debugger","default","delete","do","else","export","extends","false","finally","for","from","function","get","if","import","in","instanceof","let","new","null","return","set","static","super","switch","symbol","this","throw","true","try","typeof","undefined","var","void","while","with","yield","async","await","of"],typeKeywords:[],operators:e.language.operators,symbols:e.language.symbols,escapes:e.language.escapes,digits:e.language.digits,octaldigits:e.language.octaldigits,binarydigits:e.language.binarydigits,hexdigits:e.language.hexdigits,regexpctl:e.language.regexpctl,regexpesc:e.language.regexpesc,tokenizer:e.language.tokenizer};a.conf=n,a.language=g,Object.defineProperty(a,Symbol.toStringTag,{value:"Module"})}));
|
||||
@@ -0,0 +1,7 @@
|
||||
define("vs/jsonMode-DULH5oaX",["module","exports","./workers-DcJshg-q","./lspLanguageFeatures-kM9O9rjY","./editor.api-CalNCsUg"],(function(y,m,F,u,p){"use strict";class d{constructor(i){this._defaults=i,this._worker=null,this._client=null,this._idleCheckInterval=window.setInterval(()=>this._checkIfIdle(),30*1e3),this._lastUsedTime=0,this._configChangeListener=this._defaults.onDidChange(()=>this._stopWorker())}_stopWorker(){this._worker&&(this._worker.dispose(),this._worker=null),this._client=null}dispose(){clearInterval(this._idleCheckInterval),this._configChangeListener.dispose(),this._stopWorker()}_checkIfIdle(){if(!this._worker)return;Date.now()-this._lastUsedTime>12e4&&this._stopWorker()}_getClient(){return this._lastUsedTime=Date.now(),this._client||(this._worker=F.createWebWorker({moduleId:"vs/language/json/jsonWorker",createWorker:()=>new Worker(new URL(""+new URL(require.toUrl("./assets/json.worker-DKiEKt88.js"),document.baseURI).href,new URL(y.uri,document.baseURI).href),{type:"module"}),label:this._defaults.languageId,createData:{languageSettings:this._defaults.diagnosticsOptions,languageId:this._defaults.languageId,enableSchemaRequest:this._defaults.diagnosticsOptions.enableSchemaRequest}}),this._client=this._worker.getProxy()),this._client}getLanguageServiceWorker(...i){let t;return this._getClient().then(e=>{t=e}).then(e=>{if(this._worker)return this._worker.withSyncedResources(i)}).then(e=>t)}}function z(n,i=!1){const t=n.length;let e=0,s="",r=0,o=16,c=0,k=0,a=0,I=0,f=0;function N(l,w){let b=0,A=0;for(;b<l;){let g=n.charCodeAt(e);if(g>=48&&g<=57)A=A*16+g-48;else if(g>=65&&g<=70)A=A*16+g-65+10;else if(g>=97&&g<=102)A=A*16+g-97+10;else break;e++,b++}return b<l&&(A=-1),A}function V(l){e=l,s="",r=0,o=16,f=0}function U(){let l=e;if(n.charCodeAt(e)===48)e++;else for(e++;e<n.length&&T(n.charCodeAt(e));)e++;if(e<n.length&&n.charCodeAt(e)===46)if(e++,e<n.length&&T(n.charCodeAt(e)))for(e++;e<n.length&&T(n.charCodeAt(e));)e++;else return f=3,n.substring(l,e);let w=e;if(e<n.length&&(n.charCodeAt(e)===69||n.charCodeAt(e)===101))if(e++,(e<n.length&&n.charCodeAt(e)===43||n.charCodeAt(e)===45)&&e++,e<n.length&&T(n.charCodeAt(e))){for(e++;e<n.length&&T(n.charCodeAt(e));)e++;w=e}else f=3;return n.substring(l,w)}function un(){let l="",w=e;for(;;){if(e>=t){l+=n.substring(w,e),f=2;break}const b=n.charCodeAt(e);if(b===34){l+=n.substring(w,e),e++;break}if(b===92){if(l+=n.substring(w,e),e++,e>=t){f=2;break}switch(n.charCodeAt(e++)){case 34:l+='"';break;case 92:l+="\\";break;case 47:l+="/";break;case 98:l+="\b";break;case 102:l+="\f";break;case 110:l+=`
|
||||
`;break;case 114:l+="\r";break;case 116:l+=" ";break;case 117:const g=N(4);g>=0?l+=String.fromCharCode(g):f=4;break;default:f=5}w=e;continue}if(b>=0&&b<=31)if(E(b)){l+=n.substring(w,e),f=2;break}else f=6;e++}return l}function q(){if(s="",f=0,r=e,k=c,I=a,e>=t)return r=t,o=17;let l=n.charCodeAt(e);if(R(l)){do e++,s+=String.fromCharCode(l),l=n.charCodeAt(e);while(R(l));return o=15}if(E(l))return e++,s+=String.fromCharCode(l),l===13&&n.charCodeAt(e)===10&&(e++,s+=`
|
||||
`),c++,a=e,o=14;switch(l){case 123:return e++,o=1;case 125:return e++,o=2;case 91:return e++,o=3;case 93:return e++,o=4;case 58:return e++,o=6;case 44:return e++,o=5;case 34:return e++,s=un(),o=10;case 47:const w=e-1;if(n.charCodeAt(e+1)===47){for(e+=2;e<t&&!E(n.charCodeAt(e));)e++;return s=n.substring(w,e),o=12}if(n.charCodeAt(e+1)===42){e+=2;const b=t-1;let A=!1;for(;e<b;){const g=n.charCodeAt(e);if(g===42&&n.charCodeAt(e+1)===47){e+=2,A=!0;break}e++,E(g)&&(g===13&&n.charCodeAt(e)===10&&e++,c++,a=e)}return A||(e++,f=1),s=n.substring(w,e),o=13}return s+=String.fromCharCode(l),e++,o=16;case 45:if(s+=String.fromCharCode(l),e++,e===t||!T(n.charCodeAt(e)))return o=16;case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return s+=U(),o=11;default:for(;e<t&&cn(l);)e++,l=n.charCodeAt(e);if(r!==e){switch(s=n.substring(r,e),s){case"true":return o=8;case"false":return o=9;case"null":return o=7}return o=16}return s+=String.fromCharCode(l),e++,o=16}}function cn(l){if(R(l)||E(l))return!1;switch(l){case 125:case 93:case 123:case 91:case 34:case 58:case 44:case 47:return!1}return!0}function fn(){let l;do l=q();while(l>=12&&l<=15);return l}return{setPosition:V,getPosition:()=>e,scan:i?fn:q,getToken:()=>o,getTokenValue:()=>s,getTokenOffset:()=>r,getTokenLength:()=>e-r,getTokenStartLine:()=>k,getTokenStartCharacter:()=>r-I,getTokenError:()=>f}}function R(n){return n===32||n===9}function E(n){return n===10||n===13}function T(n){return n>=48&&n<=57}var B;(function(n){n[n.lineFeed=10]="lineFeed",n[n.carriageReturn=13]="carriageReturn",n[n.space=32]="space",n[n._0=48]="_0",n[n._1=49]="_1",n[n._2=50]="_2",n[n._3=51]="_3",n[n._4=52]="_4",n[n._5=53]="_5",n[n._6=54]="_6",n[n._7=55]="_7",n[n._8=56]="_8",n[n._9=57]="_9",n[n.a=97]="a",n[n.b=98]="b",n[n.c=99]="c",n[n.d=100]="d",n[n.e=101]="e",n[n.f=102]="f",n[n.g=103]="g",n[n.h=104]="h",n[n.i=105]="i",n[n.j=106]="j",n[n.k=107]="k",n[n.l=108]="l",n[n.m=109]="m",n[n.n=110]="n",n[n.o=111]="o",n[n.p=112]="p",n[n.q=113]="q",n[n.r=114]="r",n[n.s=115]="s",n[n.t=116]="t",n[n.u=117]="u",n[n.v=118]="v",n[n.w=119]="w",n[n.x=120]="x",n[n.y=121]="y",n[n.z=122]="z",n[n.A=65]="A",n[n.B=66]="B",n[n.C=67]="C",n[n.D=68]="D",n[n.E=69]="E",n[n.F=70]="F",n[n.G=71]="G",n[n.H=72]="H",n[n.I=73]="I",n[n.J=74]="J",n[n.K=75]="K",n[n.L=76]="L",n[n.M=77]="M",n[n.N=78]="N",n[n.O=79]="O",n[n.P=80]="P",n[n.Q=81]="Q",n[n.R=82]="R",n[n.S=83]="S",n[n.T=84]="T",n[n.U=85]="U",n[n.V=86]="V",n[n.W=87]="W",n[n.X=88]="X",n[n.Y=89]="Y",n[n.Z=90]="Z",n[n.asterisk=42]="asterisk",n[n.backslash=92]="backslash",n[n.closeBrace=125]="closeBrace",n[n.closeBracket=93]="closeBracket",n[n.colon=58]="colon",n[n.comma=44]="comma",n[n.dot=46]="dot",n[n.doubleQuote=34]="doubleQuote",n[n.minus=45]="minus",n[n.openBrace=123]="openBrace",n[n.openBracket=91]="openBracket",n[n.plus=43]="plus",n[n.slash=47]="slash",n[n.formFeed=12]="formFeed",n[n.tab=9]="tab"})(B||(B={})),new Array(20).fill(0).map((n,i)=>" ".repeat(i));const O=200;new Array(O).fill(0).map((n,i)=>`
|
||||
`+" ".repeat(i)),new Array(O).fill(0).map((n,i)=>"\r"+" ".repeat(i)),new Array(O).fill(0).map((n,i)=>`\r
|
||||
`+" ".repeat(i)),new Array(O).fill(0).map((n,i)=>`
|
||||
`+" ".repeat(i)),new Array(O).fill(0).map((n,i)=>"\r"+" ".repeat(i)),new Array(O).fill(0).map((n,i)=>`\r
|
||||
`+" ".repeat(i));var W;(function(n){n.DEFAULT={allowTrailingComma:!1}})(W||(W={}));const J=z;var h;(function(n){n[n.None=0]="None",n[n.UnexpectedEndOfComment=1]="UnexpectedEndOfComment",n[n.UnexpectedEndOfString=2]="UnexpectedEndOfString",n[n.UnexpectedEndOfNumber=3]="UnexpectedEndOfNumber",n[n.InvalidUnicode=4]="InvalidUnicode",n[n.InvalidEscapeCharacter=5]="InvalidEscapeCharacter",n[n.InvalidCharacter=6]="InvalidCharacter"})(h||(h={}));var M;(function(n){n[n.OpenBraceToken=1]="OpenBraceToken",n[n.CloseBraceToken=2]="CloseBraceToken",n[n.OpenBracketToken=3]="OpenBracketToken",n[n.CloseBracketToken=4]="CloseBracketToken",n[n.CommaToken=5]="CommaToken",n[n.ColonToken=6]="ColonToken",n[n.NullKeyword=7]="NullKeyword",n[n.TrueKeyword=8]="TrueKeyword",n[n.FalseKeyword=9]="FalseKeyword",n[n.StringLiteral=10]="StringLiteral",n[n.NumericLiteral=11]="NumericLiteral",n[n.LineCommentTrivia=12]="LineCommentTrivia",n[n.BlockCommentTrivia=13]="BlockCommentTrivia",n[n.LineBreakTrivia=14]="LineBreakTrivia",n[n.Trivia=15]="Trivia",n[n.Unknown=16]="Unknown",n[n.EOF=17]="EOF"})(M||(M={}));var L;(function(n){n[n.InvalidSymbol=1]="InvalidSymbol",n[n.InvalidNumberFormat=2]="InvalidNumberFormat",n[n.PropertyNameExpected=3]="PropertyNameExpected",n[n.ValueExpected=4]="ValueExpected",n[n.ColonExpected=5]="ColonExpected",n[n.CommaExpected=6]="CommaExpected",n[n.CloseBraceExpected=7]="CloseBraceExpected",n[n.CloseBracketExpected=8]="CloseBracketExpected",n[n.EndOfFileExpected=9]="EndOfFileExpected",n[n.InvalidCommentToken=10]="InvalidCommentToken",n[n.UnexpectedEndOfComment=11]="UnexpectedEndOfComment",n[n.UnexpectedEndOfString=12]="UnexpectedEndOfString",n[n.UnexpectedEndOfNumber=13]="UnexpectedEndOfNumber",n[n.InvalidUnicode=14]="InvalidUnicode",n[n.InvalidEscapeCharacter=15]="InvalidEscapeCharacter",n[n.InvalidCharacter=16]="InvalidCharacter"})(L||(L={}));function Q(n){return{getInitialState:()=>new D(null,null,!1,null),tokenize:(i,t)=>en(n,i,t)}}const j="delimiter.bracket.json",S="delimiter.array.json",Y="delimiter.colon.json",G="delimiter.comma.json",X="keyword.json",Z="keyword.json",$="string.value.json",K="number.json",x="string.key.json",C="comment.block.json",nn="comment.line.json";class v{constructor(i,t){this.parent=i,this.type=t}static pop(i){return i?i.parent:null}static push(i,t){return new v(i,t)}static equals(i,t){if(!i&&!t)return!0;if(!i||!t)return!1;for(;i&&t;){if(i===t)return!0;if(i.type!==t.type)return!1;i=i.parent,t=t.parent}return!0}}class D{constructor(i,t,e,s){this._state=i,this.scanError=t,this.lastWasColon=e,this.parents=s}clone(){return new D(this._state,this.scanError,this.lastWasColon,this.parents)}equals(i){return i===this?!0:!i||!(i instanceof D)?!1:this.scanError===i.scanError&&this.lastWasColon===i.lastWasColon&&v.equals(this.parents,i.parents)}getStateData(){return this._state}setStateData(i){this._state=i}}function en(n,i,t,e=0){let s=0,r=!1;switch(t.scanError){case 2:i='"'+i,s=1;break;case 1:i="/*"+i,s=2;break}const o=J(i);let c=t.lastWasColon,k=t.parents;const a={tokens:[],endState:t.clone()};for(;;){let I=e+o.getPosition(),f="";const N=o.scan();if(N===17)break;if(I===e+o.getPosition())throw new Error("Scanner did not advance, next 3 characters are: "+i.substr(o.getPosition(),3));switch(r&&(I-=s),r=s>0,N){case 1:k=v.push(k,0),f=j,c=!1;break;case 2:k=v.pop(k),f=j,c=!1;break;case 3:k=v.push(k,1),f=S,c=!1;break;case 4:k=v.pop(k),f=S,c=!1;break;case 6:f=Y,c=!0;break;case 5:f=G,c=!1;break;case 8:case 9:f=X,c=!1;break;case 7:f=Z,c=!1;break;case 10:const U=(k?k.type:0)===1;f=c||U?$:x,c=!1;break;case 11:f=K,c=!1;break}switch(N){case 12:f=nn;break;case 13:f=C;break}a.endState=new D(t.getStateData(),o.getTokenError(),c,k),a.tokens.push({startIndex:I,scopes:f})}return a}let _;function tn(){return new Promise((n,i)=>{if(!_)return i("JSON not registered!");n(_)})}class ln extends u.DiagnosticsAdapter{constructor(i,t,e){super(i,t,e.onDidChange),this._disposables.push(p.editor.onWillDisposeModel(s=>{this._resetSchema(s.uri)})),this._disposables.push(p.editor.onDidChangeModelLanguage(s=>{this._resetSchema(s.model.uri)}))}_resetSchema(i){this._worker().then(t=>{t.resetSchema(i.toString())})}}function on(n){const i=[],t=[],e=new d(n);i.push(e),_=(...o)=>e.getLanguageServiceWorker(...o);function s(){const{languageId:o,modeConfiguration:c}=n;H(t),c.documentFormattingEdits&&t.push(p.languages.registerDocumentFormattingEditProvider(o,new u.DocumentFormattingEditProvider(_))),c.documentRangeFormattingEdits&&t.push(p.languages.registerDocumentRangeFormattingEditProvider(o,new u.DocumentRangeFormattingEditProvider(_))),c.completionItems&&t.push(p.languages.registerCompletionItemProvider(o,new u.CompletionAdapter(_,[" ",":",'"']))),c.hovers&&t.push(p.languages.registerHoverProvider(o,new u.HoverAdapter(_))),c.documentSymbols&&t.push(p.languages.registerDocumentSymbolProvider(o,new u.DocumentSymbolAdapter(_))),c.tokens&&t.push(p.languages.setTokensProvider(o,Q(!0))),c.colors&&t.push(p.languages.registerColorProvider(o,new
Line truncated
|
||||
@@ -0,0 +1 @@
|
||||
define("vs/julia-BwzEvaQw",["exports"],(function(e){"use strict";const t={brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}]},r={tokenPostfix:".julia",keywords:["begin","while","if","for","try","return","break","continue","function","macro","quote","let","local","global","const","do","struct","module","baremodule","using","import","export","end","else","elseif","catch","finally","mutable","primitive","abstract","type","in","isa","where","new"],types:["LinRange","LineNumberNode","LinearIndices","LoadError","MIME","Matrix","Method","MethodError","Missing","MissingException","Module","NTuple","NamedTuple","Nothing","Number","OrdinalRange","OutOfMemoryError","OverflowError","Pair","PartialQuickSort","PermutedDimsArray","Pipe","Ptr","QuoteNode","Rational","RawFD","ReadOnlyMemoryError","Real","ReentrantLock","Ref","Regex","RegexMatch","RoundingMode","SegmentationFault","Set","Signed","Some","StackOverflowError","StepRange","StepRangeLen","StridedArray","StridedMatrix","StridedVecOrMat","StridedVector","String","StringIndexError","SubArray","SubString","SubstitutionString","Symbol","SystemError","Task","Text","TextDisplay","Timer","Tuple","Type","TypeError","TypeVar","UInt","UInt128","UInt16","UInt32","UInt64","UInt8","UndefInitializer","AbstractArray","UndefKeywordError","AbstractChannel","UndefRefError","AbstractChar","UndefVarError","AbstractDict","Union","AbstractDisplay","UnionAll","AbstractFloat","UnitRange","AbstractIrrational","Unsigned","AbstractMatrix","AbstractRange","Val","AbstractSet","Vararg","AbstractString","VecElement","AbstractUnitRange","VecOrMat","AbstractVecOrMat","Vector","AbstractVector","VersionNumber","Any","WeakKeyDict","ArgumentError","WeakRef","Array","AssertionError","BigFloat","BigInt","BitArray","BitMatrix","BitSet","BitVector","Bool","BoundsError","CapturedException","CartesianIndex","CartesianIndices","Cchar","Cdouble","Cfloat","Channel","Char","Cint","Cintmax_t","Clong","Clonglong","Cmd","Colon","Complex","ComplexF16","ComplexF32","ComplexF64","CompositeException","Condition","Cptrdiff_t","Cshort","Csize_t","Cssize_t","Cstring","Cuchar","Cuint","Cuintmax_t","Culong","Culonglong","Cushort","Cvoid","Cwchar_t","Cwstring","DataType","DenseArray","DenseMatrix","DenseVecOrMat","DenseVector","Dict","DimensionMismatch","Dims","DivideError","DomainError","EOFError","Enum","ErrorException","Exception","ExponentialBackOff","Expr","Float16","Float32","Float64","Function","GlobalRef","HTML","IO","IOBuffer","IOContext","IOStream","IdDict","IndexCartesian","IndexLinear","IndexStyle","InexactError","InitError","Int","Int128","Int16","Int32","Int64","Int8","Integer","InterruptException","InvalidStateException","Irrational","KeyError"],keywordops:["<:",">:",":","=>","...",".","->","?"],allops:/[^\w\d\s()\[\]{}"'#]+/,constants:["true","false","nothing","missing","undef","Inf","pi","NaN","π","ℯ","ans","PROGRAM_FILE","ARGS","C_NULL","VERSION","DEPOT_PATH","LOAD_PATH"],operators:["!","!=","!==","%","&","*","+","-","/","//","<","<<","<=","==","===","=>",">",">=",">>",">>>","\\","^","|","|>","~","÷","∈","∉","∋","∌","∘","√","∛","∩","∪","≈","≉","≠","≡","≢","≤","≥","⊆","⊇","⊈","⊉","⊊","⊋","⊻"],brackets:[{open:"(",close:")",token:"delimiter.parenthesis"},{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"}],ident:/π|ℯ|\b(?!\d)\w+\b/,escape:/(?:[abefnrstv\\"'\n\r]|[0-7]{1,3}|x[0-9A-Fa-f]{1,2}|u[0-9A-Fa-f]{4})/,escapes:/\\(?:C\-(@escape|.)|c(@escape|.)|@escape)/,tokenizer:{root:[[/(::)\s*|\b(isa)\s+/,"keyword","@typeanno"],[/\b(isa)(\s*\(@ident\s*,\s*)/,["keyword",{token:"",next:"@typeanno"}]],[/\b(type|struct)[ \t]+/,"keyword","@typeanno"],[/^\s*:@ident[!?]?/,"metatag"],[/(return)(\s*:@ident[!?]?)/,["keyword","metatag"]],[/(\(|\[|\{|@allops)(\s*:@ident[!?]?)/,["","metatag"]],[/:\(/,"metatag","@quote"],[/r"""/,"regexp.delim","@tregexp"],[/r"/,"regexp.delim","@sregexp"],[/raw"""/,"string.delim","@rtstring"],[/[bv]?"""/,"string.delim","@dtstring"],[/raw"/,"string.delim","@rsstring"],[/[bv]?"/,"string.delim","@dsstring"],[/(@ident)\{/,{cases:{"$1@types":{token:"type",next:"@gen"},"@default":{token:"type",next:"@gen"}}}],[/@ident[!?'']?(?=\.?\()/,{cases:{"@types":"type","@keywords":"keyword","@constants":"variable","@default":"keyword.flow"}}],[/@ident[!?']?/,{cases:{"@types":"type","@keywords":"keyword","@constants":"variable","@default":"identifier"}}],[/\$\w+/,"key"],[/\$\(/,"key","@paste"],[/@@@ident/,"annotation"],{include:"@whitespace"},[/'(?:@escapes|.)'/,"string.character"],[/[()\[\]{}]/,"@brackets"],[/@allops/,{cases:{"@keywordops":"keyword","@operators":"operator"}}],[/[;,]/,"delimiter"],[/0[xX][0-9a-fA-F](_?[0-9a-fA-F])*/,"number.hex"],[/0[_oO][0-7](_?[0-7])*/,"number.octal"],[/0Line truncated
|
||||
@@ -0,0 +1 @@
|
||||
define("vs/kotlin-IUYPiTV8",["exports"],(function(e){"use strict";const n={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"<",close:">"}],folding:{markers:{start:new RegExp("^\\s*//\\s*(?:(?:#?region\\b)|(?:<editor-fold\\b))"),end:new RegExp("^\\s*//\\s*(?:(?:#?endregion\\b)|(?:</editor-fold>))")}}},t={defaultToken:"",tokenPostfix:".kt",keywords:["as","as?","break","class","continue","do","else","false","for","fun","if","in","!in","interface","is","!is","null","object","package","return","super","this","throw","true","try","typealias","val","var","when","while","by","catch","constructor","delegate","dynamic","field","file","finally","get","import","init","param","property","receiver","set","setparam","where","actual","abstract","annotation","companion","const","crossinline","data","enum","expect","external","final","infix","inline","inner","internal","lateinit","noinline","open","operator","out","override","private","protected","public","reified","sealed","suspend","tailrec","vararg","field","it"],operators:["+","-","*","/","%","=","+=","-=","*=","/=","%=","++","--","&&","||","!","==","!=","===","!==",">","<","<=",">=","[","]","!!","?.","?:","::","..",":","?","->","@",";","$","_"],symbols:/[=><!~?:&|+\-*\/\^%]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,digits:/\d+(_+\d+)*/,octaldigits:/[0-7]+(_+[0-7]+)*/,binarydigits:/[0-1]+(_+[0-1]+)*/,hexdigits:/[[0-9a-fA-F]+(_+[0-9a-fA-F]+)*/,tokenizer:{root:[[/[A-Z][\w\$]*/,"type.identifier"],[/[a-zA-Z_$][\w$]*/,{cases:{"@keywords":{token:"keyword.$0"},"@default":"identifier"}}],{include:"@whitespace"},[/[{}()\[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/@\s*[a-zA-Z_\$][\w\$]*/,"annotation"],[/(@digits)[eE]([\-+]?(@digits))?[fF]?/,"number.float"],[/(@digits)?\.(@digits)([eE][\-+]?(@digits))?[fF]?/,"number.float"],[/0[xX](@hexdigits)[uU]?L?/,"number.hex"],[/0[bB](@binarydigits)[uU]?L?/,"number.binary"],[/(@digits)[fF]/,"number.float"],[/(@digits)[uU]?L?/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"""/,"string","@multistring"],[/"/,"string","@string"],[/'[^\\']'/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@javadoc"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\/\*/,"comment","@comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],javadoc:[[/[^\/*]+/,"comment.doc"],[/\/\*/,"comment.doc","@push"],[/\/\*/,"comment.doc.invalid"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]],multistring:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"""/,"string","@pop"],[/./,"string"]]}};e.conf=n,e.language=t,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}));
|
||||
@@ -0,0 +1 @@
|
||||
define("vs/language/css/monaco.contribution",["exports","../../editor.api-CalNCsUg","../../monaco.contribution-DO3azKX8"],(function(s,t,e){"use strict";s.cssDefaults=e.cssDefaults,s.lessDefaults=e.lessDefaults,s.scssDefaults=e.scssDefaults,Object.defineProperty(s,Symbol.toStringTag,{value:"Module"})}));
|
||||
@@ -0,0 +1 @@
|
||||
define("vs/language/html/monaco.contribution",["exports","../../editor.api-CalNCsUg","../../monaco.contribution-qLAYrEOP"],(function(e,r,a){"use strict";e.handlebarDefaults=a.handlebarDefaults,e.handlebarLanguageService=a.handlebarLanguageService,e.htmlDefaults=a.htmlDefaults,e.htmlLanguageService=a.htmlLanguageService,e.razorDefaults=a.razorDefaults,e.razorLanguageService=a.razorLanguageService,e.registerHTMLLanguageService=a.registerHTMLLanguageService,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}));
|
||||
@@ -0,0 +1 @@
|
||||
define("vs/language/json/monaco.contribution",["exports","../../editor.api-CalNCsUg","../../monaco.contribution-EcChJV6a"],(function(e,t,o){"use strict";e.getWorker=o.getWorker,e.jsonDefaults=o.jsonDefaults,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}));
|
||||
@@ -0,0 +1 @@
|
||||
define("vs/language/typescript/monaco.contribution",["exports","../../monaco.contribution-D2OdxNBt","../../editor.api-CalNCsUg"],(function(e,d,i){"use strict";e.JsxEmit=d.JsxEmit,e.ModuleKind=d.ModuleKind,e.ModuleResolutionKind=d.ModuleResolutionKind,e.NewLineKind=d.NewLineKind,e.ScriptTarget=d.ScriptTarget,e.getJavaScriptWorker=d.getJavaScriptWorker,e.getTypeScriptWorker=d.getTypeScriptWorker,e.javascriptDefaults=d.javascriptDefaults,e.typescriptDefaults=d.typescriptDefaults,e.typescriptVersion=d.typescriptVersion,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}));
|
||||
@@ -0,0 +1,2 @@
|
||||
define("vs/less-C0eDYdqa",["exports"],(function(e){"use strict";const t={wordPattern:/(#?-?\d*\.\d\w*%?)|([@#!.:]?[\w-?]+%?)|[@#!.]/g,comments:{blockComment:["/*","*/"],lineComment:"//"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}",notIn:["string","comment"]},{open:"[",close:"]",notIn:["string","comment"]},{open:"(",close:")",notIn:["string","comment"]},{open:'"',close:'"',notIn:["string","comment"]},{open:"'",close:"'",notIn:["string","comment"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{markers:{start:new RegExp("^\\s*\\/\\*\\s*#region\\b\\s*(.*?)\\s*\\*\\/"),end:new RegExp("^\\s*\\/\\*\\s*#endregion\\b.*\\*\\/")}}},n={defaultToken:"",tokenPostfix:".less",identifier:"-?-?([a-zA-Z]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))([\\w\\-]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))*",identifierPlus:"-?-?([a-zA-Z:.]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))([\\w\\-:.]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))*",brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.bracket"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}],tokenizer:{root:[{include:"@nestedJSBegin"},["[ \\t\\r\\n]+",""],{include:"@comments"},{include:"@keyword"},{include:"@strings"},{include:"@numbers"},["[*_]?[a-zA-Z\\-\\s]+(?=:.*(;|(\\\\$)))","attribute.name","@attribute"],["url(\\-prefix)?\\(",{token:"tag",next:"@urldeclaration"}],["[{}()\\[\\]]","@brackets"],["[,:;]","delimiter"],["#@identifierPlus","tag.id"],["&","tag"],["\\.@identifierPlus(?=\\()","tag.class","@attribute"],["\\.@identifierPlus","tag.class"],["@identifierPlus","tag"],{include:"@operators"},["@(@identifier(?=[:,\\)]))","variable","@attribute"],["@(@identifier)","variable"],["@","key","@atRules"]],nestedJSBegin:[["``","delimiter.backtick"],["`",{token:"delimiter.backtick",next:"@nestedJSEnd",nextEmbedded:"text/javascript"}]],nestedJSEnd:[["`",{token:"delimiter.backtick",next:"@pop",nextEmbedded:"@pop"}]],operators:[["[<>=\\+\\-\\*\\/\\^\\|\\~]","operator"]],keyword:[["(@[\\s]*import|![\\s]*important|true|false|when|iscolor|isnumber|isstring|iskeyword|isurl|ispixel|ispercentage|isem|hue|saturation|lightness|alpha|lighten|darken|saturate|desaturate|fadein|fadeout|fade|spin|mix|round|ceil|floor|percentage)\\b","keyword"]],urldeclaration:[{include:"@strings"},[`[^)\r
|
||||
]+`,"string"],["\\)",{token:"tag",next:"@pop"}]],attribute:[{include:"@nestedJSBegin"},{include:"@comments"},{include:"@strings"},{include:"@numbers"},{include:"@keyword"},["[a-zA-Z\\-]+(?=\\()","attribute.value","@attribute"],[">","operator","@pop"],["@identifier","attribute.value"],{include:"@operators"},["@(@identifier)","variable"],["[)\\}]","@brackets","@pop"],["[{}()\\[\\]>]","@brackets"],["[;]","delimiter","@pop"],["[,=:]","delimiter"],["\\s",""],[".","attribute.value"]],comments:[["\\/\\*","comment","@comment"],["\\/\\/+.*","comment"]],comment:[["\\*\\/","comment","@pop"],[".","comment"]],numbers:[["(\\d*\\.)?\\d+([eE][\\-+]?\\d+)?",{token:"attribute.value.number",next:"@units"}],["#[0-9a-fA-F_]+(?!\\w)","attribute.value.hex"]],units:[["(em|ex|ch|rem|fr|vmin|vmax|vw|vh|vm|cm|mm|in|px|pt|pc|deg|grad|rad|turn|s|ms|Hz|kHz|%)?","attribute.value.unit","@pop"]],strings:[['~?"',{token:"string.delimiter",next:"@stringsEndDoubleQuote"}],["~?'",{token:"string.delimiter",next:"@stringsEndQuote"}]],stringsEndDoubleQuote:[['\\\\"',"string"],['"',{token:"string.delimiter",next:"@popall"}],[".","string"]],stringsEndQuote:[["\\\\'","string"],["'",{token:"string.delimiter",next:"@popall"}],[".","string"]],atRules:[{include:"@comments"},{include:"@strings"},["[()]","delimiter"],["[\\{;]","delimiter","@pop"],[".","key"]]}};e.conf=t,e.language=n,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}));
|
||||
@@ -0,0 +1 @@
|
||||
define("vs/lexon-iON-Kj97",["exports"],(function(e){"use strict";const t={comments:{lineComment:"COMMENT"},brackets:[["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:":",close:"."}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"`",close:"`"},{open:'"',close:'"'},{open:"'",close:"'"},{open:":",close:"."}],folding:{markers:{start:new RegExp("^\\s*(::\\s*|COMMENT\\s+)#region"),end:new RegExp("^\\s*(::\\s*|COMMENT\\s+)#endregion")}}},i={tokenPostfix:".lexon",ignoreCase:!0,keywords:["lexon","lex","clause","terms","contracts","may","pay","pays","appoints","into","to"],typeKeywords:["amount","person","key","time","date","asset","text"],operators:["less","greater","equal","le","gt","or","and","add","added","subtract","subtracted","multiply","multiplied","times","divide","divided","is","be","certified"],symbols:/[=><!~?:&|+\-*\/\^%]+/,tokenizer:{root:[[/^(\s*)(comment:?(?:\s.*|))$/,["","comment"]],[/"/,{token:"identifier.quote",bracket:"@open",next:"@quoted_identifier"}],["LEX$",{token:"keyword",bracket:"@open",next:"@identifier_until_period"}],["LEXON",{token:"keyword",bracket:"@open",next:"@semver"}],[":",{token:"delimiter",bracket:"@open",next:"@identifier_until_period"}],[/[a-z_$][\w$]*/,{cases:{"@operators":"operator","@typeKeywords":"keyword.type","@keywords":"keyword","@default":"identifier"}}],{include:"@whitespace"},[/[{}()\[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/@symbols/,"delimiter"],[/\d*\.\d*\.\d*/,"number.semver"],[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float"],[/0[xX][0-9a-fA-F]+/,"number.hex"],[/\d+/,"number"],[/[;,.]/,"delimiter"]],quoted_identifier:[[/[^\\"]+/,"identifier"],[/"/,{token:"identifier.quote",bracket:"@close",next:"@pop"}]],space_identifier_until_period:[[":","delimiter"],[" ",{token:"white",next:"@identifier_rest"}]],identifier_until_period:[{include:"@whitespace"},[":",{token:"delimiter",next:"@identifier_rest"}],[/[^\\.]+/,"identifier"],[/\./,{token:"delimiter",bracket:"@close",next:"@pop"}]],identifier_rest:[[/[^\\.]+/,"identifier"],[/\./,{token:"delimiter",bracket:"@close",next:"@pop"}]],semver:[{include:"@whitespace"},[":","delimiter"],[/\d*\.\d*\.\d*/,{token:"number.semver",bracket:"@close",next:"@pop"}]],whitespace:[[/[ \t\r\n]+/,"white"]]}};e.conf=t,e.language=i,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}));
|
||||
@@ -0,0 +1 @@
|
||||
define("vs/liquid-DqKjdPGy",["exports","./editor.api-CalNCsUg"],(function(e,t){"use strict";const i=["area","base","br","col","embed","hr","img","input","keygen","link","menuitem","meta","param","source","track","wbr"],n={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\$\^\&\*\(\)\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\s]+)/g,brackets:[["<!--","-->"],["<",">"],["{{","}}"],["{%","%}"],["{","}"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"%",close:"%"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"<",close:">"},{open:'"',close:'"'},{open:"'",close:"'"}],onEnterRules:[{beforeText:new RegExp(`<(?!(?:${i.join("|")}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`,"i"),afterText:/^<\/(\w[\w\d]*)\s*>$/i,action:{indentAction:t.languages.IndentAction.IndentOutdent}},{beforeText:new RegExp(`<(?!(?:${i.join("|")}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`,"i"),action:{indentAction:t.languages.IndentAction.Indent}}]},o={defaultToken:"",tokenPostfix:"",builtinTags:["if","else","elseif","endif","render","assign","capture","endcapture","case","endcase","comment","endcomment","cycle","decrement","for","endfor","include","increment","layout","raw","endraw","render","tablerow","endtablerow","unless","endunless"],builtinFilters:["abs","append","at_least","at_most","capitalize","ceil","compact","date","default","divided_by","downcase","escape","escape_once","first","floor","join","json","last","lstrip","map","minus","modulo","newline_to_br","plus","prepend","remove","remove_first","replace","replace_first","reverse","round","rstrip","size","slice","sort","sort_natural","split","strip","strip_html","strip_newlines","times","truncate","truncatewords","uniq","upcase","url_decode","url_encode","where"],constants:["true","false"],operators:["==","!=",">","<",">=","<="],symbol:/[=><!]+/,identifier:/[a-zA-Z_][\w]*/,tokenizer:{root:[[/\{\%\s*comment\s*\%\}/,"comment.start.liquid","@comment"],[/\{\{/,{token:"@rematch",switchTo:"@liquidState.root"}],[/\{\%/,{token:"@rematch",switchTo:"@liquidState.root"}],[/(<)([\w\-]+)(\/>)/,["delimiter.html","tag.html","delimiter.html"]],[/(<)([:\w]+)/,["delimiter.html",{token:"tag.html",next:"@otherTag"}]],[/(<\/)([\w\-]+)/,["delimiter.html",{token:"tag.html",next:"@otherTag"}]],[/</,"delimiter.html"],[/\{/,"delimiter.html"],[/[^<{]+/]],comment:[[/\{\%\s*endcomment\s*\%\}/,"comment.end.liquid","@pop"],[/./,"comment.content.liquid"]],otherTag:[[/\{\{/,{token:"@rematch",switchTo:"@liquidState.otherTag"}],[/\{\%/,{token:"@rematch",switchTo:"@liquidState.otherTag"}],[/\/?>/,"delimiter.html","@pop"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/]],liquidState:[[/\{\{/,"delimiter.output.liquid"],[/\}\}/,{token:"delimiter.output.liquid",switchTo:"@$S2.$S3"}],[/\{\%/,"delimiter.tag.liquid"],[/raw\s*\%\}/,"delimiter.tag.liquid","@liquidRaw"],[/\%\}/,{token:"delimiter.tag.liquid",switchTo:"@$S2.$S3"}],{include:"liquidRoot"}],liquidRaw:[[/^(?!\{\%\s*endraw\s*\%\}).+/],[/\{\%/,"delimiter.tag.liquid"],[/@identifier/],[/\%\}/,{token:"delimiter.tag.liquid",next:"@root"}]],liquidRoot:[[/\d+(\.\d+)?/,"number.liquid"],[/"[^"]*"/,"string.liquid"],[/'[^']*'/,"string.liquid"],[/\s+/],[/@symbol/,{cases:{"@operators":"operator.liquid","@default":""}}],[/\./],[/@identifier/,{cases:{"@constants":"keyword.liquid","@builtinFilters":"predefined.liquid","@builtinTags":"predefined.liquid","@default":"variable.liquid"}}],[/[^}|%]/,"variable.liquid"]]}};e.conf=n,e.language=o,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}));
|
||||
File diff suppressed because it is too large.
Load diff
@@ -0,0 +1,4 @@
|
||||
define("vs/lspLanguageFeatures-kM9O9rjY",["exports","./editor.api-CalNCsUg"],(function(b,l){"use strict";var T;(function(e){function n(i){return typeof i=="string"}e.is=n})(T||(T={}));var V;(function(e){function n(i){return typeof i=="string"}e.is=n})(V||(V={}));var K;(function(e){e.MIN_VALUE=-2147483648,e.MAX_VALUE=2147483647;function n(i){return typeof i=="number"&&e.MIN_VALUE<=i&&i<=e.MAX_VALUE}e.is=n})(K||(K={}));var C;(function(e){e.MIN_VALUE=0,e.MAX_VALUE=2147483647;function n(i){return typeof i=="number"&&e.MIN_VALUE<=i&&i<=e.MAX_VALUE}e.is=n})(C||(C={}));var k;(function(e){function n(r,t){return r===Number.MAX_VALUE&&(r=C.MAX_VALUE),t===Number.MAX_VALUE&&(t=C.MAX_VALUE),{line:r,character:t}}e.create=n;function i(r){let t=r;return u.objectLiteral(t)&&u.uinteger(t.line)&&u.uinteger(t.character)}e.is=i})(k||(k={}));var h;(function(e){function n(r,t,a,o){if(u.uinteger(r)&&u.uinteger(t)&&u.uinteger(a)&&u.uinteger(o))return{start:k.create(r,t),end:k.create(a,o)};if(k.is(r)&&k.is(t))return{start:r,end:t};throw new Error(`Range#create called with invalid arguments[${r}, ${t}, ${a}, ${o}]`)}e.create=n;function i(r){let t=r;return u.objectLiteral(t)&&k.is(t.start)&&k.is(t.end)}e.is=i})(h||(h={}));var j;(function(e){function n(r,t){return{uri:r,range:t}}e.create=n;function i(r){let t=r;return u.objectLiteral(t)&&h.is(t.range)&&(u.string(t.uri)||u.undefined(t.uri))}e.is=i})(j||(j={}));var ee;(function(e){function n(r,t,a,o){return{targetUri:r,targetRange:t,targetSelectionRange:a,originSelectionRange:o}}e.create=n;function i(r){let t=r;return u.objectLiteral(t)&&h.is(t.targetRange)&&u.string(t.targetUri)&&h.is(t.targetSelectionRange)&&(h.is(t.originSelectionRange)||u.undefined(t.originSelectionRange))}e.is=i})(ee||(ee={}));var U;(function(e){function n(r,t,a,o){return{red:r,green:t,blue:a,alpha:o}}e.create=n;function i(r){const t=r;return u.objectLiteral(t)&&u.numberRange(t.red,0,1)&&u.numberRange(t.green,0,1)&&u.numberRange(t.blue,0,1)&&u.numberRange(t.alpha,0,1)}e.is=i})(U||(U={}));var te;(function(e){function n(r,t){return{range:r,color:t}}e.create=n;function i(r){const t=r;return u.objectLiteral(t)&&h.is(t.range)&&U.is(t.color)}e.is=i})(te||(te={}));var ne;(function(e){function n(r,t,a){return{label:r,textEdit:t,additionalTextEdits:a}}e.create=n;function i(r){const t=r;return u.objectLiteral(t)&&u.string(t.label)&&(u.undefined(t.textEdit)||_.is(t))&&(u.undefined(t.additionalTextEdits)||u.typedArray(t.additionalTextEdits,_.is))}e.is=i})(ne||(ne={}));var M;(function(e){e.Comment="comment",e.Imports="imports",e.Region="region"})(M||(M={}));var re;(function(e){function n(r,t,a,o,s,f){const g={startLine:r,endLine:t};return u.defined(a)&&(g.startCharacter=a),u.defined(o)&&(g.endCharacter=o),u.defined(s)&&(g.kind=s),u.defined(f)&&(g.collapsedText=f),g}e.create=n;function i(r){const t=r;return u.objectLiteral(t)&&u.uinteger(t.startLine)&&u.uinteger(t.startLine)&&(u.undefined(t.startCharacter)||u.uinteger(t.startCharacter))&&(u.undefined(t.endCharacter)||u.uinteger(t.endCharacter))&&(u.undefined(t.kind)||u.string(t.kind))}e.is=i})(re||(re={}));var S;(function(e){function n(r,t){return{location:r,message:t}}e.create=n;function i(r){let t=r;return u.defined(t)&&j.is(t.location)&&u.string(t.message)}e.is=i})(S||(S={}));var E;(function(e){e.Error=1,e.Warning=2,e.Information=3,e.Hint=4})(E||(E={}));var ie;(function(e){e.Unnecessary=1,e.Deprecated=2})(ie||(ie={}));var ae;(function(e){function n(i){const r=i;return u.objectLiteral(r)&&u.string(r.href)}e.is=n})(ae||(ae={}));var y;(function(e){function n(r,t,a,o,s,f){let g={range:r,message:t};return u.defined(a)&&(g.severity=a),u.defined(o)&&(g.code=o),u.defined(s)&&(g.source=s),u.defined(f)&&(g.relatedInformation=f),g}e.create=n;function i(r){var t;let a=r;return u.defined(a)&&h.is(a.range)&&u.string(a.message)&&(u.number(a.severity)||u.undefined(a.severity))&&(u.integer(a.code)||u.string(a.code)||u.undefined(a.code))&&(u.undefined(a.codeDescription)||u.string((t=a.codeDescription)===null||t===void 0?void 0:t.href))&&(u.string(a.source)||u.undefined(a.source))&&(u.undefined(a.relatedInformation)||u.typedArray(a.relatedInformation,S.is))}e.is=i})(y||(y={}));var L;(function(e){function n(r,t,...a){let o={title:r,command:t};return u.defined(a)&&a.length>0&&(o.arguments=a),o}e.create=n;function i(r){let t=r;return u.defined(t)&&u.string(t.title)&&u.string(t.command)}e.is=i})(L||(L={}));var _;(function(e){function n(a,o){return{range:a,newText:o}}e.replace=n;function i(a,o){return{range:{start:a,end:a},newText:o}}e.insert=i;function r(a){return{range:a,newText:""}}e.del=r;function t(a){const o=a;return u.objectLiteral(o)&&u.string(o.newText)&&h.is(o.range)}e.is=t})(_||(_={}));var O;(function(e){function n(r,t,a){const o={label:r};return t!==void 0&&(o.needsConfirmation=t),a!==void 0&&(o.description=a),o}e.create=n;function i(r){const t=r;return u.objectLiteral(t)&&u.string(t.label)&&(u.boolean(t.needsConfirmation)||t.needsConfirmation===void 0)&&(u.string(t.description)||t.descrLine truncated
|
||||
`,a==="\r"&&t+1<i.length&&i.charAt(t+1)===`
|
||||
`&&t++}r&&i.length>0&&n.push(i.length),this._lineOffsets=n}return this._lineOffsets}positionAt(n){n=Math.max(Math.min(n,this._content.length),0);let i=this.getLineOffsets(),r=0,t=i.length;if(t===0)return k.create(0,n);for(;r<t;){let o=Math.floor((r+t)/2);i[o]>n?t=o:r=o+1}let a=r-1;return k.create(a,n-i[a])}offsetAt(n){let i=this.getLineOffsets();if(n.line>=i.length)return this._content.length;if(n.line<0)return 0;let r=i[n.line],t=n.line+1<i.length?i[n.line+1]:this._content.length;return Math.max(Math.min(r+n.character,t),r)}get lineCount(){return this.getLineOffsets().length}}var u;(function(e){const n=Object.prototype.toString;function i(c){return typeof c<"u"}e.defined=i;function r(c){return typeof c>"u"}e.undefined=r;function t(c){return c===!0||c===!1}e.boolean=t;function a(c){return n.call(c)==="[object String]"}e.string=a;function o(c){return n.call(c)==="[object Number]"}e.number=o;function s(c,Z,Lt){return n.call(c)==="[object Number]"&&Z<=c&&c<=Lt}e.numberRange=s;function f(c){return n.call(c)==="[object Number]"&&-2147483648<=c&&c<=2147483647}e.integer=f;function g(c){return n.call(c)==="[object Number]"&&0<=c&&c<=2147483647}e.uinteger=g;function d(c){return n.call(c)==="[object Function]"}e.func=d;function m(c){return c!==null&&typeof c=="object"}e.objectLiteral=m;function w(c,Z){return Array.isArray(c)&&c.every(Z)}e.typedArray=w})(u||(u={}));class Ke{constructor(n,i,r){this._languageId=n,this._worker=i,this._disposables=[],this._listener=Object.create(null);const t=o=>{let s=o.getLanguageId();if(s!==this._languageId)return;let f;this._listener[o.uri.toString()]=o.onDidChangeContent(()=>{window.clearTimeout(f),f=window.setTimeout(()=>this._doValidate(o.uri,s),500)}),this._doValidate(o.uri,s)},a=o=>{l.editor.setModelMarkers(o,this._languageId,[]);let s=o.uri.toString(),f=this._listener[s];f&&(f.dispose(),delete this._listener[s])};this._disposables.push(l.editor.onDidCreateModel(t)),this._disposables.push(l.editor.onWillDisposeModel(a)),this._disposables.push(l.editor.onDidChangeModelLanguage(o=>{a(o.model),t(o.model)})),this._disposables.push(r(o=>{l.editor.getModels().forEach(s=>{s.getLanguageId()===this._languageId&&(a(s),t(s))})})),this._disposables.push({dispose:()=>{l.editor.getModels().forEach(a);for(let o in this._listener)this._listener[o].dispose()}}),l.editor.getModels().forEach(t)}dispose(){this._disposables.forEach(n=>n&&n.dispose()),this._disposables.length=0}_doValidate(n,i){this._worker(n).then(r=>r.doValidation(n.toString())).then(r=>{const t=r.map(o=>tt(n,o));let a=l.editor.getModel(n);a&&a.getLanguageId()===i&&l.editor.setModelMarkers(a,i,t)}).then(void 0,r=>{console.error(r)})}}function et(e){switch(e){case E.Error:return l.MarkerSeverity.Error;case E.Warning:return l.MarkerSeverity.Warning;case E.Information:return l.MarkerSeverity.Info;case E.Hint:return l.MarkerSeverity.Hint;default:return l.MarkerSeverity.Info}}function tt(e,n){let i=typeof n.code=="number"?String(n.code):n.code;return{severity:et(n.severity),startLineNumber:n.range.start.line+1,startColumn:n.range.start.character+1,endLineNumber:n.range.end.line+1,endColumn:n.range.end.character+1,message:n.message,code:i,source:n.source}}class nt{constructor(n,i){this._worker=n,this._triggerCharacters=i}get triggerCharacters(){return this._triggerCharacters}provideCompletionItems(n,i,r,t){const a=n.uri;return this._worker(a).then(o=>o.doComplete(a.toString(),x(i))).then(o=>{if(!o)return;const s=n.getWordUntilPosition(i),f=new l.Range(i.lineNumber,s.startColumn,i.lineNumber,s.endColumn),g=o.items.map(d=>{const m={label:d.label,insertText:d.insertText||d.label,sortText:d.sortText,filterText:d.filterText,documentation:d.documentation,detail:d.detail,command:at(d.command),range:f,kind:it(d.kind)};return d.textEdit&&(rt(d.textEdit)?m.range={insert:A(d.textEdit.insert),replace:A(d.textEdit.replace)}:m.range=A(d.textEdit.range),m.insertText=d.textEdit.newText),d.additionalTextEdits&&(m.additionalTextEdits=d.additionalTextEdits.map(I)),d.insertTextFormat===Q.Snippet&&(m.insertTextRules=l.languages.CompletionItemInsertTextRule.InsertAsSnippet),m});return{isIncomplete:o.isIncomplete,suggestions:g}})}}function x(e){if(e)return{character:e.column-1,line:e.lineNumber-1}}function Y(e){if(e)return{start:{line:e.startLineNumber-1,character:e.startColumn-1},end:{line:e.endLineNumber-1,character:e.endColumn-1}}}function A(e){if(e)return new l.Range(e.start.line+1,e.start.character+1,e.end.line+1,e.end.character+1)}function rt(e){return typeof e.insert<"u"&&typeof e.replace<"u"}function it(e){const n=l.languages.CompletionItemKind;switch(e){case p.Text:return n.Text;case p.Method:return n.Method;case p.Function:return n.Function;case p.Constructor:return n.Constructor;case p.Field:return n.Field;case p.Variable:return n.Variable;case p.Class:return n.Class;case p.Interface:return n.Interface;case p.Module:return n.Module;case p.Property:return n.Property;case p.Unit:return n.Unit;case p.Value:return n.Value;case p.Enum:return n.Enum;case
Line truncated
|
||||
`+e.value+"\n```\n"}}function st(e){if(e)return Array.isArray(e)?e.map(Qe):[Qe(e)]}class ct{constructor(n){this._worker=n}provideDocumentHighlights(n,i,r){const t=n.uri;return this._worker(t).then(a=>a.findDocumentHighlights(t.toString(),x(i))).then(a=>{if(a)return a.map(o=>({range:A(o.range),kind:dt(o.kind)}))})}}function dt(e){switch(e){case F.Read:return l.languages.DocumentHighlightKind.Read;case F.Write:return l.languages.DocumentHighlightKind.Write;case F.Text:return l.languages.DocumentHighlightKind.Text}return l.languages.DocumentHighlightKind.Text}class ft{constructor(n){this._worker=n}provideDefinition(n,i,r){const t=n.uri;return this._worker(t).then(a=>a.findDefinition(t.toString(),x(i))).then(a=>{if(a)return[Ge(a)]})}}function Ge(e){return{uri:l.Uri.parse(e.uri),range:A(e.range)}}class lt{constructor(n){this._worker=n}provideReferences(n,i,r,t){const a=n.uri;return this._worker(a).then(o=>o.findReferences(a.toString(),x(i))).then(o=>{if(o)return o.map(Ge)})}}class gt{constructor(n){this._worker=n}provideRenameEdits(n,i,r,t){const a=n.uri;return this._worker(a).then(o=>o.doRename(a.toString(),x(i),r)).then(o=>ht(o))}}function ht(e){if(!e||!e.changes)return;let n=[];for(let i in e.changes){const r=l.Uri.parse(i);for(let t of e.changes[i])n.push({resource:r,versionId:void 0,textEdit:{range:A(t.range),text:t.newText}})}return{edits:n}}class mt{constructor(n){this._worker=n}provideDocumentSymbols(n,i){const r=n.uri;return this._worker(r).then(t=>t.findDocumentSymbols(r.toString())).then(t=>{if(t)return t.map(a=>pt(a)?Je(a):{name:a.name,detail:"",containerName:a.containerName,kind:Ye(a.kind),range:A(a.location.range),selectionRange:A(a.location.range),tags:[]})})}}function pt(e){return"children"in e}function Je(e){return{name:e.name,detail:e.detail??"",kind:Ye(e.kind),range:A(e.range),selectionRange:A(e.selectionRange),tags:e.tags??[],children:(e.children??[]).map(n=>Je(n))}}function Ye(e){let n=l.languages.SymbolKind;switch(e){case v.File:return n.File;case v.Module:return n.Module;case v.Namespace:return n.Namespace;case v.Package:return n.Package;case v.Class:return n.Class;case v.Method:return n.Method;case v.Property:return n.Property;case v.Field:return n.Field;case v.Constructor:return n.Constructor;case v.Enum:return n.Enum;case v.Interface:return n.Interface;case v.Function:return n.Function;case v.Variable:return n.Variable;case v.Constant:return n.Constant;case v.String:return n.String;case v.Number:return n.Number;case v.Boolean:return n.Boolean;case v.Array:return n.Array}return n.Function}class vt{constructor(n){this._worker=n}provideLinks(n,i){const r=n.uri;return this._worker(r).then(t=>t.findDocumentLinks(r.toString())).then(t=>{if(t)return{links:t.map(a=>({range:A(a.range),url:a.target}))}})}}class bt{constructor(n){this._worker=n}provideDocumentFormattingEdits(n,i,r){const t=n.uri;return this._worker(t).then(a=>a.format(t.toString(),null,Ze(i)).then(o=>{if(!(!o||o.length===0))return o.map(I)}))}}class At{constructor(n){this._worker=n,this.canFormatMultipleRanges=!1}provideDocumentRangeFormattingEdits(n,i,r,t){const a=n.uri;return this._worker(a).then(o=>o.format(a.toString(),Y(i),Ze(r)).then(s=>{if(!(!s||s.length===0))return s.map(I)}))}}function Ze(e){return{tabSize:e.tabSize,insertSpaces:e.insertSpaces}}class wt{constructor(n){this._worker=n}provideDocumentColors(n,i){const r=n.uri;return this._worker(r).then(t=>t.findDocumentColors(r.toString())).then(t=>{if(t)return t.map(a=>({color:a.color,range:A(a.range)}))})}provideColorPresentations(n,i,r){const t=n.uri;return this._worker(t).then(a=>a.getColorPresentations(t.toString(),i.color,Y(i.range))).then(a=>{if(a)return a.map(o=>{let s={label:o.label};return o.textEdit&&(s.textEdit=I(o.textEdit)),o.additionalTextEdits&&(s.additionalTextEdits=o.additionalTextEdits.map(I)),s})})}}class kt{constructor(n){this._worker=n}provideFoldingRanges(n,i,r){const t=n.uri;return this._worker(t).then(a=>a.getFoldingRanges(t.toString(),i)).then(a=>{if(a)return a.map(o=>{const s={start:o.startLine+1,end:o.endLine+1};return typeof o.kind<"u"&&(s.kind=xt(o.kind)),s})})}}function xt(e){switch(e){case M.Comment:return l.languages.FoldingRangeKind.Comment;case M.Imports:return l.languages.FoldingRangeKind.Imports;case M.Region:return l.languages.FoldingRangeKind.Region}}class Et{constructor(n){this._worker=n}provideSelectionRanges(n,i,r){const t=n.uri;return this._worker(t).then(a=>a.getSelectionRanges(t.toString(),i.map(x))).then(a=>{if(a)return a.map(o=>{const s=[];for(;o;)s.push({range:A(o.range)}),o=o.parent;return s})})}}b.CompletionAdapter=nt,b.DefinitionAdapter=ft,b.DiagnosticsAdapter=Ke,b.DocumentColorAdapter=wt,b.DocumentFormattingEditProvider=bt,b.DocumentHighlightAdapter=ct,b.DocumentLinkAdapter=vt,b.DocumentRangeFormattingEditProvider=At,b.DocumentSymbolAdapter=mt,b.FoldingRangeAdapter=kt,b.HoverAdapter=ut,b.ReferenceAdapter=lt,b.RenameAdapter=gt,b.SelectionRangeAdapter=Et,b.fromPosition=x,b.fromRange=Y,b.toRange=A,b.toTextEdit=I}));
|
||||
@@ -0,0 +1 @@
|
||||
define("vs/lua-DtygF91M",["exports"],(function(e){"use strict";const n={comments:{lineComment:"--",blockComment:["--[[","]]"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}]},o={defaultToken:"",tokenPostfix:".lua",keywords:["and","break","do","else","elseif","end","false","for","function","goto","if","in","local","nil","not","or","repeat","return","then","true","until","while"],brackets:[{token:"delimiter.bracket",open:"{",close:"}"},{token:"delimiter.array",open:"[",close:"]"},{token:"delimiter.parenthesis",open:"(",close:")"}],operators:["+","-","*","/","%","^","#","==","~=","<=",">=","<",">","=",";",":",",",".","..","..."],symbols:/[=><!~?:&|+\-*\/\^%]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/[a-zA-Z_]\w*/,{cases:{"@keywords":{token:"keyword.$0"},"@default":"identifier"}}],{include:"@whitespace"},[/(,)(\s*)([a-zA-Z_]\w*)(\s*)(:)(?!:)/,["delimiter","","key","","delimiter"]],[/({)(\s*)([a-zA-Z_]\w*)(\s*)(:)(?!:)/,["@brackets","","key","","delimiter"]],[/[{}()\[\]]/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float"],[/0[xX][0-9a-fA-F_]*[0-9a-fA-F]/,"number.hex"],[/\d+?/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/'([^'\\]|\\.)*$/,"string.invalid"],[/"/,"string",'@string."'],[/'/,"string","@string.'"]],whitespace:[[/[ \t\r\n]+/,""],[/--\[([=]*)\[/,"comment","@comment.$1"],[/--.*$/,"comment"]],comment:[[/[^\]]+/,"comment"],[/\]([=]*)\]/,{cases:{"$1==$S2":{token:"comment",next:"@pop"},"@default":"comment"}}],[/./,"comment"]],string:[[/[^\\"']+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/["']/,{cases:{"$#==$S2":{token:"string",next:"@pop"},"@default":"string"}}]]}};e.conf=n,e.language=o,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}));
|
||||
@@ -0,0 +1 @@
|
||||
define("vs/m3-CsR4AuFi",["exports"],(function(e){"use strict";const t={comments:{blockComment:["(*","*)"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"[",close:"]"},{open:"{",close:"}"},{open:"(",close:")"},{open:"(*",close:"*)"},{open:"<*",close:"*>"},{open:"'",close:"'",notIn:["string","comment"]},{open:'"',close:'"',notIn:["string","comment"]}]},o={defaultToken:"",tokenPostfix:".m3",brackets:[{token:"delimiter.curly",open:"{",close:"}"},{token:"delimiter.parenthesis",open:"(",close:")"},{token:"delimiter.square",open:"[",close:"]"}],keywords:["AND","ANY","ARRAY","AS","BEGIN","BITS","BRANDED","BY","CASE","CONST","DIV","DO","ELSE","ELSIF","END","EVAL","EXCEPT","EXCEPTION","EXIT","EXPORTS","FINALLY","FOR","FROM","GENERIC","IF","IMPORT","IN","INTERFACE","LOCK","LOOP","METHODS","MOD","MODULE","NOT","OBJECT","OF","OR","OVERRIDES","PROCEDURE","RAISE","RAISES","READONLY","RECORD","REF","REPEAT","RETURN","REVEAL","SET","THEN","TO","TRY","TYPE","TYPECASE","UNSAFE","UNTIL","UNTRACED","VALUE","VAR","WHILE","WITH"],reservedConstNames:["ABS","ADR","ADRSIZE","BITSIZE","BYTESIZE","CEILING","DEC","DISPOSE","FALSE","FIRST","FLOAT","FLOOR","INC","ISTYPE","LAST","LOOPHOLE","MAX","MIN","NARROW","NEW","NIL","NUMBER","ORD","ROUND","SUBARRAY","TRUE","TRUNC","TYPECODE","VAL"],reservedTypeNames:["ADDRESS","ANY","BOOLEAN","CARDINAL","CHAR","EXTENDED","INTEGER","LONGCARD","LONGINT","LONGREAL","MUTEX","NULL","REAL","REFANY","ROOT","TEXT"],operators:["+","-","*","/","&","^","."],relations:["=","#","<","<=",">",">=","<:",":"],delimiters:["|","..","=>",",",";",":="],symbols:/[>=<#.,:;+\-*/&^]+/,escapes:/\\(?:[\\fnrt"']|[0-7]{3})/,tokenizer:{root:[[/_\w*/,"invalid"],[/[a-zA-Z][a-zA-Z0-9_]*/,{cases:{"@keywords":{token:"keyword.$0"},"@reservedConstNames":{token:"constant.reserved.$0"},"@reservedTypeNames":{token:"type.reserved.$0"},"@default":"identifier"}}],{include:"@whitespace"},[/[{}()\[\]]/,"@brackets"],[/[0-9]+\.[0-9]+(?:[DdEeXx][\+\-]?[0-9]+)?/,"number.float"],[/[0-9]+(?:\_[0-9a-fA-F]+)?L?/,"number"],[/@symbols/,{cases:{"@operators":"operators","@relations":"operators","@delimiters":"delimiter","@default":"invalid"}}],[/'[^\\']'/,"string.char"],[/(')(@escapes)(')/,["string.char","string.escape","string.char"]],[/'/,"invalid"],[/"([^"\\]|\\.)*$/,"invalid"],[/"/,"string.text","@text"]],text:[[/[^\\"]+/,"string.text"],[/@escapes/,"string.escape"],[/\\./,"invalid"],[/"/,"string.text","@pop"]],comment:[[/\(\*/,"comment","@push"],[/\*\)/,"comment","@pop"],[/./,"comment"]],pragma:[[/<\*/,"keyword.pragma","@push"],[/\*>/,"keyword.pragma","@pop"],[/./,"keyword.pragma"]],whitespace:[[/[ \t\r\n]+/,"white"],[/\(\*/,"comment","@comment"],[/<\*/,"keyword.pragma","@pragma"]]}};e.conf=t,e.language=o,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}));
|
||||
@@ -0,0 +1 @@
|
||||
define("vs/markdown-C_rD0bIw",["exports"],(function(e){"use strict";const t={comments:{blockComment:["<!--","-->"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">",notIn:["string"]}],surroundingPairs:[{open:"(",close:")"},{open:"[",close:"]"},{open:"`",close:"`"}],folding:{markers:{start:new RegExp("^\\s*<!--\\s*#?region\\b.*-->"),end:new RegExp("^\\s*<!--\\s*#?endregion\\b.*-->")}}},n={defaultToken:"",tokenPostfix:".md",control:/[\\`*_\[\]{}()#+\-\.!]/,noncontrol:/[^\\`*_\[\]{}()#+\-\.!]/,escapes:/\\(?:@control)/,jsescapes:/\\(?:[btnfr\\"']|[0-7][0-7]?|[0-3][0-7]{2})/,empty:["area","base","basefont","br","col","frame","hr","img","input","isindex","link","meta","param"],tokenizer:{root:[[/^\s*\|/,"@rematch","@table_header"],[/^(\s{0,3})(#+)((?:[^\\#]|@escapes)+)((?:#+)?)/,["white","keyword","keyword","keyword"]],[/^\s*(=+|\-+)\s*$/,"keyword"],[/^\s*((\*[ ]?)+)\s*$/,"meta.separator"],[/^\s*>+/,"comment"],[/^\s*([\*\-+:]|\d+\.)\s/,"keyword"],[/^(\t|[ ]{4})[^ ].*$/,"string"],[/^\s*~~~\s*((?:\w|[\/\-#])+)?\s*$/,{token:"string",next:"@codeblock"}],[/^\s*```\s*((?:\w|[\/\-#])+).*$/,{token:"string",next:"@codeblockgh",nextEmbedded:"$1"}],[/^\s*```\s*$/,{token:"string",next:"@codeblock"}],{include:"@linecontent"}],table_header:[{include:"@table_common"},[/[^\|]+/,"keyword.table.header"]],table_body:[{include:"@table_common"},{include:"@linecontent"}],table_common:[[/\s*[\-:]+\s*/,{token:"keyword",switchTo:"table_body"}],[/^\s*\|/,"keyword.table.left"],[/^\s*[^\|]/,"@rematch","@pop"],[/^\s*$/,"@rematch","@pop"],[/\|/,{cases:{"@eos":"keyword.table.right","@default":"keyword.table.middle"}}]],codeblock:[[/^\s*~~~\s*$/,{token:"string",next:"@pop"}],[/^\s*```\s*$/,{token:"string",next:"@pop"}],[/.*$/,"variable.source"]],codeblockgh:[[/```\s*$/,{token:"string",next:"@pop",nextEmbedded:"@pop"}],[/[^`]+/,"variable.source"]],linecontent:[[/&\w+;/,"string.escape"],[/@escapes/,"escape"],[/\b__([^\\_]|@escapes|_(?!_))+__\b/,"strong"],[/\*\*([^\\*]|@escapes|\*(?!\*))+\*\*/,"strong"],[/\b_[^_]+_\b/,"emphasis"],[/\*([^\\*]|@escapes)+\*/,"emphasis"],[/`([^\\`]|@escapes)+`/,"variable"],[/\{+[^}]+\}+/,"string.target"],[/(!?\[)((?:[^\]\\]|@escapes)*)(\]\([^\)]+\))/,["string.link","","string.link"]],[/(!?\[)((?:[^\]\\]|@escapes)*)(\])/,"string.link"],{include:"html"}],html:[[/<(\w+)\/>/,"tag"],[/<(\w+)(\-|\w)*/,{cases:{"@empty":{token:"tag",next:"@tag.$1"},"@default":{token:"tag",next:"@tag.$1"}}}],[/<\/(\w+)(\-|\w)*\s*>/,{token:"tag"}],[/<!--/,"comment","@comment"]],comment:[[/[^<\-]+/,"comment.content"],[/-->/,"comment","@pop"],[/<!--/,"comment.content.invalid"],[/[<\-]/,"comment.content"]],tag:[[/[ \t\r\n]+/,"white"],[/(type)(\s*=\s*)(")([^"]+)(")/,["attribute.name.html","delimiter.html","string.html",{token:"string.html",switchTo:"@tag.$S2.$4"},"string.html"]],[/(type)(\s*=\s*)(')([^']+)(')/,["attribute.name.html","delimiter.html","string.html",{token:"string.html",switchTo:"@tag.$S2.$4"},"string.html"]],[/(\w+)(\s*=\s*)("[^"]*"|'[^']*')/,["attribute.name.html","delimiter.html","string.html"]],[/\w+/,"attribute.name.html"],[/\/>/,"tag","@pop"],[/>/,{cases:{"$S2==style":{token:"tag",switchTo:"embeddedStyle",nextEmbedded:"text/css"},"$S2==script":{cases:{$S3:{token:"tag",switchTo:"embeddedScript",nextEmbedded:"$S3"},"@default":{token:"tag",switchTo:"embeddedScript",nextEmbedded:"text/javascript"}}},"@default":{token:"tag",next:"@pop"}}}]],embeddedStyle:[[/[^<]+/,""],[/<\/style\s*>/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}],[/</,""]],embeddedScript:[[/[^<]+/,""],[/<\/script\s*>/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}],[/</,""]]}};e.conf=t,e.language=n,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}));
|
||||
@@ -0,0 +1 @@
|
||||
define("vs/mdx-DEWtB1K5",["exports","./editor.api-CalNCsUg"],(function(t,e){"use strict";const o={comments:{blockComment:["{/*","*/}"]},brackets:[["{","}"]],autoClosingPairs:[{open:'"',close:'"'},{open:"'",close:"'"},{open:"“",close:"”"},{open:"‘",close:"’"},{open:"`",close:"`"},{open:"{",close:"}"},{open:"(",close:")"},{open:"_",close:"_"},{open:"**",close:"**"},{open:"<",close:">"}],onEnterRules:[{beforeText:/^\s*- .+/,action:{indentAction:e.languages.IndentAction.None,appendText:"- "}},{beforeText:/^\s*\+ .+/,action:{indentAction:e.languages.IndentAction.None,appendText:"+ "}},{beforeText:/^\s*\* .+/,action:{indentAction:e.languages.IndentAction.None,appendText:"* "}},{beforeText:/^> /,action:{indentAction:e.languages.IndentAction.None,appendText:"> "}},{beforeText:/<\w+/,action:{indentAction:e.languages.IndentAction.Indent}},{beforeText:/\s+>\s*$/,action:{indentAction:e.languages.IndentAction.Indent}},{beforeText:/<\/\w+>/,action:{indentAction:e.languages.IndentAction.Outdent}},...Array.from({length:100},(s,n)=>({beforeText:new RegExp(`^${n}\\. .+`),action:{indentAction:e.languages.IndentAction.None,appendText:`${n+1}. `}}))]},i={defaultToken:"",tokenPostfix:".mdx",control:/[!#()*+.[\\\]_`{}\-]/,escapes:/\\@control/,tokenizer:{root:[[/^---$/,{token:"meta.content",next:"@frontmatter",nextEmbedded:"yaml"}],[/^\s*import/,{token:"keyword",next:"@import",nextEmbedded:"js"}],[/^\s*export/,{token:"keyword",next:"@export",nextEmbedded:"js"}],[/<\w+/,{token:"type.identifier",next:"@jsx"}],[/<\/?\w+>/,"type.identifier"],[/^(\s*)(>*\s*)(#{1,6}\s)/,[{token:"white"},{token:"comment"},{token:"keyword",next:"@header"}]],[/^(\s*)(>*\s*)([*+-])(\s+)/,["white","comment","keyword","white"]],[/^(\s*)(>*\s*)(\d{1,9}\.)(\s+)/,["white","comment","number","white"]],[/^(\s*)(>*\s*)(\d{1,9}\.)(\s+)/,["white","comment","number","white"]],[/^(\s*)(>*\s*)(-{3,}|\*{3,}|_{3,})$/,["white","comment","keyword"]],[/`{3,}(\s.*)?$/,{token:"string",next:"@codeblock_backtick"}],[/~{3,}(\s.*)?$/,{token:"string",next:"@codeblock_tilde"}],[/`{3,}(\S+).*$/,{token:"string",next:"@codeblock_highlight_backtick",nextEmbedded:"$1"}],[/~{3,}(\S+).*$/,{token:"string",next:"@codeblock_highlight_tilde",nextEmbedded:"$1"}],[/^(\s*)(-{4,})$/,["white","comment"]],[/^(\s*)(>+)/,["white","comment"]],{include:"content"}],content:[[/(\[)(.+)(]\()(.+)(\s+".*")(\))/,["","string.link","","type.identifier","string.link",""]],[/(\[)(.+)(]\()(.+)(\))/,["","type.identifier","","string.link",""]],[/(\[)(.+)(]\[)(.+)(])/,["","type.identifier","","type.identifier",""]],[/(\[)(.+)(]:\s+)(\S*)/,["","type.identifier","","string.link"]],[/(\[)(.+)(])/,["","type.identifier",""]],[/`.*`/,"variable.source"],[/_/,{token:"emphasis",next:"@emphasis_underscore"}],[/\*(?!\*)/,{token:"emphasis",next:"@emphasis_asterisk"}],[/\*\*/,{token:"strong",next:"@strong"}],[/{/,{token:"delimiter.bracket",next:"@expression",nextEmbedded:"js"}]],import:[[/'\s*(;|$)/,{token:"string",next:"@pop",nextEmbedded:"@pop"}]],expression:[[/{/,{token:"delimiter.bracket",next:"@expression"}],[/}/,{token:"delimiter.bracket",next:"@pop",nextEmbedded:"@pop"}]],export:[[/^\s*$/,{token:"delimiter.bracket",next:"@pop",nextEmbedded:"@pop"}]],jsx:[[/\s+/,""],[/(\w+)(=)("(?:[^"\\]|\\.)*")/,["attribute.name","operator","string"]],[/(\w+)(=)('(?:[^'\\]|\\.)*')/,["attribute.name","operator","string"]],[/(\w+(?=\s|>|={|$))/,["attribute.name"]],[/={/,{token:"delimiter.bracket",next:"@expression",nextEmbedded:"js"}],[/>/,{token:"type.identifier",next:"@pop"}]],header:[[/.$/,{token:"keyword",next:"@pop"}],{include:"content"},[/./,{token:"keyword"}]],strong:[[/\*\*/,{token:"strong",next:"@pop"}],{include:"content"},[/./,{token:"strong"}]],emphasis_underscore:[[/_/,{token:"emphasis",next:"@pop"}],{include:"content"},[/./,{token:"emphasis"}]],emphasis_asterisk:[[/\*(?!\*)/,{token:"emphasis",next:"@pop"}],{include:"content"},[/./,{token:"emphasis"}]],frontmatter:[[/^---$/,{token:"meta.content",nextEmbedded:"@pop",next:"@pop"}]],codeblock_highlight_backtick:[[/\s*`{3,}\s*$/,{token:"string",next:"@pop",nextEmbedded:"@pop"}],[/.*$/,"variable.source"]],codeblock_highlight_tilde:[[/\s*~{3,}\s*$/,{token:"string",next:"@pop",nextEmbedded:"@pop"}],[/.*$/,"variable.source"]],codeblock_backtick:[[/\s*`{3,}\s*$/,{token:"string",next:"@pop"}],[/.*$/,"variable.source"]],codeblock_tilde:[[/\s*~{3,}\s*$/,{token:"string",next:"@pop"}],[/.*$/,"variable.source"]]}};t.conf=o,t.language=i,Object.defineProperty(t,Symbol.toStringTag,{value:"Module"})}));
|
||||
@@ -0,0 +1 @@
|
||||
define("vs/mips-CiYP61RB",["exports"],(function(e){"use strict";const t={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\#%\^\&\*\(\)\=\$\-\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{blockComment:["###","###"],lineComment:"#"},folding:{markers:{start:new RegExp("^\\s*#region\\b"),end:new RegExp("^\\s*#endregion\\b")}}},n={defaultToken:"",ignoreCase:!1,tokenPostfix:".mips",regEx:/\/(?!\/\/)(?:[^\/\\]|\\.)*\/[igm]*/,keywords:[".data",".text","syscall","trap","add","addu","addi","addiu","and","andi","div","divu","mult","multu","nor","or","ori","sll","slv","sra","srav","srl","srlv","sub","subu","xor","xori","lhi","lho","lhi","llo","slt","slti","sltu","sltiu","beq","bgtz","blez","bne","j","jal","jalr","jr","lb","lbu","lh","lhu","lw","li","la","sb","sh","sw","mfhi","mflo","mthi","mtlo","move"],symbols:/[\.,\:]+/,escapes:/\\(?:[abfnrtv\\"'$]|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/\$[a-zA-Z_]\w*/,"variable.predefined"],[/[.a-zA-Z_]\w*/,{cases:{this:"variable.predefined","@keywords":{token:"keyword.$0"},"@default":""}}],[/[ \t\r\n]+/,""],[/#.*$/,"comment"],["///",{token:"regexp",next:"@hereregexp"}],[/^(\s*)(@regEx)/,["","regexp"]],[/(\,)(\s*)(@regEx)/,["delimiter","","regexp"]],[/(\:)(\s*)(@regEx)/,["delimiter","","regexp"]],[/@symbols/,"delimiter"],[/\d+[eE]([\-+]?\d+)?/,"number.float"],[/\d+\.\d+([eE][\-+]?\d+)?/,"number.float"],[/0[xX][0-9a-fA-F]+/,"number.hex"],[/0[0-7]+(?!\d)/,"number.octal"],[/\d+/,"number"],[/[,.]/,"delimiter"],[/"""/,"string",'@herestring."""'],[/'''/,"string","@herestring.'''"],[/"/,{cases:{"@eos":"string","@default":{token:"string",next:'@string."'}}}],[/'/,{cases:{"@eos":"string","@default":{token:"string",next:"@string.'"}}}]],string:[[/[^"'\#\\]+/,"string"],[/@escapes/,"string.escape"],[/\./,"string.escape.invalid"],[/\./,"string.escape.invalid"],[/#{/,{cases:{'$S2=="':{token:"string",next:"root.interpolatedstring"},"@default":"string"}}],[/["']/,{cases:{"$#==$S2":{token:"string",next:"@pop"},"@default":"string"}}],[/#/,"string"]],herestring:[[/("""|''')/,{cases:{"$1==$S2":{token:"string",next:"@pop"},"@default":"string"}}],[/[^#\\'"]+/,"string"],[/['"]+/,"string"],[/@escapes/,"string.escape"],[/\./,"string.escape.invalid"],[/#{/,{token:"string.quote",next:"root.interpolatedstring"}],[/#/,"string"]],comment:[[/[^#]+/,"comment"],[/#/,"comment"]],hereregexp:[[/[^\\\/#]+/,"regexp"],[/\\./,"regexp"],[/#.*$/,"comment"],["///[igm]*",{token:"regexp",next:"@pop"}],[/\//,"regexp"]]}};e.conf=t,e.language=n,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}));
|
||||
@@ -0,0 +1 @@
|
||||
define("vs/monaco.contribution-D2OdxNBt",["require","exports","./editor.api-CalNCsUg"],(function(S,n,a){"use strict";const O="5.9.3";var u=(e=>(e[e.None=0]="None",e[e.CommonJS=1]="CommonJS",e[e.AMD=2]="AMD",e[e.UMD=3]="UMD",e[e.System=4]="System",e[e.ES2015=5]="ES2015",e[e.ESNext=99]="ESNext",e))(u||{}),c=(e=>(e[e.None=0]="None",e[e.Preserve=1]="Preserve",e[e.React=2]="React",e[e.ReactNative=3]="ReactNative",e[e.ReactJSX=4]="ReactJSX",e[e.ReactJSXDev=5]="ReactJSXDev",e))(c||{}),l=(e=>(e[e.CarriageReturnLineFeed=0]="CarriageReturnLineFeed",e[e.LineFeed=1]="LineFeed",e))(l||{}),g=(e=>(e[e.ES3=0]="ES3",e[e.ES5=1]="ES5",e[e.ES2015=2]="ES2015",e[e.ES2016=3]="ES2016",e[e.ES2017=4]="ES2017",e[e.ES2018=5]="ES2018",e[e.ES2019=6]="ES2019",e[e.ES2020=7]="ES2020",e[e.ESNext=99]="ESNext",e[e.JSON=100]="JSON",e[e.Latest=99]="Latest",e))(g||{}),b=(e=>(e[e.Classic=1]="Classic",e[e.NodeJs=2]="NodeJs",e))(b||{});class d{constructor(t,s,i,r,o){this._onDidChange=new a.Emitter,this._onDidExtraLibsChange=new a.Emitter,this._extraLibs=Object.create(null),this._removedExtraLibs=Object.create(null),this._eagerModelSync=!1,this.setCompilerOptions(t),this.setDiagnosticsOptions(s),this.setWorkerOptions(i),this.setInlayHintsOptions(r),this.setModeConfiguration(o),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(t,s){let i;if(typeof s>"u"?i=`ts:extralib-${Math.random().toString(36).substring(2,15)}`:i=s,this._extraLibs[i]&&this._extraLibs[i].content===t)return{dispose:()=>{}};let r=1;return this._removedExtraLibs[i]&&(r=this._removedExtraLibs[i]+1),this._extraLibs[i]&&(r=this._extraLibs[i].version+1),this._extraLibs[i]={content:t,version:r},this._fireOnDidExtraLibsChangeSoon(),{dispose:()=>{let o=this._extraLibs[i];o&&o.version===r&&(delete this._extraLibs[i],this._removedExtraLibs[i]=r,this._fireOnDidExtraLibsChangeSoon())}}}setExtraLibs(t){for(const s in this._extraLibs)this._removedExtraLibs[s]=this._extraLibs[s].version;if(this._extraLibs=Object.create(null),t&&t.length>0)for(const s of t){const i=s.filePath||`ts:extralib-${Math.random().toString(36).substring(2,15)}`,r=s.content;let o=1;this._removedExtraLibs[i]&&(o=this._removedExtraLibs[i]+1),this._extraLibs[i]={content:r,version:o}}this._fireOnDidExtraLibsChangeSoon()}_fireOnDidExtraLibsChangeSoon(){this._onDidExtraLibsChangeTimeout===-1&&(this._onDidExtraLibsChangeTimeout=window.setTimeout(()=>{this._onDidExtraLibsChangeTimeout=-1,this._onDidExtraLibsChange.fire(void 0)},0))}getCompilerOptions(){return this._compilerOptions}setCompilerOptions(t){this._compilerOptions=t||Object.create(null),this._onDidChange.fire(void 0)}getDiagnosticsOptions(){return this._diagnosticsOptions}setDiagnosticsOptions(t){this._diagnosticsOptions=t||Object.create(null),this._onDidChange.fire(void 0)}setWorkerOptions(t){this._workerOptions=t||Object.create(null),this._onDidChange.fire(void 0)}setInlayHintsOptions(t){this._inlayHintsOptions=t||Object.create(null),this._onDidChange.fire(void 0)}setMaximumWorkerIdleTime(t){}setEagerModelSync(t){this._eagerModelSync=t}getEagerModelSync(){return this._eagerModelSync}setModeConfiguration(t){this._modeConfiguration=t||Object.create(null),this._onDidChange.fire(void 0)}}const m=O,v={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},_=new d({allowNonTsExtensions:!0,target:99},{noSemanticValidation:!1,noSyntaxValidation:!1,onlyVisible:!1},{},{},v),f=new d({allowNonTsExtensions:!0,allowJs:!0,target:99},{noSemanticValidation:!0,noSyntaxValidation:!1,onlyVisible:!1},{},{},v),L=()=>h().then(e=>e.getTypeScriptWorker()),E=()=>h().then(e=>e.getJavaScriptWorker());function h(){return new Promise((e,t)=>S(["./tsMode-CZz1Umrk"],e,t))}a.languages.onLanguage("typescript",()=>h().then(e=>e.setupTypeScript(_))),a.languages.onLanguage("javascript",()=>h().then(e=>e.setupJavaScript(f)));const C=Object.freeze(Object.defineProperty({__proto__:null,JsxEmit:c,ModuleKind:u,ModuleResolutionKind:b,NewLineKind:l,ScriptTarget:g,getJavaScriptWorker:E,getTypeScriptWorker:L,javascriptDefaults:f,typescriptDefaults:_,typescriptVersion:m},Symbol.toStringTag,{value:"Module"}));n.JsxEmit=c,n.ModuleKind=u,n.ModuleResolutionKind=b,n.NewLineKind=l,n.ScriptTarget=g,n.getJavaScriptWorker=E,n.getTypeScriptWorker=L,n.javascriptDefaults=f,n.monaco_contribution=C,n.typescriptDefaults=_,n.typescriptVersion=m}));
|
||||
@@ -0,0 +1 @@
|
||||
define("vs/monaco.contribution-DO3azKX8",["require","exports","./editor.api-CalNCsUg"],(function(l,n,o){"use strict";class s{constructor(e,f,p){this._onDidChange=new o.Emitter,this._languageId=e,this.setOptions(f),this.setModeConfiguration(p)}get onDidChange(){return this._onDidChange.event}get languageId(){return this._languageId}get modeConfiguration(){return this._modeConfiguration}get diagnosticsOptions(){return this.options}get options(){return this._options}setOptions(e){this._options=e||Object.create(null),this._onDidChange.fire(this)}setDiagnosticsOptions(e){this.setOptions(e)}setModeConfiguration(e){this._modeConfiguration=e||Object.create(null),this._onDidChange.fire(this)}}const r={validate:!0,lint:{compatibleVendorPrefixes:"ignore",vendorPrefix:"warning",duplicateProperties:"warning",emptyRules:"warning",importStatement:"ignore",boxModel:"ignore",universalSelector:"ignore",zeroUnits:"ignore",fontFaceProperties:"warning",hexColorLength:"error",argumentsInColorFunction:"error",unknownProperties:"warning",ieHack:"ignore",unknownVendorSpecificProperties:"ignore",propertyIgnoredDueToDisplay:"warning",important:"ignore",float:"ignore",idSelector:"ignore"},data:{useDefaultDataProvider:!0},format:{newlineBetweenSelectors:!0,newlineBetweenRules:!0,spaceAroundSelectorSeparator:!1,braceStyle:"collapse",maxPreserveNewLines:void 0,preserveNewLines:!0}},i={completionItems:!0,hovers:!0,documentSymbols:!0,definitions:!0,references:!0,documentHighlights:!0,rename:!0,colors:!0,foldingRanges:!0,diagnostics:!0,selectionRanges:!0,documentFormattingEdits:!0,documentRangeFormattingEdits:!0},a=new s("css",r,i),u=new s("scss",r,i),g=new s("less",r,i);function c(){return new Promise((t,e)=>l(["./cssMode-CjiAH6dQ"],t,e))}o.languages.onLanguage("less",()=>{c().then(t=>t.setupMode(g))}),o.languages.onLanguage("scss",()=>{c().then(t=>t.setupMode(u))}),o.languages.onLanguage("css",()=>{c().then(t=>t.setupMode(a))});const d=Object.freeze(Object.defineProperty({__proto__:null,cssDefaults:a,lessDefaults:g,scssDefaults:u},Symbol.toStringTag,{value:"Module"}));n.cssDefaults=a,n.lessDefaults=g,n.monaco_contribution=d,n.scssDefaults=u}));
|
||||
@@ -0,0 +1 @@
|
||||
define("vs/monaco.contribution-EcChJV6a",["require","exports","./editor.api-CalNCsUg"],(function(a,n,o){"use strict";class u{constructor(e,d,m){this._onDidChange=new o.Emitter,this._languageId=e,this.setDiagnosticsOptions(d),this.setModeConfiguration(m)}get onDidChange(){return this._onDidChange.event}get languageId(){return this._languageId}get modeConfiguration(){return this._modeConfiguration}get diagnosticsOptions(){return this._diagnosticsOptions}setDiagnosticsOptions(e){this._diagnosticsOptions=e||Object.create(null),this._onDidChange.fire(this)}setModeConfiguration(e){this._modeConfiguration=e||Object.create(null),this._onDidChange.fire(this)}}const g={validate:!0,allowComments:!0,schemas:[],enableSchemaRequest:!1,schemaRequest:"warning",schemaValidation:"warning",comments:"error",trailingCommas:"error"},c={documentFormattingEdits:!0,documentRangeFormattingEdits:!0,completionItems:!0,hovers:!0,documentSymbols:!0,tokens:!0,colors:!0,foldingRanges:!0,diagnostics:!0,selectionRanges:!0},s=new u("json",g,c),i=()=>r().then(t=>t.getWorker());function r(){return new Promise((t,e)=>a(["./jsonMode-DULH5oaX"],t,e))}o.languages.register({id:"json",extensions:[".json",".bowerrc",".jshintrc",".jscsrc",".eslintrc",".babelrc",".har"],aliases:["JSON","json"],mimetypes:["application/json"]}),o.languages.onLanguage("json",()=>{r().then(t=>t.setupMode(s))});const l=Object.freeze(Object.defineProperty({__proto__:null,getWorker:i,jsonDefaults:s},Symbol.toStringTag,{value:"Module"}));n.getWorker=i,n.jsonDefaults=s,n.monaco_contribution=l}));
|
||||
@@ -0,0 +1 @@
|
||||
define("vs/monaco.contribution-qLAYrEOP",["require","exports","./editor.api-CalNCsUg"],(function(p,n,f){"use strict";class D{constructor(t,c,s){this._onDidChange=new f.Emitter,this._languageId=t,this.setOptions(c),this.setModeConfiguration(s)}get onDidChange(){return this._onDidChange.event}get languageId(){return this._languageId}get options(){return this._options}get modeConfiguration(){return this._modeConfiguration}setOptions(t){this._options=t||Object.create(null),this._onDidChange.fire(this)}setModeConfiguration(t){this._modeConfiguration=t||Object.create(null),this._onDidChange.fire(this)}}const r={format:{tabSize:4,insertSpaces:!1,wrapLineLength:120,unformatted:'default": "a, abbr, acronym, b, bdo, big, br, button, cite, code, dfn, em, i, img, input, kbd, label, map, object, q, samp, select, small, span, strong, sub, sup, textarea, tt, var',contentUnformatted:"pre",indentInnerHtml:!1,preserveNewLines:!0,maxPreserveNewLines:void 0,indentHandlebars:!1,endWithNewline:!1,extraLiners:"head, body, /html",wrapAttributes:"auto"},suggest:{},data:{useDefaultDataProvider:!0}};function i(e){return{completionItems:!0,hovers:!0,documentSymbols:!0,links:!0,documentHighlights:!0,rename:!0,colors:!0,foldingRanges:!0,selectionRanges:!0,diagnostics:e===a,documentFormattingEdits:e===a,documentRangeFormattingEdits:e===a}}const a="html",m="handlebars",h="razor",u=o(a,r,i(a)),b=u.defaults,g=o(m,r,i(m)),L=g.defaults,l=o(h,r,i(h)),v=l.defaults;function _(){return new Promise((e,t)=>p(["./htmlMode-Bz67EXwp"],e,t))}function o(e,t=r,c=i(e)){const s=new D(e,t,c);let d;const C=f.languages.onLanguage(e,async()=>{d=(await _()).setupMode(s)});return{defaults:s,dispose(){C.dispose(),d?.dispose(),d=void 0}}}const S=Object.freeze(Object.defineProperty({__proto__:null,handlebarDefaults:L,handlebarLanguageService:g,htmlDefaults:b,htmlLanguageService:u,razorDefaults:v,razorLanguageService:l,registerHTMLLanguageService:o},Symbol.toStringTag,{value:"Module"}));n.handlebarDefaults=L,n.handlebarLanguageService=g,n.htmlDefaults=b,n.htmlLanguageService=u,n.monaco_contribution=S,n.razorDefaults=v,n.razorLanguageService=l,n.registerHTMLLanguageService=o}));
|
||||
@@ -0,0 +1 @@
|
||||
define("vs/msdax-C38-sJlp",["exports"],(function(E){"use strict";const T={comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["[","]"],["(",")"],["{","}"]],autoClosingPairs:[{open:'"',close:'"',notIn:["string","comment"]},{open:"'",close:"'",notIn:["string","comment"]},{open:"[",close:"]",notIn:["string","comment"]},{open:"(",close:")",notIn:["string","comment"]},{open:"{",close:"}",notIn:["string","comment"]}]},A={defaultToken:"",tokenPostfix:".msdax",ignoreCase:!0,brackets:[{open:"[",close:"]",token:"delimiter.square"},{open:"{",close:"}",token:"delimiter.brackets"},{open:"(",close:")",token:"delimiter.parenthesis"}],keywords:["VAR","RETURN","NOT","EVALUATE","DATATABLE","ORDER","BY","START","AT","DEFINE","MEASURE","ASC","DESC","IN","BOOLEAN","DOUBLE","INTEGER","DATETIME","CURRENCY","STRING"],functions:["CLOSINGBALANCEMONTH","CLOSINGBALANCEQUARTER","CLOSINGBALANCEYEAR","DATEADD","DATESBETWEEN","DATESINPERIOD","DATESMTD","DATESQTD","DATESYTD","ENDOFMONTH","ENDOFQUARTER","ENDOFYEAR","FIRSTDATE","FIRSTNONBLANK","LASTDATE","LASTNONBLANK","NEXTDAY","NEXTMONTH","NEXTQUARTER","NEXTYEAR","OPENINGBALANCEMONTH","OPENINGBALANCEQUARTER","OPENINGBALANCEYEAR","PARALLELPERIOD","PREVIOUSDAY","PREVIOUSMONTH","PREVIOUSQUARTER","PREVIOUSYEAR","SAMEPERIODLASTYEAR","STARTOFMONTH","STARTOFQUARTER","STARTOFYEAR","TOTALMTD","TOTALQTD","TOTALYTD","ADDCOLUMNS","ADDMISSINGITEMS","ALL","ALLEXCEPT","ALLNOBLANKROW","ALLSELECTED","CALCULATE","CALCULATETABLE","CALENDAR","CALENDARAUTO","CROSSFILTER","CROSSJOIN","CURRENTGROUP","DATATABLE","DETAILROWS","DISTINCT","EARLIER","EARLIEST","EXCEPT","FILTER","FILTERS","GENERATE","GENERATEALL","GROUPBY","IGNORE","INTERSECT","ISONORAFTER","KEEPFILTERS","LOOKUPVALUE","NATURALINNERJOIN","NATURALLEFTOUTERJOIN","RELATED","RELATEDTABLE","ROLLUP","ROLLUPADDISSUBTOTAL","ROLLUPGROUP","ROLLUPISSUBTOTAL","ROW","SAMPLE","SELECTCOLUMNS","SUBSTITUTEWITHINDEX","SUMMARIZE","SUMMARIZECOLUMNS","TOPN","TREATAS","UNION","USERELATIONSHIP","VALUES","SUM","SUMX","PATH","PATHCONTAINS","PATHITEM","PATHITEMREVERSE","PATHLENGTH","AVERAGE","AVERAGEA","AVERAGEX","COUNT","COUNTA","COUNTAX","COUNTBLANK","COUNTROWS","COUNTX","DISTINCTCOUNT","DIVIDE","GEOMEAN","GEOMEANX","MAX","MAXA","MAXX","MEDIAN","MEDIANX","MIN","MINA","MINX","PERCENTILE.EXC","PERCENTILE.INC","PERCENTILEX.EXC","PERCENTILEX.INC","PRODUCT","PRODUCTX","RANK.EQ","RANKX","STDEV.P","STDEV.S","STDEVX.P","STDEVX.S","VAR.P","VAR.S","VARX.P","VARX.S","XIRR","XNPV","DATE","DATEDIFF","DATEVALUE","DAY","EDATE","EOMONTH","HOUR","MINUTE","MONTH","NOW","SECOND","TIME","TIMEVALUE","TODAY","WEEKDAY","WEEKNUM","YEAR","YEARFRAC","CONTAINS","CONTAINSROW","CUSTOMDATA","ERROR","HASONEFILTER","HASONEVALUE","ISBLANK","ISCROSSFILTERED","ISEMPTY","ISERROR","ISEVEN","ISFILTERED","ISLOGICAL","ISNONTEXT","ISNUMBER","ISODD","ISSUBTOTAL","ISTEXT","USERNAME","USERPRINCIPALNAME","AND","FALSE","IF","IFERROR","NOT","OR","SWITCH","TRUE","ABS","ACOS","ACOSH","ACOT","ACOTH","ASIN","ASINH","ATAN","ATANH","BETA.DIST","BETA.INV","CEILING","CHISQ.DIST","CHISQ.DIST.RT","CHISQ.INV","CHISQ.INV.RT","COMBIN","COMBINA","CONFIDENCE.NORM","CONFIDENCE.T","COS","COSH","COT","COTH","CURRENCY","DEGREES","EVEN","EXP","EXPON.DIST","FACT","FLOOR","GCD","INT","ISO.CEILING","LCM","LN","LOG","LOG10","MOD","MROUND","ODD","PERMUT","PI","POISSON.DIST","POWER","QUOTIENT","RADIANS","RAND","RANDBETWEEN","ROUND","ROUNDDOWN","ROUNDUP","SIGN","SIN","SINH","SQRT","SQRTPI","TAN","TANH","TRUNC","BLANK","CONCATENATE","CONCATENATEX","EXACT","FIND","FIXED","FORMAT","LEFT","LEN","LOWER","MID","REPLACE","REPT","RIGHT","SEARCH","SUBSTITUTE","TRIM","UNICHAR","UNICODE","UPPER","VALUE"],tokenizer:{root:[{include:"@comments"},{include:"@whitespace"},{include:"@numbers"},{include:"@strings"},{include:"@complexIdentifiers"},[/[;,.]/,"delimiter"],[/[({})]/,"@brackets"],[/[a-z_][a-zA-Z0-9_]*/,{cases:{"@keywords":"keyword","@functions":"keyword","@default":"identifier"}}],[/[<>=!%&+\-*/|~^]/,"operator"]],whitespace:[[/\s+/,"white"]],comments:[[/\/\/+.*/,"comment"],[/\/\*/,{token:"comment.quote",next:"@comment"}]],comment:[[/[^*/]+/,"comment"],[/\*\//,{token:"comment.quote",next:"@pop"}],[/./,"comment"]],numbers:[[/0[xX][0-9a-fA-F]*/,"number"],[/[$][+-]*\d*(\.\d*)?/,"number"],[/((\d+(\.\d*)?)|(\.\d+))([eE][\-+]?\d+)?/,"number"]],strings:[[/N"/,{token:"string",next:"@string"}],[/"/,{token:"string",next:"@string"}]],string:[[/[^"]+/,"string"],[/""/,"string"],[/"/,{token:"string",next:"@pop"}]],complexIdentifiers:[[/\[/,{token:"identifier.quote",next:"@bracketedIdentifier"}],[/'/,{token:"identifier.quote",next:"@quotedIdentifier"}]],bracketedIdentifier:[[/[^\]]+/,"identifier"],[/]]/,"identifier"],[/]/,{token:"identifier.quote",next:"@pop"}]],quotedIdentifier:[[/[^']+/,"identifier"],[/''/,"identifier"],[/'/,{token:"identifier.quote",next:"@pop"}]]}};E.conf=T,E.language=A,Object.defineProperty(E,Symbol.toStringTag,{value:"Module"})}));
|
||||
@@ -0,0 +1 @@
|
||||
define("vs/mysql-CdtbpvbG",["exports"],(function(E){"use strict";const T={comments:{lineComment:"--",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}]},S={defaultToken:"",tokenPostfix:".sql",ignoreCase:!0,brackets:[{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"}],keywords:["ACCESSIBLE","ADD","ALL","ALTER","ANALYZE","AND","AS","ASC","ASENSITIVE","BEFORE","BETWEEN","BIGINT","BINARY","BLOB","BOTH","BY","CALL","CASCADE","CASE","CHANGE","CHAR","CHARACTER","CHECK","COLLATE","COLUMN","CONDITION","CONSTRAINT","CONTINUE","CONVERT","CREATE","CROSS","CUBE","CUME_DIST","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURSOR","DATABASE","DATABASES","DAY_HOUR","DAY_MICROSECOND","DAY_MINUTE","DAY_SECOND","DEC","DECIMAL","DECLARE","DEFAULT","DELAYED","DELETE","DENSE_RANK","DESC","DESCRIBE","DETERMINISTIC","DISTINCT","DISTINCTROW","DIV","DOUBLE","DROP","DUAL","EACH","ELSE","ELSEIF","EMPTY","ENCLOSED","ESCAPED","EXCEPT","EXISTS","EXIT","EXPLAIN","FALSE","FETCH","FIRST_VALUE","FLOAT","FLOAT4","FLOAT8","FOR","FORCE","FOREIGN","FROM","FULLTEXT","FUNCTION","GENERATED","GET","GRANT","GROUP","GROUPING","GROUPS","HAVING","HIGH_PRIORITY","HOUR_MICROSECOND","HOUR_MINUTE","HOUR_SECOND","IF","IGNORE","IN","INDEX","INFILE","INNER","INOUT","INSENSITIVE","INSERT","INT","INT1","INT2","INT3","INT4","INT8","INTEGER","INTERVAL","INTO","IO_AFTER_GTIDS","IO_BEFORE_GTIDS","IS","ITERATE","JOIN","JSON_TABLE","KEY","KEYS","KILL","LAG","LAST_VALUE","LATERAL","LEAD","LEADING","LEAVE","LEFT","LIKE","LIMIT","LINEAR","LINES","LOAD","LOCALTIME","LOCALTIMESTAMP","LOCK","LONG","LONGBLOB","LONGTEXT","LOOP","LOW_PRIORITY","MASTER_BIND","MASTER_SSL_VERIFY_SERVER_CERT","MATCH","MAXVALUE","MEDIUMBLOB","MEDIUMINT","MEDIUMTEXT","MIDDLEINT","MINUTE_MICROSECOND","MINUTE_SECOND","MOD","MODIFIES","NATURAL","NOT","NO_WRITE_TO_BINLOG","NTH_VALUE","NTILE","NULL","NUMERIC","OF","ON","OPTIMIZE","OPTIMIZER_COSTS","OPTION","OPTIONALLY","OR","ORDER","OUT","OUTER","OUTFILE","OVER","PARTITION","PERCENT_RANK","PRECISION","PRIMARY","PROCEDURE","PURGE","RANGE","RANK","READ","READS","READ_WRITE","REAL","RECURSIVE","REFERENCES","REGEXP","RELEASE","RENAME","REPEAT","REPLACE","REQUIRE","RESIGNAL","RESTRICT","RETURN","REVOKE","RIGHT","RLIKE","ROW","ROWS","ROW_NUMBER","SCHEMA","SCHEMAS","SECOND_MICROSECOND","SELECT","SENSITIVE","SEPARATOR","SET","SHOW","SIGNAL","SMALLINT","SPATIAL","SPECIFIC","SQL","SQLEXCEPTION","SQLSTATE","SQLWARNING","SQL_BIG_RESULT","SQL_CALC_FOUND_ROWS","SQL_SMALL_RESULT","SSL","STARTING","STORED","STRAIGHT_JOIN","SYSTEM","TABLE","TERMINATED","THEN","TINYBLOB","TINYINT","TINYTEXT","TO","TRAILING","TRIGGER","TRUE","UNDO","UNION","UNIQUE","UNLOCK","UNSIGNED","UPDATE","USAGE","USE","USING","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","VALUES","VARBINARY","VARCHAR","VARCHARACTER","VARYING","VIRTUAL","WHEN","WHERE","WHILE","WINDOW","WITH","WRITE","XOR","YEAR_MONTH","ZEROFILL"],operators:["AND","BETWEEN","IN","LIKE","NOT","OR","IS","NULL","INTERSECT","UNION","INNER","JOIN","LEFT","OUTER","RIGHT"],builtinFunctions:["ABS","ACOS","ADDDATE","ADDTIME","AES_DECRYPT","AES_ENCRYPT","ANY_VALUE","Area","AsBinary","AsWKB","ASCII","ASIN","AsText","AsWKT","ASYMMETRIC_DECRYPT","ASYMMETRIC_DERIVE","ASYMMETRIC_ENCRYPT","ASYMMETRIC_SIGN","ASYMMETRIC_VERIFY","ATAN","ATAN2","ATAN","AVG","BENCHMARK","BIN","BIT_AND","BIT_COUNT","BIT_LENGTH","BIT_OR","BIT_XOR","Buffer","CAST","CEIL","CEILING","Centroid","CHAR","CHAR_LENGTH","CHARACTER_LENGTH","CHARSET","COALESCE","COERCIBILITY","COLLATION","COMPRESS","CONCAT","CONCAT_WS","CONNECTION_ID","Contains","CONV","CONVERT","CONVERT_TZ","ConvexHull","COS","COT","COUNT","CRC32","CREATE_ASYMMETRIC_PRIV_KEY","CREATE_ASYMMETRIC_PUB_KEY","CREATE_DH_PARAMETERS","CREATE_DIGEST","Crosses","CUME_DIST","CURDATE","CURRENT_DATE","CURRENT_ROLE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURTIME","DATABASE","DATE","DATE_ADD","DATE_FORMAT","DATE_SUB","DATEDIFF","DAY","DAYNAME","DAYOFMONTH","DAYOFWEEK","DAYOFYEAR","DECODE","DEFAULT","DEGREES","DES_DECRYPT","DES_ENCRYPT","DENSE_RANK","Dimension","Disjoint","Distance","ELT","ENCODE","ENCRYPT","EndPoint","Envelope","Equals","EXP","EXPORT_SET","ExteriorRing","EXTRACT","ExtractValue","FIELD","FIND_IN_SET","FIRST_VALUE","FLOOR","FORMAT","FORMAT_BYTES","FORMAT_PICO_TIME","FOUND_ROWS","FROM_BASE64","FROM_DAYS","FROM_UNIXTIME","GEN_RANGE","GEN_RND_EMAIL","GEN_RND_PAN","GEN_RND_SSN","GEN_RND_US_PHONE","GeomCollection","GeomCollFromText","GeometryCollectionFromText","GeomCollFromWKB","GeometryCollectionFromWKB","GeometryCollection","GeometryN","GeometryType","GeomFromText","GeometryFromText","GeomFromWKB","GeometryFromWKB","GET_FORMAT","GET_LOCK","GLength","GREATEST","GROUP_CONCAT","GROUPING","GTID_SULine truncated
|
||||
@@ -0,0 +1 @@
|
||||
define("vs/nls.messages-loader",["exports"],(function(s){"use strict";function a(o,l,n,t){const e=t["vs/nls"]?.availableLanguages?.["*"];!e||e==="en"?n({}):l([`vs/nls.messages.${e}`],()=>{n({})})}s.load=a,Object.defineProperty(s,Symbol.toStringTag,{value:"Module"})}));
|
||||
@@ -0,0 +1,17 @@
|
||||
define("vs/nls.messages.cs.js",["./_commonjsHelpers-CT9FvmAN"],(function(a){"use strict";var o={};/*!-----------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Version: 0.55.1(516f350bdaf7a82f6731bd128a9ec86a6e5fa47d)
|
||||
* Released under the MIT license
|
||||
* https://github.com/microsoft/vscode/blob/main/LICENSE.txt
|
||||
*-----------------------------------------------------------*/var e;function n(){return e||(e=1,globalThis._VSCODE_NLS_MESSAGES=["{0} ({1})","vstup","Rozlišovat malá a velká písmena","Pouze celá slova","Použit regulární výraz","vstup","Zachovávat velikost písmen","Zkontrolujte to v přístupném zobrazení pomocí {0}.","Zkontrolujte to v přístupném zobrazení pomocí příkazu Otevřít přístupné zobrazení, které se v tuto chvíli nedá aktivovat klávesovou zkratkou.","Chyba: {0}","Upozornění: {0}","Informace: {0}"," nebo {0} pro historii"," ({0} pro historii)","Zadání se vymazalo","Nesvázáno s klávesovou zkratkou","Pole výběru","Další akce...","Zadejte hledaný text","Zavřít","Zadejte hledaný text","Nenašly se žádné výsledky.","Žádné výsledky","Počet výsledků: {0}","Pro filtrování zadejte text.","Zadejte hledaný text","Filtrovat","Přibližná shoda","(prázdné)","{0}: {1}","Došlo k systémové chybě. ({0})","Došlo k neznámé chybě. Další podrobnosti naleznete v protokolu.","Došlo k neznámé chybě. Další podrobnosti naleznete v protokolu.","{0} (celkový počet chyb: {1})","Došlo k neznámé chybě. Další podrobnosti naleznete v protokolu.","Ctrl","Shift","Alt","Windows","Ctrl","Shift","Alt","Super","Control","Shift","Možnost","Příkaz","Control","Shift","Alt","Windows","Control","Shift","Alt","Super","Rozšíření","Integrovaný terminál","Chat","Telemetrie","Aktualizovat","editor","Editor není v tuto chvíli přístupný.","{0} Pokud chcete povolit režim optimalizovaný pro čtečku obrazovky, použijte {1}","{0} Pokud chcete povolit režim optimalizovaný pro čtečku obrazovky, otevřete rychlý výběr pomocí {1} a spusťte příkaz Přepnout režim přístupnosti čtečky obrazovky, který se momentálně nedá aktivovat pomocí klávesnice.","{0} Přiřaďte klávesovou zkratku k příkazu Přepnout režim přístupnosti čtečky obrazovky tak, že pomocí {1} otevřete editor klávesových zkratek a spustíte ji.","editor","Umístit na konec i u delších řádků","Umístit na konec i u delších řádků","Odebrané sekundární kurzory","&&Zpět","Zpět","Zpět","&&Znovu","Znovu","Znovu","&&Vybrat vše","Vybrat vše","Vybrat vše","Použití vykreslování založeného na modelu DOM","Určuje, jestli jsou vložená dokončování v tuto chvíli odložená","Vyberte dobu odložení pro návrhy v řádku","Odložit vložené návrhy","Zrušit odložení vložených návrhů","Počet kurzorů byl omezen na {0}. Zvažte použití funkce [find and replace](https://code.visualstudio.com/docs/editor/codebasics#_find-and-replace) pro větší změny nebo zvýšení nastavení limitu více kurzorů editoru.","Zvýšit limit více kurzorů","Přepnout sbalení nezměněných oblastí","Přepnout zobrazení přesunutých bloků kódu","Přepnout použití vloženého zobrazení, když je omezené místo","Diff Editor","Přepnout stranu","Ukončit porovnání přesunutí","Sbalit všechny nezměněné oblasti","Zobrazit všechny nezměněné oblasti","Obnovit","Prohlížeč rozdílů s podporou přístupnosti","Přejít na další rozdíl","Přejít na předchozí rozdíl","Ikona Vložit v prohlížeči rozdílů s podporou přístupnosti.","Ikona Odebrat v prohlížeči rozdílů s podporou přístupnosti.","Ikona Zavřít v prohlížeči rozdílů s podporou přístupnosti.","Zavřít","Přístupný prohlížeč rozdílů. K navigaci použijte šipku nahoru a dolů.","Nezměnily se žádné řádky.","Počet změněných řádků: 1","Počet změněných řádků: {0}","Rozdíl {0} z {1}: původní řádek {2}, {3}, změněný řádek {4}, {5}","prázdné","{0} nezměněný řádek {1}","{0} původní řádek {1} změněný řádek {2}","+ {0} změněný řádek {1}","- {0} původní řádek {1}"," pomocí {0} otevřete nápovědu k přístupnosti.","Kopírovat odstraněné řádky","Kopírovat odstraněný řádek","Kopírovat změněné řádky","Kopírovat změněný řádek","Kopírovat odstraněný řádek ({0})","Kopírovat změněný řádek ({0})","Obnovit tuto změnu","Použít vložené zobrazení, když je omezené místo","Zobrazit přesunuté bloky kódu","Obnovit blok","Obnovit výběr","Otevřít prohlížeč rozdílů s podporou přístupnosti","Sbalit nezměněnou oblast","{0} skryté čáry","Kliknutím nebo přetažením zobrazíte více nahoře.","Zobrazit nezměněnou oblast","Kliknutím nebo přetažením zobrazíte další položky níže","{0} skryté čáry","Poklikáním rozbalíte","Kód se přesunul se změnami na řádek {0}–{1}","Kód se přesunul se změnami z řádku {0}–{1}","Kód se přesunul na řádek {0}–{1}","Kód se přesunul z řádku {0}–{1}","Vrátit vybrané změny","Vrátit změnu","Barva ohraničení textu přesunutého v editoru rozdílů.","Barva aktivního ohraničení textu přesunutého v diff editoru.","Barva stínu kolem widgetů nezměněných oblastí","Dekorace řádku
Line truncated
|
||||
– Při použití hodnoty 0 se automaticky vypočítá výška řádku z velikosti písma.\r
|
||||
– Hodnoty mezi 0 a 8 se použijí jako multiplikátor s velikostí písma.\r
|
||||
– Hodnoty větší nebo rovny 8 se použijí jako efektivní hodnoty.`,"Určuje, jestli se má zobrazovat minimapa.","Minimapa se zobrazuje vždy.","Minimapa je skryta, když není myš nad minimapou, a zobrazena, když je myš nad minimapou.","Minimapa se zobrazí jenom při posouvání editoru","Určuje, jestli se minimapa automaticky skryje.","Minimapa má stejnou velikost jako obsah editoru (a může se posouvat).","Minimapa se podle potřeby roztáhne nebo zmenší, aby vyplnila editor na výšku (bez posouvání).","Minimapa se podle potřeby zmenší, aby nebyla nikdy větší, než je výška editoru (bez posouvání).","Určuje velikost minimapy.","Určuje, na které straně se má vykreslovat minimapa.","Určuje, jestli má být zobrazen posuvník minimapy.","Rozsah obsahu vykresleného v minimapě: 1, 2 nebo 3","Vykreslí na řádku skutečné znaky (nikoli barevné čtverečky).","Omezuje šířku minimapy tak, aby byl maximálně vykreslen jen určitý počet sloupců.","Určuje, jestli se pojmenované oblasti v minimapě zobrazí jako záhlaví oddílů.","Určuje, jestli se komentáře MARK: v minimapě zobrazí jako záhlaví oddílů.","Definuje regulární výraz, který se používá k vyhledání záhlaví oddílů v komentářích. Regulární výraz musí obsahovat pojmenovanou skupinu shody label (zapsaná jako (?<label>.+), která zapouzdřuje záhlaví oddílu, jinak nebude fungovat. Volitelně můžete zahrnout jinou skupinu shody s názvem separator. Použít ve vzoru \\n, aby odpovídal víceřádkovému záhlaví.","Určuje velikost písma záhlaví oddílů v minimapě.","Určuje velikost mezery (v pixelech) mezi znaky záhlaví oddílu. Pomáhá zlepšit čitelnost záhlaví při malých velikostech písma.","Určuje velikost mezery mezi horním okrajem editoru a prvním řádkem.","Určuje velikost mezery mezi dolním okrajem editoru a posledním řádkem.","Povoluje automaticky otevírané okno, které při psaní zobrazuje dokumentaci k parametrům a informace o typu.","Určuje, jestli má nabídka tipů zůstat otevřená (cyklovat) nebo jestli se má při dosažení konce seznamu zavřít.","Rychlé návrhy se zobrazují ve widgetu návrhů.","Rychlé návrhy se zobrazují jako zástupný text.","Rychlé návrhy jsou zakázané.","Povoluje rychlé návrhy uvnitř řetězců.","Povoluje rychlé návrhy uvnitř komentářů.","Povoluje rychlé návrhy mimo řetězce a komentáře.","Určuje, jestli se při psaní mají automaticky zobrazovat návrhy. To je možné ovládat při psaní komentářů, řetězců a dalšího kódu. Rychlé návrhy se dají nakonfigurovat tak, aby se zobrazovaly jako stínový text nebo s widgetem návrhu. Pozor také na nastavení {0}, které řídí, jestli budou návrhy vyvolány speciálními znaky.","Čísla řádků se nevykreslují.","Čísla řádků se vykreslují jako absolutní číslo.","Čísla řádků se vykreslují jako vzdálenost do pozice kurzoru na řádcích.","Čísla řádků se vykreslují každých 10 řádků.","Řídí zobrazování čísel řádků.","Počet neproporcionálních znaků, při kterém se toto pravítko editoru vykreslí","Barva tohoto pravítka editoru","Vykreslovat svislá pravítka po určitém počtu neproporcionálních znaků. Pro více pravítek použijte více hodnot. Pokud je pole hodnot prázdné, nejsou vykreslena žádná pravítka.","Svislý posuvník bude viditelný pouze v případě potřeby.","Svislý posuvník bude vždy viditelný.","Svislý posuvník bude vždy skrytý.","Ovládá viditelnost svislého posuvníku.","Vodorovný posuvník bude viditelný pouze v případě potřeby.","Vodorovný posuvník bude vždy viditelný.","Vodorovný posuvník bude vždy skrytý.","Ovládá viditelnost vodorovného posuvníku.","Šířka svislého posuvníku","Výška vodorovného posuvníku","Určuje, jestli se při kliknutí posune stránka, nebo přeskočí na pozici kliknutí.","Pokud je nastaveno, vodorovný posuvník nezvětší velikost obsahu editoru.","Určuje, jestli jsou zvýrazněny všechny nestandardní znaky ASCII. Za základní ASCII se považují pouze znaky mezi U+0020 a U+007E, tabulátoru, posunu na další řádek a návratu na začátek řádku.","Určuje, jestli jsou zvýrazněny znaky, které si pouze rezervují místo nebo nemají žádnou šířku.","Určuje, jestli jsou zvýrazněny znaky, které lze zaměnit se základními znaky ASCII, s výjimkou těch, které jsou běžné v aktuálním národním prostředí uživatele.","Určuje, zda mají být znaky v komentářích také předmětem zvýraznění Unicode.","Určuje, zda mají být znaky v řetězcích také předmětem zvýraznění Unicode.","Definuje povolené znaky, které se nezvýrazňují.","Znaky Unicode, které jsou společné v povolených národních prostředích, se nezvýrazňují.","Určuje, jestli se mají v editoru automaticky zobrazovat vložené návrhy.","Pokaždé, když se zobrazí vlož
Line truncated
|
||||
Pokud pro tento druh existuje více úprav, zobrazí editor ovládací prvek pro výběr. Pokud žádné úpravy tohoto druhu neexistují, editor zobrazí chybovou zprávu.`,`Seznam upřednostňovaných druhů úprav vložení, které se mají zkusit použít\r
|
||||
Použije se první úprava odpovídající předvolbám.`,"Vložit jako...","Vložit jako text","Určuje, jestli se zobrazuje widget pro vložení","Zobrazit možnosti vložení...","prázdný","Pro {0} se nenašly žádné úpravy vložení.","Překládání úprav vložení pro '{0}' Kliknutím akci zrušíte.","Spouští se obslužné rutiny vložení. Kliknutím akci zrušíte a provedete základní vložení.","Konfigurovat výchozí akci vložení","Vybrat akci vložení","Spouští se obslužné rutiny vložení","Vložit prostý text","Vložit Uris","Vložit Uri","Vložit cesty","Vložit cestu","Vložit relativní cesty","Vložit relativní cestu","Vložit kód HTML","Určuje, jestli se zobrazuje widget pro přetažení","Zobrazit možnosti přetažení...","Spouští se obslužné rutiny přetažení. Kliknutím zrušíte akci.",`Při překladu úpravy {0} došlo k chybě:\r
|
||||
{1}`,`Při použití úpravy {0} došlo k chybě:\r
|
||||
{1}`,"Určuje, jestli editor spouští operaci, která se dá zrušit, např. Náhled na odkazy","Soubor je příliš velký a není možné provést operaci nahradit vše.","&&Najít","Žádné shody. Zkuste hledat něco jiného.","Zadejte číslo pro přechod na konkrétní shodu (mezi 1 a {0})","Zadejte číslo mezi 1 a {0}.","Zadejte číslo mezi 1 a {0}.","&&Nahradit","Najít","Najít s argumenty","Najít s výběrem","Najít další","Najít předchozí","Přejít na shodu…","Najít další výběr","Najít předchozí výběr","Nahradit","Ikona, která označuje, že vyhledávací widget v editoru je sbalený","Ikona, která označuje, že vyhledávací widget v editoru je rozbalený","Ikona pro operaci Najít ve výběru ve vyhledávacím widgetu editoru","Ikona pro operaci Nahradit ve vyhledávacím widgetu editoru","Ikona pro operaci Nahradit vše ve vyhledávacím widgetu editoru","Ikona pro operaci Najít předchozí ve vyhledávacím widgetu editoru","Ikona pro operaci Najít další ve vyhledávacím widgetu editoru","Najít/Nahradit","Najít","Najít","Předchozí shoda","Další shoda","Najít ve výběru","Zavřít","Nahradit","Nahradit","Nahradit","Nahradit vše","Přepnout nahrazení","Zvýrazněno je pouze několik prvních výsledků ({0}), ale všechny operace hledání fungují na celém textu.","{0} z {1}","Žádné výsledky","Nalezeno: {0}","Nalezeno: {0} pro: {1}","Nalezeno: {0} pro: {1} v: {2}","Nalezeno: {0} pro: {1}","Rozbalit","Rozbalit rekurzivně","Sbalit","Přepnout sbalení","Sbalit rekurzivně","Přepnout možnost Sbalit rekurzivně","Sbalit všechny komentáře k bloku","Sbalit všechny oblasti","Rozbalit všechny oblasti","Sbalit všechny kromě vybraných","Rozbalit všechny kromě vybraných","Sbalit vše","Rozbalit vše","Přejít na nadřazenou část","Přejít na předchozí rozsah sbalení","Přejít na další rozsah sbalení","Vytvořit rozsah sbalení z výběru","Odebrat rozsahy manuálního sbalení","Přepnout přeložení importu","Sbalit úroveň {0}","Barva pozadí za sbalenými rozsahy. Barva nesmí být neprůhledná, aby se nepřekryly dekorace pod tím.","Barva sbaleného textu po prvním řádku sbaleného rozsahu","Barva ovládacího prvku pro sbalení v mezeře u okraje editoru","Ikona pro rozbalené rozsahy v okraji piktogramu editoru","Ikona pro sbalené rozsahy v okraji piktogramu editoru","Ikona pro manuálně sbalené rozsahy v okraji piktogramu editoru.","Ikona pro manuálně rozbalené rozsahy v okraji piktogramu editoru.","Kliknutím rozbalíte rozsah.","Kliknutím sbalíte rozsah.","Zvětšit velikost písma editoru","Zmenšit velikost písma editoru","Obnovit velikost písma editoru","Formátovat dokument","Formátovat výběr","Ikona pro přechod na další značku","Ikona pro přechod na předchozí značku","Další &&problém","Předchozí &&problém","Přejít na další problém (chyba, upozornění, informace)","Přejít na předchozí problém (chyba, upozornění, informace)","Přejít na další problém v souborech (chyba, upozornění, informace)","Přejít na předchozí problém v souborech (chyba, upozornění, informace)","Chyba","Upozornění","Informace","Tip","{0} v {1} ","Problémy: {0} z {1}","Problémy: {0} z {1}","Barva chyby widgetu navigace mezi značkami v editoru","Chybové záhlaví pozadí widgetu navigace mezi značkami v editoru.","Barva upozornění widgetu navigace mezi značkami v editoru","Varovné záhlaví pozadí widgetu navigace mezi značkami v editoru.","Barva informací widgetu navigace mezi značkami v editoru","Informační záhlaví pozadí widgetu navigace mezi značkami v editoru.","Pozadí widgetu navigace mezi značkami v editoru","Náhled","Definice","Nenalezena žádná definice pro {0}","Nenalezena žádná definice","Přejít k &&definici","Deklarace","Nenalezena žádná deklarace pro {0}","Nenalezena žádná deklarace","Přejít na &&deklaraci","Nenalezena žádná deklarace pro {0}","Nenalezena žádná deklarace","Definice typů","Nenalezena žádná definice typu pro {0}","Nenalezena žádná definice typu","Přejít k &&definici typu","Implementace","Nenalezena žádná implementace pro {0}","Nenalezena žádná implementace","Přejít na &&implementace","Nenalezeny žádné odkazy pro {0}","Nenalezeny žádné odkazy","Přejít na &&odkazy","Odkazy","Odkazy","Umístění","Žádné výsledky pro: {0}","Odkazy","Přejít k definici","Otevřít definici na boku","Náhled definice","Přejít na deklaraci","Náhled deklarace","Přejít k definici typu","Náhled definice typu","Přejít na implementace","Náhled implementací","Přejít na odkazy","Náhled na odkazy","Přejít na libovolný symbol","Kliknutím zobrazíte definice ({0}).","Určuje, jestli je náhled odkazu viditelný, třeba Náhled na odkazy nebo Náhled definice.","Načítání...","{0} ({1})","Odkazy: {0}","Počet odkazů: {0}","Odkazy","není k dispozici žádný náhled","Žádné výsledky","Odkazy","v {0} n
Line truncated
|
||||
\r
|
||||
Doporučujeme je odebrat ze souboru. Lze to nakonfigurovat prostřednictvím nastavení editor.unusualLineTerminators.`,"&&Odstranit neobvyklé ukončovací znaky řádku","Ignorovat","Barva pozadí symbolu při čtení, například při čtení proměnné. Barva nesmí být neprůhledná, aby se nepřekryly dekorace pod tím.","Barva pozadí symbolu při zápisu, například při zápisu proměnné. Barva nesmí být neprůhledná, aby se nepřekryly dekorace pod tím.","Barva pozadí textového výskytu symbolu. Barva nesmí být neprůhledná, aby se nepřekryly dekorace.","Barva ohraničení symbolu při čtení, například při čtení proměnné","Barva ohraničení symbolu při zápisu, například při zápisu do proměnné","Barva ohraničení textového výskytu symbolu.","Barva značky přehledového pravítka pro zvýraznění symbolů. Barva nesmí být neprůhledná, aby se nepřekryly dekorace pod tím.","Barva značky přehledového pravítka pro zvýraznění symbolů s oprávněním k zápisu. Barva nesmí být neprůhledná, aby se nepřekryly dekorace pod tím.","Barva značky přehledového pravítka textového výskytu symbolu. Barva nesmí být neprůhledná, aby se nepřekryly dekorace.","Přejít na další zvýraznění symbolu","Přejít na předchozí zvýraznění symbolu","Aktivovat zvýraznění symbolů","Odstranit slovo","Chyba na pozici","Chyba","Upozornění na pozici","Upozornění","Chyba na řádku","Chyba na řádku","Upozornění na řádku","Upozornění na řádku","Složená oblast na řádku","Sbalené","Zarážka na řádku","Zarážka","Vložený návrh na řádku","Návrh dalších úprav na řádku","Návrh dalších úprav","Rychlá oprava terminálu","Rychlá oprava","Ladicí program se zastavil na zarážce.","Zarážka","Žádné tipy pro vložené upozornění na řádku","Žádné vložené upozornění","Úloha dokončena","Úloha dokončena","Úloha se nezdařila","Úloha se nezdařila","Příkaz terminálu se nezdařil.","Provedení příkazu se nezdařilo","Příkaz terminálu byl úspěšný.","Příkaz byl úspěšný.","Zvonek terminálu","Zvonek terminálu","Buňka poznámkového bloku dokončena","Buňka poznámkového bloku dokončena","Buňka poznámkového bloku selhala.","Buňka poznámkového bloku selhala.","Vložen rozdílový řádek","Rozdílový řádek odstraněn","Rozdílný řádek změněn","Upravit upravený soubor chatu","Soubor změněný z úprav chatu","Žádost o chat se odeslala.","Žádost o chat odeslána","Odpověď chatu byla přijata.","Aktivována žádost o akci kódu","Aktivována žádost o akci kódu","Aplikována akce kódu","Průběh","Průběh","Vymazat","Vymazat","Uložit","Uložit","Formát","Formát","Záznam hlasu byl spuštěn.","Záznam hlasu byl zastaven","Zachované úpravy","Zachované úpravy","Vrátit zpět úpravy","Úpravy vrácené zpět","Je vyžadována akce uživatele chatu.","Je vyžadována akce uživatele chatu.","Zobrazit","Nápověda","Test","Soubor","Předvolby","Vývojář","{0} ({1})","{0} ({1})",`{0}\r
|
||||
[{1}] {2}`,"{1} až {0}","{0} ({1})","Skrýt","Obnovit nabídku","Skrýt {0}","Nakonfigurovat klávesovou zkratku","{0} pro použití, {1} pro verzi Preview","Stisknutím {0} použijete","{0}, důvod zakázání: {1}","Widget akce","Barva pozadí pro přepínané položky akcí na panelu akcí.","Určuje, jestli je seznam widgetů akcí viditelný.","Skrýt widget akcí","Vybrat předchozí akci","Vybrat další akci","Přijmout vybranou akci","Zobrazit náhled vybrané akce","Potlačení výchozí konfigurace jazyka","Nakonfigurujte nastavení, které se má přepsat pro {0}.","Nakonfigurujte nastavení editoru, které se má přepsat pro daný jazyk.","Toto nastavení nepodporuje konfiguraci podle jazyka.","Nakonfigurujte nastavení editoru, které se má přepsat pro daný jazyk.","Toto nastavení nepodporuje konfiguraci podle jazyka.","Nejde zaregistrovat prázdnou vlastnost.","Nelze zaregistrovat {0}. Odpovídá to vzoru vlastnosti \\\\ [. * \\\\]$ pro popis nastavení editoru specifického pro daný jazyk. Použijte příspěvek configurationDefaults.","Nelze zaregistrovat {0}. Tato vlastnost už je zaregistrovaná.","Nelze zaregistrovat {0}. Přidružená zásada {1} je už zaregistrovaná v {2}.","Příkaz, který vrací informace o kontextových klíčích","Prázdný výraz kontextového klíče","Nezapomněli jste napsat výraz? Můžete také nastavit false nebo true, aby vždy došlo k vyhodnocení jako false nebo true.","„In“ po „not“.","pravá závorka „)“","Neočekávaný token","Nezapomněli jste před token vložit && nebo ||?","Neočekávaný konec výrazu","Nezapomněli jste vložit kontextový klíč?",`Očekáváno: {0}\r
|
||||
Přijato:{1}`,"Určuje, jestli je operačním systémem macOS.","Určuje, jestli je operačním systémem Linux.","Určuje, jestli je operačním systémem Windows.","Určuje, jestli je daná platforma webový prohlížeč.","Určuje, jestli je operačním systémem macOS na platformě bez prohlížeče.","Určuje, jestli je operačním systémem iOS","Jestli je platforma mobilní webový prohlížeč","Typ kvality VS Code","Určuje, jestli je fokus klávesnice uvnitř vstupního pole.","Měli jste na mysli {0}?","Měli jste na mysli {0} nebo {1}?","Měli jste na mysli {0}, {1} nebo {2}?","Nezapomněli jste nabídku otevřít nebo zavřít?","Nezapomněli jste uvozit znak lomítka (/)? Před řídicí znak vložte dvě zpětná lomítka, např. \\\\/.","Určuje, jestli jsou viditelné návrhy.","Podržením {0} klávesy najeďte myší","Probíhá načítání...","({0}) byla stisknuta. Čekání na druhou klávesu...","Došlo ke stisknutí ({0}). Čeká se na další klíč akordu","Kombinace kláves ({0}, {1}) není příkaz.","Kombinace kláves ({0}, {1}) není příkaz.","Pracovní plocha","Mapuje se na klávesu Control ve Windows a Linuxu a na klávesu Command v macOS.","Mapuje se na klávesu Alt ve Windows a Linuxu a na klávesu Option v macOS.","Modifikátor, který se má použít k přidání položky do stromů a seznamů při výběru více položek myší (například v průzkumníkovi, otevřených editorech a zobrazení scm). Gesta myší Otevřít na boku (pokud jsou podporována) se upraví tak, aby nebyla s modifikátorem vícenásobného výběru v konfliktu.","Určuje, jak se mají otevírat položky ve stromech a seznamech pomocí myši (pokud je podporováno). Poznámka: Některé stromy a seznamy mohou toto nastavení ignorovat, pokud není relevantní.","Určuje, jestli seznamy a stromy podporují vodorovné posouvání na pracovní ploše. Upozornění: Povolení tohoto nastavení má vliv na výkon.","Určuje, zda bude kliknutí na stránce posuvníku posunuto po stránce.","Určuje odsazení stromu v pixelech.","Určuje, jestli se mají ve stromu vykreslovat vodítka odsazení.","Určuje, jestli se budou seznamy a stromy posouvat plynule.","Multiplikátor, který se má použít pro hodnoty deltaX a deltaY událostí posouvání kolečka myši","Multiplikátor rychlosti posouvání při podržené klávese Alt","Zvýraznění prvků při vyhledávání. Další navigace nahoru a dolů prochází pouze zvýrazněné prvky.","Umožňuje filtrovat elementy při hledání.","Ovládá výchozí režim vyhledávání pro seznamy a stromy v pracovní ploše.","Při jednoduché navigaci pomocí klávesnice se fokus přesouvá na elementy, které odpovídají vstupu z klávesnice. Shoda se vyhledává pouze podle předpon.","Funkce zvýraznění navigace pomocí klávesnice zvýrazní elementy, které odpovídají vstupu z klávesnice. Při další navigaci nahoru a dolů se bude navigovat pouze po zvýrazněných elementech.","Funkce filtrování navigace pomocí klávesnice odfiltruje a skryje všechny elementy, které neodpovídají vstupu z klávesnice.","Určuje styl navigace pomocí klávesnice pro seznamy a stromy na pracovní ploše. Lze použít tyto styly navigace: jednoduchý, zvýraznění a filtr.","Místo toho prosím použijte workbench.list.defaultFindMode a workbench.list.typeNavigationMode.","Při hledání použijte přibližné shody.","Při hledání použijte souvislou shodu.","Určuje typ shody, který se používá při vyhledávání seznamů a stromů na pracovní ploše.","Určuje, jak se stromové složky rozbalují, když se klikne na jejich název. Poznámka: Některé stromy a seznamy můžou toto nastavení ignorovat, pokud se nedá použít.","Určuje, jestli je ve stromech povolené pevné posouvání.","Určuje počet rychlých prvků zobrazených ve stromu, když je povolená možnost {0}.","Určuje, jak funguje navigace typu v seznamech a stromech na pracovní ploše. Když se nastaví na trigger, navigace typu začne po spuštění příkazu „list.triggerTypeNavigation“.","Chyba","Upozornění","Informace","Chyby","Upozornění","Informace","Problémy jsou pozastaveny, protože: {0}","Problémy jsou pozastavené, protože: {0} a {1} atd.","naposledy použité","podobné příkazy","běžně používané","další příkazy","podobné příkazy","{0}, {1}","Výsledkem příkazu {0} je chyba.","{0}, {1}","Určuje, jestli je fokus klávesnice uvnitř ovládacího prvku rychlého vstupu.","Zarovnání rychlého vstupu","Typ aktuálně viditelného rychlého vstupu","Určuje, jestli se kurzor v dialogu rychlého vstupu nachází na konci vstupního pole.","Zpět","Stisknutím klávesy Enter potvrdíte vstup. Klávesou Esc akci zrušíte.","{0}/{1}","Pokud chcete zúžit počet výsledků, začněte psát.","OK","{0} (Potvrdíte stisknutím klávesy Enter. Zrušíte klávesou Esc.)","Používá se v kontextu jakéhokoli typu rychlého vstupu. Pokud změn
Line truncated
|
||||
@@ -0,0 +1,17 @@
|
||||
define("vs/nls.messages.de.js",["./_commonjsHelpers-CT9FvmAN"],(function(r){"use strict";var e={};/*!-----------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Version: 0.55.1(516f350bdaf7a82f6731bd128a9ec86a6e5fa47d)
|
||||
* Released under the MIT license
|
||||
* https://github.com/microsoft/vscode/blob/main/LICENSE.txt
|
||||
*-----------------------------------------------------------*/var n;function i(){return n||(n=1,globalThis._VSCODE_NLS_MESSAGES=["{0} ({1})","Eingabe","Groß-/Kleinschreibung beachten","Nur ganzes Wort suchen","Regulären Ausdruck verwenden","Eingabe","Groß-/Kleinschreibung beibehalten",'Überprüfen Sie dies in der barrierefreien Ansicht mit "{0}".','Überprüfen Sie dies in der barrierefreien Ansicht über den Befehl "Barrierefreie Ansicht öffnen", der zurzeit nicht über eine Tastenzuordnung ausgelöst werden kann.',"Fehler: {0}","Warnung: {0}","Info: {0}"," oder {0} für Verlauf"," ({0} für Verlauf)","Gelöschte Eingabe","Ungebunden","Auswahlfeld","Weitere Aktionen...","Zum Suchen eingeben","Schließen","Zum Suchen eingeben","Keine Ergebnisse gefunden.","Keine Ergebnisse","{0} Ergebnisse","Zum Filtern Text eingeben","Zum Suchen eingeben","Filter","Fuzzyübereinstimmung","(leer)","{0}: {1}","Ein Systemfehler ist aufgetreten ({0}).","Ein unbekannter Fehler ist aufgetreten. Weitere Details dazu finden Sie im Protokoll.","Ein unbekannter Fehler ist aufgetreten. Weitere Details dazu finden Sie im Protokoll.","{0} ({1} Fehler gesamt)","Ein unbekannter Fehler ist aufgetreten. Weitere Details dazu finden Sie im Protokoll.","STRG","UMSCHALTTASTE","ALT","Windows","STRG","UMSCHALTTASTE","ALT","Super","Steuern","UMSCHALTTASTE","Option","Befehl","Steuern","UMSCHALTTASTE","ALT","Windows","Steuern","UMSCHALTTASTE","ALT","Super","Erweiterungen","Integriertes Terminal","Chat","Telemetrie","Aktualisieren","Editor","Auf den Editor kann zurzeit nicht zugegriffen werden.","{0} Um den für die Sprachausgabe optimierten Modus zu aktivieren, verwenden Sie {1}","{0} Um den für die Sprachausgabe optimierten Modus zu aktivieren, öffnen Sie die Schnellauswahl mit {1}, und führen Sie den Befehl „Barrierefreiheitsmodus der Bildschirmsprachausgabe umschalten“ aus, der derzeit nicht über die Tastatur ausgelöst werden kann.","{0} Weisen Sie eine Tastenzuordnung für den Befehl „Barrierefreiheitsmodus der Sprachausgabe umschalten“ zu, indem Sie mit auf den Editor für Tastenzuordnungen zugreifen {1} und ihn ausführen.","Editor","Auch bei längeren Zeilen am Ende bleiben","Auch bei längeren Zeilen am Ende bleiben","Sekundäre Cursor entfernt","&&Rückgängig","Rückgängig","Rückgängig","&&Wiederholen","Wiederholen","Wiederholen","&&Alles auswählen","Alle auswählen","Alle auswählen","Verwenden des DOM-basierten Renderings","Gibt an, ob der Standbymodus von Inlinevervollständigungen derzeit aktiviert ist","Dauer für das Erinnern bei Inlinevorschlägen auswählen","Standbymodus von Inlinevorschlägen aktivieren","Aktivierung des Standbymodus von Inlinevorschlägen abbrechen","Die Anzahl der Cursor wurde auf {0} beschränkt. Erwägen Sie die Verwendung von [Suchen und Ersetzen](https://code.visualstudio.com/docs/editor/codebasics#_find-und-ersetzen) für größere Änderungen, oder erhöhen Sie die Multicursorbegrenzungseinstellung des Editors.","Erhöhen des Grenzwerts für mehrere Cursor",'"Unveränderte Bereiche reduzieren" umschalten','"Verschobene Codeblöcke anzeigen" umschalten','"Bei eingeschränktem Speicherplatz Inlineansicht verwenden" umschalten',"Diff-Editor","Seite wechseln","Vergleichsmodus beenden","Alle unveränderten Regionen reduzieren","Alle unveränderten Regionen anzeigen","Zurücksetzen","Barrierefreier Diff-Viewer","Zum nächsten Unterschied wechseln","Zum vorherigen Unterschied wechseln",'Symbol für "Einfügen" im barrierefreien Diff-Viewer.','Symbol für "Entfernen" im barrierefreien Diff-Viewer.','Symbol für "Schließen" im barrierefreien Diff-Viewer.',"Schließen","Barrierefreier Diff-Viewer. Verwenden Sie den Pfeil nach oben und unten, um zu navigieren.","keine geänderten Zeilen","1 Zeile geändert","{0} Zeilen geändert","Unterschied {0} von {1}: ursprüngliche Zeile {2}, {3}, geänderte Zeile {4}, {5}","leer","{0}: unveränderte Zeile {1}","{0} ursprüngliche Zeile {1} geänderte Zeile {2}","+ {0} geänderte Zeile(n) {1}","– {0} Originalzeile {1}"," verwenden Sie {0}, um die Hilfe zur Barrierefreiheit zu öffnen.","Gelöschte Zeilen kopieren","Gelöschte Zeile kopieren","Geänderte Zeilen kopieren","Geänderte Zeile kopieren","Gelöschte Zeile kopieren ({0})","Geänderte Zeile ({0}) kopieren","Diese Änderung rückgängig machen","Bei eingeschränktem Speicherplatz Inlineansicht verwenden","Verschobene Codeblöcke anzeigen","Block wiederherstellen","Auswahl wiederherstellen","Barrierefreien Diff-Viewer öffnen","Unveränderten Bereich falten","{0} ausgeblendete Linien","Klicken oder ziehen Sie, um oben mehr anzuzeigen.","Unveränderte Regionen anzeigen","Klicken oder ziehen Sie, um unten mehr anzuzeigen.","{0} ausgeblendete Linien","Zum Auffalten doppelklicken","Code mit Änderungen in Zeile {0}-{1} verschoben","Code mit Änderungen aus Zeile {0}-{1} verschoben","Code in Zeile {0}-{1} verschoben","Code aus Zeile {0}-{1} verschoben","Ausgewählte Änderungen zurücksetzen","ÄndLine truncated
|
||||
– Verwenden Sie 0, um die Zeilenhöhe automatisch anhand des Schriftgrads zu berechnen.\r
|
||||
– Werte zwischen 0 und 8 werden als Multiplikator mit dem Schriftgrad verwendet.\r
|
||||
– Werte größer oder gleich 8 werden als effektive Werte verwendet.`,"Steuert, ob die Minimap angezeigt wird.","Die Minimap wird immer angezeigt.","Die Minimap wird ausgeblendet, wenn sich der Cursor nicht über der Minimap befindet, und eingeblendet, wenn der Cursor auf die Minimap zeigt.","Die Minimap wird nur angezeigt, wenn der Editor gescrollt wird.","Steuert, ob die Minimap automatisch ausgeblendet wird.","Die Minimap hat die gleiche Größe wie der Editor-Inhalt (und kann scrollen).","Die Minimap wird bei Bedarf vergrößert oder verkleinert, um die Höhe des Editors zu füllen (kein Scrollen).","Die Minimap wird bei Bedarf verkleinert, damit sie nicht größer als der Editor ist (kein Scrollen).","Legt die Größe der Minimap fest.","Steuert die Seite, wo die Minimap gerendert wird.","Steuert, wann der Schieberegler für die Minimap angezeigt wird.","Maßstab des in der Minimap gezeichneten Inhalts: 1, 2 oder 3.","Die tatsächlichen Zeichen in einer Zeile rendern im Gegensatz zu Farbblöcken.","Begrenzen Sie die Breite der Minimap, um nur eine bestimmte Anzahl von Spalten zu rendern.","Steuert, ob benannte Bereiche als Abschnittsheader in der Minimap angezeigt werden.","Steuert, ob „MARK: Kommentare“ als Abschnittsheader in der Minimap angezeigt werden.",'Definiert den regulären Ausdruck, der zum Suchen von Abschnittsheadern in Kommentaren verwendet wird. Der RegEx muss eine benannte Übereinstimmungsgruppe "label" (geschrieben als "(?<label>.+)") enthalten, die den Abschnittsheader kapselt, andernfalls funktioniert er nicht. Optional können Sie eine andere Übereinstimmungsgruppe mit dem Namen "separator" einschließen. Verwenden Sie \\n im Muster, um mehrzeilige Header zuzuordnen.',"Steuert den Schriftgrad von Abschnittsüberschriften in der Minimap.","Steuert den Abstand (in Pixeln) zwischen den Zeichen der Abschnittsüberschrift. Dies erleichtert die Lesbarkeit der Kopfzeile bei kleinen Schriftgrößen.","Steuert den Abstand zwischen dem oberen Rand des Editors und der ersten Zeile.","Steuert den Abstand zwischen dem unteren Rand des Editors und der letzten Zeile.","Aktiviert ein Pop-up, das Dokumentation und Typ eines Parameters anzeigt während Sie tippen.","Steuert, ob das Menü mit Parameterhinweisen zyklisch ist oder sich am Ende der Liste schließt.","Schnelle Vorschläge werden im Vorschlagswidget angezeigt","Schnelle Vorschläge werden als inaktiver Text angezeigt","Schnelle Vorschläge sind deaktiviert","Schnellvorschläge innerhalb von Zeichenfolgen aktivieren.","Schnellvorschläge innerhalb von Kommentaren aktivieren.","Schnellvorschläge außerhalb von Zeichenfolgen und Kommentaren aktivieren.","Steuert, ob Vorschläge während des Tippens automatisch angezeigt werden sollen. Dies kann bei der Eingabe von Kommentaren, Zeichenketten und anderem Code kontrolliert werden. Schnellvorschläge können so konfiguriert werden, dass sie als Geistertext oder mit dem Vorschlags-Widget angezeigt werden. Beachten Sie auch die {0}-Einstellung, die steuert, ob Vorschläge durch Sonderzeichen ausgelöst werden.","Zeilennummern werden nicht dargestellt.","Zeilennummern werden als absolute Zahl dargestellt.","Zeilennummern werden als Abstand in Zeilen an Cursorposition dargestellt.","Zeilennummern werden alle 10 Zeilen dargestellt.","Steuert die Anzeige von Zeilennummern.","Anzahl der Zeichen aus Festbreitenschriftarten, ab der dieses Editor-Lineal gerendert wird.","Farbe dieses Editor-Lineals.","Vertikale Linien nach einer bestimmten Anzahl von Monospacezeichen rendern. Verwenden Sie mehrere Werte für mehrere Linien. Wenn das Array leer ist, werden keine Linien gerendert.","Die vertikale Bildlaufleiste wird nur bei Bedarf angezeigt.","Die vertikale Bildlaufleiste ist immer sichtbar.","Die vertikale Bildlaufleiste wird immer ausgeblendet.","Steuert die Sichtbarkeit der vertikalen Bildlaufleiste.","Die horizontale Bildlaufleiste wird nur bei Bedarf angezeigt.","Die horizontale Bildlaufleiste ist immer sichtbar.","Die horizontale Bildlaufleiste wird immer ausgeblendet.","Steuert die Sichtbarkeit der horizontalen Bildlaufleiste.","Die Breite der vertikalen Bildlaufleiste.","Die Höhe der horizontalen Bildlaufleiste.","Steuert, ob Klicks nach Seite scrollen oder zur Klickposition springen.","Wenn diese Option festgelegt ist, wird die Größe des Editorinhalts nicht durch die horizontale Scrollleiste vergrößert.","Legt fest, ob alle nicht einfachen ASCII-Zeichen hervorgehoben werden. Nur Zeichen zwischen U+0020 und U+007E, Tabulator, Zeilenvorschub und Wagenrücklauf gelten als einfache ASCII-Zeichen.","Legt fest, ob Zeichen, die nur als Platzhalter dienen oder überhaupt keine Breite haben, hervorgehoben werden.","Legt fest, ob Zeichen hervorgehoben werden, die mit einfachen ASCII-Zeichen verwechselt werden können, mit Ausnahme derjenigen, die im aktuellen Gebietsschema des Benutzers üblich sind.","Steuert, ob Zeichen in Kommentaren auch mit Unicode-Hervorhebung versehen werden sollen.","S
Line truncated
|
||||
Wenn mehrere Bearbeitungen für diese Art vorhanden sind, zeigt der Editor eine Auswahl an. Wenn keine Bearbeitungen dieser Art vorhanden sind, zeigt der Editor eine Fehlermeldung an.`,`Liste der bevorzugten Einfügebearbeitungsarten, die angewendet werden sollen.\r
|
||||
Die erste Bearbeitung, die den Einstellungen entspricht, wird angewendet.`,"Einfügen als...","Als Text einfügen","Gibt an, ob das Einfügewidget angezeigt wird.","Einfügeoptionen anzeigen...","Leer","Es wurden keine Einfügebearbeitungen für „{0}“ gefunden.","Die Einfügebearbeitung für '{0}' wird aufgelöst. Klicken Sie hier, um den Vorgang abzubrechen.","Einfügehandler werden ausgeführt. Klicken Sie hier, um den Vorgang abzubrechen und ein einfaches Einfügen auszuführen.","Konfigurieren der Standardaktion zum Einfügen","Einfügeaktion auswählen","Einfügehandler werden ausgeführt","Nur-Text einfügen","URI einfügen","URI einfügen","Pfade einfügen","Pfad einfügen","Relative Pfade einfügen","Relativen Pfad einfügen","HTML einfügen","Gibt an, ob das Ablagewidget angezeigt wird.","Ablageoptionen anzeigen...","Drophandler werden ausgeführt. Klicken Sie hier, um den Vorgang abzubrechen.",`Fehler beim Auflösen der Bearbeitung "{0}":\r
|
||||
{1}`,`Fehler beim Anwenden der Bearbeitung "{0}":\r
|
||||
{1}`,'Gibt an, ob der Editor einen abbrechbaren Vorgang ausführt, z. B. "Verweisvorschau".',"Die Datei ist zu groß, um einen Vorgang zum Ersetzen aller Elemente auszuführen.","&&Suchen","Keine Übereinstimmungen. Versuchen Sie, nach etwas anderem zu suchen.","Geben Sie eine Zahl ein, um zu einer bestimmten Übereinstimmung zu wechseln (zwischen 1 und {0}).","Zahl zwischen 1 und {0} eingeben","Zahl zwischen 1 und {0} eingeben","&&Ersetzen","Suchen","Mit Argumenten suchen","Mit Auswahl suchen","Weitersuchen","Vorheriges Element suchen","Zu Übereinstimmung wechseln ...","Nächste Auswahl suchen","Vorherige Auswahl suchen","Ersetzen","Symbol für die Anzeige, dass das Editor-Such-Widget zugeklappt wurde.","Symbol für die Anzeige, dass das Editor-Such-Widget aufgeklappt wurde.",'Symbol für "In Auswahl suchen" im Editor-Such-Widget.','Symbol für "Ersetzen" im Editor-Such-Widget.','Symbol für "Alle ersetzen" im Editor-Such-Widget.','Symbol für "Vorheriges Element suchen" im Editor-Such-Widget.','Symbol für "Nächstes Element suchen" im Editor-Such-Widget.',"Suchen/Ersetzen","Suchen","Suchen","Vorherige Übereinstimmung","Nächste Übereinstimmung","In Auswahl suchen","Schließen","Ersetzen","Ersetzen","Ersetzen","Alle ersetzen","Ersetzen umschalten","Nur die ersten {0} Ergebnisse wurden hervorgehoben, aber alle Suchoperationen werden auf dem gesamten Text durchgeführt.","{0} von {1}","Keine Ergebnisse","{0} gefunden",'{0} für "{1}" gefunden','{0} für "{1}" gefunden, bei {2}','{0} für "{1}" gefunden',"Auffalten","Faltung rekursiv aufheben","Falten","Einklappung umschalten","Rekursiv falten","Rekursiv falten umschalten","Alle Blockkommentare falten","Alle Regionen falten","Alle Regionen auffalten","Alle bis auf ausgewählte falten","Alle bis auf ausgewählte auffalten","Alle falten","Alle auffalten","Zur übergeordneten Reduzierung wechseln","Zum vorherigen Faltbereich wechseln","Zum nächsten Faltbereich wechseln","Faltungsbereich aus Auswahl erstellen","Manuelle Faltbereiche entfernen","Importfaltung umschalten","Faltebene {0}","Hintergrundfarbe hinter gefalteten Bereichen. Die Farbe darf nicht deckend sein, sodass zugrunde liegende Dekorationen nicht ausgeblendet werden.","Farbe des reduzierten Texts nach der ersten Zeile eines gefalteten Bereichs.","Farbe des Faltsteuerelements im Editor-Bundsteg.","Symbol für aufgeklappte Bereiche im Editor-Glyphenrand.","Symbol für zugeklappte Bereiche im Editor-Glyphenrand.","Symbol für manuell reduzierte Bereiche im Glyphenrand des Editors.","Symbol für manuell erweiterte Bereiche im Glyphenrand des Editors.","Klicken Sie hier, um den Bereich zu erweitern.","Klicken Sie hier, um den Bereich zu reduzieren.","Schriftgrad des Editors erhöhen","Schriftgrad des Editors verringern","Editor-Schriftgrad zurücksetzen","Dokument formatieren","Auswahl formatieren","Symbol für den Marker zum Wechseln zum nächsten Element.","Symbol für den Marker zum Wechseln zum vorherigen Element.","Nächstes &&Problem","Vorheriges &&Problem","Gehe zu nächstem Problem (Fehler, Warnung, Information)","Gehe zu vorigem Problem (Fehler, Warnung, Information)","Gehe zu dem nächsten Problem in den Dateien (Fehler, Warnung, Info)","Gehe zu dem vorherigen Problem in den Dateien (Fehler, Warnung, Info)","Fehler","Warnung","Info","Hinweis","{0} bei {1}. ","{0} von {1} Problemen","{0} von {1} Problemen","Editormarkierung: Farbe bei Fehler des Navigationswidgets.","Hintergrund der Fehlerüberschrift des Markernavigationswidgets im Editor.","Editormarkierung: Farbe bei Warnung des Navigationswidgets.","Hintergrund der Warnungsüberschrift des Markernavigationswidgets im Editor.","Editormarkierung: Farbe bei Information des Navigationswidgets.","Hintergrund der Informationsüberschrift des Markernavigationswidgets im Editor.","Editormarkierung: Hintergrund des Navigationswidgets.","Vorschau","Definitionen",'Keine Definition gefunden für "{0}".',"Keine Definition gefunden","Gehe &&zu Definition","Deklarationen",'Keine Deklaration für "{0}" gefunden.',"Keine Deklaration gefunden.","Gehe zu &&Deklaration",'Keine Deklaration für "{0}" gefunden.',"Keine Deklaration gefunden.","Typdefinitionen",'Keine Typendefinition gefunden für "{0}"',"Keine Typendefinition gefunden","Zur &&Typdefinition wechseln","Implementierungen",'Keine Implementierung gefunden für "{0}"',"Keine Implementierung gefunden","Gehe zu &&Implementierungen",'Für "{0}" wurden keine Verweise gefunden.',"Keine Referenzen gefunden","Gehe zu &&Verweisen","Verweise","Verweise","Speicherorte",'Keine Ergebnisse für "{0}"',"Verweise","Gehe zu Definition","Definition an der Seite öffnen","Definition einsehen","Zur Deklaration wechseln","Vorschau für Deklaration anzeigen","Zur Typdefinition wechseln","Vorschau der Typdefinition anzeigen","Gehe zu Implementierungen","Vorschau für Implementierungen anzeigen","Gehe zu Verweisen","Vorschau für Verweise anzeigen","Zum beliebigem Symbol wechseln","Klicken Sie, um {0} Definitionen a
Line truncated
|
||||
\r
|
||||
Es wird empfohlen, sie aus der Datei zu entfernen. Dies kann über "editor.unusualLineTerminators" konfiguriert werden.`,"&&Ungewöhnliche Zeilenabschlusszeichen entfernen","Ignorieren","Hintergrundfarbe eines Symbols beim Lesezugriff, z.B. beim Lesen einer Variablen. Die Farbe darf nicht deckend sein, damit sie nicht die zugrunde liegenden Dekorationen verdeckt.","Hintergrundfarbe eines Symbols bei Schreibzugriff, z.B. beim Schreiben in eine Variable. Die Farbe darf nicht deckend sein, weil sie sonst die zugrunde liegenden Dekorationen verdeckt.","Die Hintergrundfarbe eines Textteils für ein Symbol. Die Farbe darf nicht deckend sein, um zugrunde liegende Dekorationen nicht auszublenden.","Randfarbe eines Symbols beim Lesezugriff, wie etwa beim Lesen einer Variablen.","Randfarbe eines Symbols beim Schreibzugriff, wie etwa beim Schreiben einer Variablen.","Die Rahmenfarbe eines Textteils für ein Symbol.","Übersichtslinealmarkerfarbd für das Hervorheben von Symbolen. Die Farbe darf nicht deckend sein, weil sie sonst die zugrunde liegenden Dekorationen verdeckt.","Übersichtslinealmarkerfarbe für Symbolhervorhebungen bei Schreibzugriff. Die Farbe darf nicht deckend sein, weil sie sonst die zugrunde liegenden Dekorationen verdeckt.","Die Markierungsfarbe des Übersichtslineals eines Textteils für ein Symbol. Die Farbe darf nicht deckend sein, um zugrunde liegende Dekorationen nicht auszublenden.","Gehe zur nächsten Symbolhervorhebungen","Gehe zur vorherigen Symbolhervorhebungen","Symbol-Hervorhebung ein-/ausschalten","Wort löschen","Fehler an Position","Fehler","Warnung an Position","Warnung","Fehler in der Zeile","Fehler in Zeile","Warnung in der Zeile","Warnung in Zeile","Gefalteter Bereich in der Zeile","Gefaltet","Haltepunkt in der Zeile","Haltepunkt","Inlinevorschlag in der Zeile","Nächster Bearbeitungsvorschlag in der Zeile","Nächster Bearbeitungsvorschlag","Terminale schnelle Problembehebung","Schnelle Problembehebung","Debugger auf Haltepunkt beendet","Haltepunkt","Keine Inlay-Hinweise in der Zeile","Keine Inlay-Hinweise","Aufgabe abgeschlossen","Aufgabe abgeschlossen","Aufgabe fehlgeschlagen","Fehler bei Aufgabe","Terminalbefehl fehlgeschlagen","Befehl fehlgeschlagen","Terminalbefehl erfolgreich","Befehl erfolgreich","Terminalglocke","Terminalglocke","Notebookzelle abgeschlossen","Notebookzelle abgeschlossen","Notebookzelle fehlgeschlagen","Notebookzelle fehlgeschlagen","Vergleichslinie eingefügt","Vergleichslinie gelöscht","Vergleichslinie geändert","Geänderte Datei im Chat bearbeiten","Aus Chatbearbeitungen geänderte Datei","Chatanfrage gesendet","Chatanfrage gesendet","Chatantwort empfangen","Codeaktionsanforderung ausgelöst","Codeaktionsanforderung ausgelöst","Angewendete Codeaktion","Status","Status","Löschen","Löschen","Speichern","Speichern","Format","Formatieren","Sprachaufzeichnung gestartet","Sprachaufzeichnung beendet","Bearbeitungen beibehalten","Bearbeitungen beibehalten","Bearbeitungen rückgängig machen","Bearbeitungen rückgängig gemacht","Chatbenutzeraktion erforderlich","Chatbenutzeraktion erforderlich","Ansehen","Hilfe","Test","Datei","Einstellungen","Entwickler","{0} ({1})","{0} ({1})",`{0}\r
|
||||
[{1}] {2}`,"{1} bis {0}","{0} ({1})","Ausblenden","Menü zurücksetzen",'"{0}" ausblenden',"Tastenzuordnung konfigurieren","{0} zum Anwenden, {1} für Vorschau","{0} zum Anwenden","{0} deaktiviert, Grund: {1}","Aktionswidget","Hintergrundfarbe für umgeschaltete Aktionselemente in der Aktionsleiste.","Gibt an, ob die Aktionswidgetliste sichtbar ist.","Codeaktionswidget ausblenden","Vorherige Aktion auswählen","Nächste Aktion auswählen","Ausgewählte Aktion akzeptieren","Vorschau für ausgewählte Elemente anzeigen","Außerkraftsetzungen für die Standardsprachkonfiguration","Konfigurieren Sie Einstellungen, die für {0} überschrieben werden sollen.","Zu überschreibende Editor-Einstellungen für eine Sprache konfigurieren.","Diese Einstellung unterstützt keine sprachspezifische Konfiguration.","Zu überschreibende Editor-Einstellungen für eine Sprache konfigurieren.","Diese Einstellung unterstützt keine sprachspezifische Konfiguration.","Eine leere Eigenschaft kann nicht registriert werden.",'"{0}" kann nicht registriert werden. Stimmt mit dem Eigenschaftsmuster "\\\\[.*\\\\]$" zum Beschreiben sprachspezifischer Editor-Einstellungen überein. Verwenden Sie den Beitrag "configurationDefaults".','{0}" kann nicht registriert werden. Diese Eigenschaft ist bereits registriert.','"{0}" kann nicht registriert werden. Die zugeordnete Richtlinie {1} ist bereits bei {2} registriert.',"Ein Befehl, der Informationen zu Kontextschlüsseln zurückgibt","Leerer Kontextschlüsselausdruck","Haben Sie vergessen, einen Ausdruck zu schreiben? Sie können auch „false“ oder „true“ festlegen, um immer auf „false“ oder „true“ auszuwerten.","„in“ nach „not“.","schließende Klammer „)“","Unerwartetes Token","Haben Sie vergessen, && oder || vor dem Token einzufügen?","Unerwartetes Ende des Ausdrucks.","Haben Sie vergessen, einen Kontextschlüssel zu setzen?",`Erwartet: {0}\r
|
||||
Empfangen: „{1}“.`,"Gibt an, ob macOS als Betriebssystem verwendet wird.","Gibt an, ob Linux als Betriebssystem verwendet wird.","Gibt an, ob Windows als Betriebssystem verwendet wird.","Gibt an, ob es sich bei der Plattform um einen Webbrowser handelt.","Gibt an, ob macOS auf einer Nicht-Browser-Plattform als Betriebssystem verwendet wird.","Gibt an, ob iOS als Betriebssystem verwendet wird.","Gibt an, ob es sich bei der Plattform um einen mobilen Webbrowser handelt.","Qualitätstyp des VS Codes","Gibt an, ob sich der Tastaturfokus in einem Eingabefeld befindet.","Meinten Sie {0}?","Meinten Sie {0} oder {1}?","Meinten Sie {0}, {1} oder {2}?","Haben Sie vergessen, das Anführungszeichen zu öffnen oder zu schließen?","Haben Sie vergessen, das Zeichen „/“ (Schrägstrich) zu escapen? Setzen Sie zwei Backslashes davor, um es zu escapen, z. B. „\\\\/“.","Gibt an, ob Vorschläge sichtbar sind.","Halten Sie die {0}-Taste gedrückt, um mit der Maus darauf zu zeigen.","Wird geladen...","({0}) wurde gedrückt. Es wird auf die zweite Taste in der Kombination gewartet...","({0}) wurde gedrückt. Es wird auf die zweite Taste in der Kombination gewartet...","Die Tastenkombination ({0}, {1}) ist kein Befehl.","Die Tastenkombination ({0}, {1}) ist kein Befehl.","Workbench","Ist unter Windows und Linux der STRG-Taste und unter macOS der Befehlstaste zugeordnet.","Ist unter Windows und Linux der ALT-Taste und unter macOS der Wahltaste zugeordnet.",'Der Modifizierer zum Hinzufügen eines Elements in Bäumen und Listen zu einer Mehrfachauswahl mit der Maus (zum Beispiel im Explorer, in geöffneten Editoren und in der SCM-Ansicht). Die Mausbewegung "Seitlich öffnen" wird – sofern unterstützt – so angepasst, dass kein Konflikt mit dem Modifizierer für Mehrfachauswahl entsteht.',"Steuert, wie Elemente in Strukturen und Listen mithilfe der Maus geöffnet werden (sofern unterstützt). Bei übergeordneten Elementen, deren untergeordnete Elemente sich in Strukturen befinden, steuert diese Einstellung, ob ein Einfachklick oder ein Doppelklick das übergeordnete Elemente erweitert. Beachten Sie, dass einige Strukturen und Listen diese Einstellung ggf. ignorieren, wenn sie nicht zutrifft.","Steuert, ob Listen und Strukturen ein horizontales Scrollen in der Workbench unterstützen. Warnung: Das Aktivieren dieser Einstellung kann sich auf die Leistung auswirken.","Steuert, ob Klicks in der Bildlaufleiste Seite für Seite scrollen.","Steuert den Struktureinzug in Pixeln.","Steuert, ob die Struktur Einzugsführungslinien rendern soll.","Steuert, ob Listen und Strukturen einen optimierten Bildlauf verwenden.",'Ein Multiplikator, der für die Mausrad-Bildlaufereignisse "deltaX" und "deltaY" verwendet werden soll.',"Multiplikator für Scrollgeschwindigkeit bei Drücken von ALT.","Elemente beim Suchen hervorheben. Die Navigation nach oben und unten durchläuft dann nur die markierten Elemente.","Filterelemente bei der Suche.","Steuert den Standardsuchmodus für Listen und Strukturen in der Workbench.","Bei der einfachen Tastaturnavigation werden Elemente in den Fokus genommen, die mit der Tastatureingabe übereinstimmen. Die Übereinstimmungen gelten nur für Präfixe.","Hervorheben von Tastaturnavigationshervorgebungselemente, die mit der Tastatureingabe übereinstimmen. Beim nach oben und nach unten Navigieren werden nur die hervorgehobenen Elemente durchlaufen.","Durch das Filtern der Tastaturnavigation werden alle Elemente herausgefiltert und ausgeblendet, die nicht mit der Tastatureingabe übereinstimmen.",'Steuert die Tastaturnavigation in Listen und Strukturen in der Workbench. Kann "simple" (einfach), "highlight" (hervorheben) und "filter" (filtern) sein.',"Bitte verwenden Sie stattdessen „workbench.list.defaultFindMode“ und „workbench.list.typeNavigationMode“.","Verwenden Sie bei der Suche eine Fuzzyübereinstimmung.","Verwenden Sie bei der Suche eine zusammenhängende Übereinstimmung.","Steuert den Typ der Übereinstimmung, der beim Durchsuchen von Listen und Strukturen in der Workbench verwendet wird.","Steuert, wie Strukturordner beim Klicken auf die Ordnernamen erweitert werden. Beachten Sie, dass einige Strukturen und Listen diese Einstellung ggf. ignorieren, wenn sie nicht zutrifft.","Steuert, ob fester Bildlauf in Strukturen aktiviert ist.","Steuert die Anzahl der festen Elemente, die in der Struktur angezeigt werden, wenn {0} aktiviert ist.",'Steuert die Funktionsweise der Typnavigation in Listen und Strukturen in der Workbench. Bei einer Festlegung auf "trigger" beginnt die Typnavigation, sobald der Befehl "list.triggerTypeNavigation" ausgeführt wird.',"Fehler","Warnung","Info","Fehler","Warnungen","Infos",'Probleme sind angehalten, Grund: "{0}"','Probleme sind angehalten, Grund: "{0}" und {1} weitere',"zuletzt verwendet","ähnliche Befehle","häufig verwendet","andere Befehle","ähnliche Befehle","{0}, {1}",'Der Befehl "{0}" hat zu einem Fehler geführt.',"{0}, {1}","Gibt an, ob sich der Tastat
Line truncated
|
||||
@@ -0,0 +1,17 @@
|
||||
define("vs/nls.messages.es.js",["./_commonjsHelpers-CT9FvmAN"],(function(o){"use strict";var e={};/*!-----------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Version: 0.55.1(516f350bdaf7a82f6731bd128a9ec86a6e5fa47d)
|
||||
* Released under the MIT license
|
||||
* https://github.com/microsoft/vscode/blob/main/LICENSE.txt
|
||||
*-----------------------------------------------------------*/var a;function r(){return a||(a=1,globalThis._VSCODE_NLS_MESSAGES=["{0} ({1})","entrada","Coincidir mayúsculas y minúsculas","Solo palabras completas","Usar expresión regular","entrada","Conservar may/min","Inspeccione esto en la vista accesible con {0}.","Inspeccione esto en la vista accesible mediante el comando Abrir vista accesible, que actualmente no se puede desencadenar mediante el enlace de teclado.","Error: {0}","Advertencia: {0}","Información: {0}"," o {0} para el historial"," ({0} para el historial)","Entrada borrada","Sin enlazar","Seleccionar cuadro","Más Acciones...","Escriba texto para buscar","Cerrar","Escriba texto para buscar","No se encontraron resultados.","No hay resultados","{0} resultados","Escriba texto para filtrar","Escriba texto para buscar","Filtrar","Coincidencia aproximada","(vacío)","{0}: {1}","Error del sistema ({0})","Se ha producido un error desconocido. Consulte el registro para obtener más detalles.","Se ha producido un error desconocido. Consulte el registro para obtener más detalles.","{0} ({1} errores en total)","Se ha producido un error desconocido. Consulte el registro para obtener más detalles.","Ctrl","Mayús","Alt","Windows","Ctrl","Mayús","Alt","Super","Control","Mayús","Opción","Comando","Control","Mayús","Alt","Windows","Control","Mayús","Alt","Super","Extensiones","Terminal integrado","Chat","Telemetría","Actualizar","editor","No se puede acceder al editor en este momento.","{0} Para habilitar el modo optimizado para lectores de pantalla, use {1}","{0} Para habilitar el modo optimizado para lector de pantalla, abra la selección rápida con {1} y ejecute el comando Alternar modo de accesibilidad del lector de pantalla, que actualmente no se puede desencadenar mediante el teclado.","{0} Para asignar un enlace de teclado para el comando Alternar modo de accesibilidad del lector de pantalla, acceda al editor de enlaces de teclado con {1} y ejecútelo.","editor","Anclar al final incluso cuando se vayan a líneas más largas","Anclar al final incluso cuando se vayan a líneas más largas","Cursores secundarios quitados","&&Deshacer","Deshacer","Deshacer","&&Rehacer","Rehacer","Rehacer","&&Seleccionar todo","Seleccionar todo","Seleccionar todo","Uso de la representación basada en DOM","Si las finalizaciones insertadas están pospuestas actualmente","Seleccionar la duración de la pausa para las sugerencias insertadas","Posponer sugerencias insertadas","Cancelar posponer sugerencias insertadas","El número de cursores se ha limitado a {0}. Considere la posibilidad de usar [buscar y reemplazar](https://code.visualstudio.com/docs/editor/codebasics#_find-and-replace) para realizar cambios mayores o aumentar la configuración del límite de varios cursores del editor.","Aumentar el límite de varios cursores","Alternar contraer regiones sin cambios","Alternar Mostrar bloques de código movidos","Alternar el uso de la vista insertada cuando el espacio es limitado","Editor de diferencias","Lado del conmutador","Salir de la comparación de movimientos","Contraer todas las regiones sin cambios","Mostrar todas las regiones sin cambios","Revertir","Visor de diferencias accesibles","Ir a la siguiente diferencia","Ir a la diferencia anterior",'Icono de "Insertar" en el visor de diferencias accesible.','Icono de "Quitar" en el visor de diferencias accesible.','Icono de "Cerrar" en el visor de diferencias accesible.',"Cerrar","Visor de diferencias accesible. Utilice la flecha hacia arriba y hacia abajo para navegar.","no se han cambiado líneas","1 línea cambiada","{0} líneas cambiadas","Diferencia {0} de {1}: línea original {2}, {3}, línea modificada {4}, {5}","vacío","{0} línea sin cambios {1}","{0} línea original {1} línea modificada {2}","+ {0} línea modificada {1}","- {0} línea original {1}"," use {0} para abrir la ayuda de accesibilidad.","Copiar líneas eliminadas","Copiar línea eliminada","Copiar líneas cambiadas","Copiar línea cambiada","Copiar la línea eliminada ({0})","Copiar línea cambiada ({0})","Revertir este cambio","Uso de la vista insertada cuando el espacio es limitado","Mostrar bloques de código movidos","Revertir bloque","Revertir selección","Abrir visor de diferencias accesibles","Plegar la región sin cambios","{0} líneas ocultas","Haga clic o arrastre para mostrar más arriba","Mostrar región sin cambios","Hacer clic o arrastrar para mostrar más abajo","{0} líneas ocultas","Doble clic para desplegar","Código movido con cambios en la línea {0}-{1}","Código movido con cambios de la línea {0}-{1}","Código movido a la línea {0}-{1}","Código movido de la línea {0}-{1}","Revertir los cambios seleccionados","Revertir el cambio","Color del borde del texto que se movió en el editor de diferencias.","Color del borde de texto activo que se movió en el editor de diferencias.","Color de la sombra paralela en torno a los widgets de región sin cambios.","DecoracLine truncated
|
||||
- Use 0 para calcular automáticamente el alto de línea a partir del tamaño de la fuente.\r
|
||||
- Los valores entre 0 y 8 se usarán como multiplicador con el tamaño de fuente.\r
|
||||
- Los valores mayores o igual que 8 se usarán como valores efectivos.`,"Controla si se muestra el minimapa.","El minimapa siempre se muestra.","El minimapa se oculta cuando el ratón no está sobre él y se muestra cuando el ratón está sobre el minimapa.","El minimapa solo se muestra cuando se desplaza el editor","Controla si el minimapa se oculta automáticamente.","El minimapa tiene el mismo tamaño que el contenido del editor (y podría desplazarse).","El minimapa se estirará o reducirá según sea necesario para ocupar la altura del editor (sin desplazamiento).","El minimapa se reducirá según sea necesario para no ser nunca más grande que el editor (sin desplazamiento).","Controla el tamaño del minimapa.","Controla en qué lado se muestra el minimapa.","Controla cuándo se muestra el control deslizante del minimapa.","Escala del contenido dibujado en el minimapa: 1, 2 o 3.","Represente los caracteres reales en una línea, por oposición a los bloques de color.","Limite el ancho del minimapa para representar como mucho un número de columnas determinado.","Controla si las regiones con nombre se muestran como encabezados de sección en el minimapa.","Controla si los comentarios MARK: se muestran como encabezados de sección en el minimapa.","Define la expresión regular usada para buscar encabezados de sección en los comentarios. La expresión regular debe contener un grupo de coincidencias con nombre 'label' (escrito como '(?<label>.+)') que encapsula el encabezado de sección; de lo contrario, no funcionará. Opcionalmente, puede incluir otro grupo de coincidencias denominado 'separador'. Use \\n en el patrón para hacer coincidir los encabezados de varias líneas.","Controla el tamaño de fuente de los encabezados de sección en el minimapa.","Controla la cantidad de espacio (en píxeles) entre los caracteres del encabezado de sección. Esto aumenta la legibilidad del encabezado en tamaños de fuente pequeños.","Controla la cantidad de espacio entre el borde superior del editor y la primera línea.","Controla el espacio entre el borde inferior del editor y la última línea.","Habilita un elemento emergente que muestra documentación de los parámetros e información de los tipos mientras escribe.","Controla si el menú de sugerencias de parámetros se cicla o se cierra al llegar al final de la lista.","Las sugerencias rápidas se muestran dentro del widget de sugerencias","Las sugerencias rápidas se muestran como texto fantasma","Las sugerencias rápidas están deshabilitadas","Habilita sugerencias rápidas en las cadenas.","Habilita sugerencias rápidas en los comentarios.","Habilita sugerencias rápidas fuera de las cadenas y los comentarios.","Controla si las sugerencias deben mostrarse automáticamente al escribir. Puede controlarse para la escritura en comentarios, cadenas y otro código. Las sugerencias rápidas pueden configurarse para mostrarse como texto fantasma o con el widget de sugerencias. Tenga en cuenta también la configuración de {0} que controla si los caracteres especiales desencadenan las sugerencias.","Los números de línea no se muestran.","Los números de línea se muestran como un número absoluto.","Los números de línea se muestran como distancia en líneas a la posición del cursor.","Los números de línea se muestran cada 10 líneas.","Controla la visualización de los números de línea.","Número de caracteres monoespaciales en los que se representará esta regla del editor.","Color de esta regla del editor.","Muestra reglas verticales después de un cierto número de caracteres monoespaciados. Usa múltiples valores para mostrar múltiples reglas. Si la matriz está vacía, no se muestran reglas.","La barra de desplazamiento vertical estará visible solo cuando sea necesario.","La barra de desplazamiento vertical estará siempre visible.","La barra de desplazamiento vertical estará siempre oculta.","Controla la visibilidad de la barra de desplazamiento vertical.","La barra de desplazamiento horizontal estará visible solo cuando sea necesario.","La barra de desplazamiento horizontal estará siempre visible.","La barra de desplazamiento horizontal estará siempre oculta.","Controla la visibilidad de la barra de desplazamiento horizontal.","Ancho de la barra de desplazamiento vertical.","Altura de la barra de desplazamiento horizontal.","Controla si al hacer clic se desplaza por página o salta a la posición donde se hace clic.","Cuando se establece, la barra de desplazamiento horizontal no aumentará el tamaño del contenido del editor.","Controla si se resaltan todos los caracteres ASCII no básicos. Solo los caracteres entre U+0020 y U+007E, tabulación, avance de línea y retorno de carro se consideran ASCII básicos.","Controla si se resaltan los caracteres que solo reservan espacio o que no tienen ancho.","Controla si se resaltan caracteres que se pueden confundir con caracteres ASCII básicos, excepto los que son comunes en la configuración regi
Line truncated
|
||||
En caso de haber varias ediciones para esta variante, el editor mostrará un selector. En caso de que no haya ediciones de este tipo, el editor mostrará un mensaje de error.`,`Lista de variantes de edición de pegado preferidas para su intento de aplicación.\r
|
||||
Se aplicará la primera edición que coincida con las preferencias.`,"Pegar como...","Pegar como texto","Si se muestra el widget de pegado","Mostrar opciones de pegado...","vacío","No se encontraron ediciones de pegado para '{0}'","Resolviendo la edición de pegado para '{0}'. Haga clic para cancelar","Ejecutando controladores de pegado. Haga clic para cancelar y hacer pegado básico","Configurar la acción de pegado predeterminada","Seleccionar acción pegar","Ejecutando controladores de pegado","Insertar texto sin formato","Insertar URIs","Insertar URI","Insertar rutas de acceso","Insertar ruta de acceso","Insertar rutas de acceso relativas","Insertar ruta de acceso relativa","Insertar HTML","Si se muestra el widget de colocación","Mostrar opciones de colocación...","Ejecutando controladores de colocación. Haga clic para cancelar.",`Error al resolver la edición "{0}":\r
|
||||
{1}`,`Error al aplicar la edición ''{0}:\r
|
||||
{1}`,'Indica si el editor ejecuta una operación que se puede cancelar como, por ejemplo, "Inspeccionar referencias"',"El archivo es demasiado grande para realizar una operación de reemplazar todo.","&&Buscar","No hay coincidencias. Intente buscar otra cosa.","Escriba un número para ir a una coincidencia específica (entre 1 y {0})","Escriba un número entre 1 y {0}","Escriba un número entre 1 y {0}","&&Reemplazar","Buscar","Búsqueda con argumentos","Buscar con selección","Buscar siguiente","Buscar anterior","Ir a Coincidencia...","Buscar selección siguiente","Buscar selección anterior","Reemplazar","Icono para indicar que el widget de búsqueda del editor está contraído.","Icono para indicar que el widget de búsqueda del editor está expandido.",'Icono para "Buscar en selección" en el widget de búsqueda del editor.','Icono para "Reemplazar" en el widget de búsqueda del editor.','Icono para "Reemplazar todo" en el widget de búsqueda del editor.','Icono para "Buscar anterior" en el widget de búsqueda del editor.','Icono para "Buscar siguiente" en el widget de búsqueda del editor.',"Buscar y reemplazar","Buscar","Buscar","Coincidencia anterior","Coincidencia siguiente","Buscar en selección","Cerrar","Reemplazar","Reemplazar","Reemplazar","Reemplazar todo","Alternar reemplazar","Sólo los primeros {0} resultados son resaltados, pero todas las operaciones de búsqueda trabajan en todo el texto.","{0} de {1}","No hay resultados","Encontrados: {0}",'{0} encontrado para "{1}"','{0} encontrado para "{1}", en {2}','{0} encontrado para "{1}"',"Desplegar","Desplegar de forma recursiva","Plegar","Alternar plegado","Plegar de forma recursiva","Alternar plegado recursivo","Cerrar todos los comentarios de bloque","Plegar todas las regiones","Desplegar Todas las Regiones","Plegar todas excepto las seleccionadas","Desplegar todas excepto las seleccionadas","Plegar todo","Desplegar todo","Ir al plegado primario","Ir al rango de plegado anterior","Ir al rango de plegado siguiente","Crear rango de plegado a partir de la selección","Quitar rangos de plegado manuales","Alternar plegamiento de importación","Nivel de plegamiento {0}","Color de fondo detrás de los rangos plegados. El color no debe ser opaco para no ocultar las decoraciones subyacentes.","Color del texto contraído después de la primera línea de un rango doblado.","Color del control plegable en el medianil del editor.","Icono de rangos expandidos en el margen de glifo del editor.","Icono de rangos contraídos en el margen de glifo del editor.","Icono de intervalos contraídos manualmente en el margen del glifo del editor.","Icono de intervalos expandidos manualmente en el margen del glifo del editor.","Haga clic para expandir el rango.","Haga clic para contraer el intervalo.","Aumentar el tamaño de fuente del editor","Disminuir el tamaño de fuente del editor","Restablecer tamaño de fuente del editor","Dar formato al documento","Dar formato a la selección","Icono para ir al marcador siguiente.","Icono para ir al marcador anterior.","Siguiente &&problema","Anterior &&problema","Ir al siguiente problema (Error, Advertencia, Información)","Ir al problema anterior (Error, Advertencia, Información)","Ir al siguiente problema en Archivos (Error, Advertencia, Información)","Ir al problema anterior en Archivos (Error, Advertencia, Información)","Error","Advertencia","Información","Sugerencia","{0} en {1}. ","{0} de {1} problemas","{0} de {1} problema","Color de los errores del widget de navegación de marcadores del editor.","Fondo del encabezado del error del widget de navegación del marcador de editor.","Color de las advertencias del widget de navegación de marcadores del editor.","Fondo del encabezado de la advertencia del widget de navegación del marcador de editor.","Color del widget informativo marcador de navegación en el editor.","Fondo del encabezado de información del widget de navegación del marcador de editor.","Fondo del widget de navegación de marcadores del editor.","Ver","Definiciones",'No se encontró ninguna definición para "{0}"',"No se encontró ninguna definición","Ir a &&definición","Declaraciones","No se encontró ninguna definición para '{0}'","No se encontró ninguna declaración","Ir a &&declaración","No se encontró ninguna definición para '{0}'","No se encontró ninguna declaración","Definiciones de tipo",'No se encontró ninguna definición de tipo para "{0}"',"No se encontró ninguna definición de tipo","Ir a la definición de &&tipo","Implementaciones",'No se encontró ninguna implementación para "{0}"',"No se encontró ninguna implementación","Ir a &&implementaciones",'No se ha encontrado ninguna referencia para "{0}".',"No se encontraron referencias","Ir a &&referencias","Referencias","Referencias","Ubicaciones",'No hay resultados para "{0}"',"Referencias","Ir a definición","Abrir definición en el lateral","Ver la definición sin salir","Ir a Definición","Inspeccionar Definición","Ir a la d
Line truncated
|
||||
\r
|
||||
Se recomienda eliminarlos del archivo. Esto puede configurarse mediante "editor.unusualLineTerminators".`,"&&Quitar terminadores de línea inusuales","Omitir","Color de fondo de un símbolo durante el acceso de lectura, como la lectura de una variable. El color no debe ser opaco para no ocultar decoraciones subyacentes.","Color de fondo de un símbolo durante el acceso de escritura, como escribir en una variable. El color no debe ser opaco para no ocultar las decoraciones subyacentes.","Color de fondo de la presencia textual para un símbolo. Para evitar ocultar cualquier decoración subyacente, el color no debe ser opaco.","Color de fondo de un símbolo durante el acceso de lectura; por ejemplo, cuando se lee una variable.","Color de fondo de un símbolo durante el acceso de escritura; por ejemplo, cuando se escribe una variable.","Color de borde de una repetición textual de un símbolo.","Color del marcador de regla general para destacados de símbolos. El color no debe ser opaco para no ocultar decoraciones subyacentes.","Color de marcador de regla general para destacados de símbolos de acceso de escritura. El color no debe ser opaco para no ocultar las decoraciones subyacentes.","Color del marcador de regla de información general de una repetición textual de un símbolo. El color no debe ser opaco para no ocultar las decoraciones subyacentes.","Ir al siguiente símbolo destacado","Ir al símbolo destacado anterior","Desencadenar los símbolos destacados","Eliminar palabra","Error en la posición","Error","Advertencia en posición","Advertencia","Error en la línea","Error en la línea","Advertencia en la línea","Advertencia en la línea","Área doblada en la línea","Contraída","Punto de interrupción en la línea","Punto de interrupción","Sugerencia insertada en la línea","Siguiente sugerencia de edición en línea","Siguiente sugerencia de edición","Corrección rápida del terminal","Corrección rápida","Depurador detenido en el punto de interrupción","Punto de interrupción","No hay indicaciones incrustadas en la línea","No hay indicaciones incrustadas","Tarea completada.","Tarea completada.","Error en la tarea","Error en la tarea","Error del comando de terminal","Error del comando","Comando de terminal correcto","Comando correcto","Campana de terminal","Campana de terminal","Celda del bloc de notas completada","Celda del bloc de notas completada","Error en la celda del bloc de notas","Error en la celda del bloc de notas","Línea de diferencia insertada","Línea de diferencia eliminada","Línea de diferencia modificada","Editar archivo modificado de chat","Archivo modificado desde ediciones de chat","Se envió una solicitud de chat","Se envió una solicitud de chat","Respuesta de chat recibida","Solicitud de acción de código desencadenada","Solicitud de acción de código desencadenada","Acción de código aplicada","Progreso","Progreso","Borrar","Borrar","Guardar","Guardar","Formato","Formato","Grabación de voz iniciada","Grabación de voz detenida","Ediciones guardadas","Ediciones guardadas","Deshacer ediciones","Ediciones deshechas","Acción necesaria por parte del usuario del chat","Acción necesaria por parte del usuario del chat","Ver","Ayuda","Probar","archivo","Preferencias","Desarrollador","{0} ({1})","{0} ({1})",`{0}\r
|
||||
[{1}] {2}`,"{1} al {0}","{0} ({1})","Ocultar","Menú Restablecer",'Ocultar "{0}"',"Configurar el enlace de teclado","{0} para aplicar, {1} para previsualizar","{0} para aplicar","{0}, Motivo de deshabilitación: {1}","Widget de acción","Color de fondo de los elementos de acción alternados en la barra de acciones.","Si la lista de widgets de acción es visible","Ocultar el widget de acción","Seleccione la acción anterior","Seleccione la siguiente acción","Aceptar la acción seleccionada","Vista previa de la acción seleccionada","La configuración del lenguaje predeterminada se reemplaza","Configure los valores que se van a invalidar para {0}.","Establecer los valores de configuración que se reemplazarán para un lenguaje.","Esta configuración no admite la configuración por idioma.","Establecer los valores de configuración que se reemplazarán para un lenguaje.","Esta configuración no admite la configuración por idioma.","No se puede registrar una propiedad vacía.",`No se puede registrar "{0}". Coincide con el patrón de propiedad '\\\\[.*\\\\]$' para describir la configuración del editor específica del lenguaje. Utilice la contribución "configurationDefaults".`,'No se puede registrar "{0}". Esta propiedad ya está registrada.','No se puede registrar "{0}". La directiva asociada {1} ya está registrada con {2}.',"Comando que devuelve información sobre las claves de contexto","Expresión de clave de contexto vacía",'¿Ha olvidado escribir una expresión? también puede poner "false" o "true" para evaluar siempre como false o true, respectivamente.',"'in' después de 'not'.","paréntesis de cierre ')'","Token inesperado","¿Ha olvidado poner && o || antes del token?","Final de expresión inesperado","¿Ha olvidado poner una clave de contexto?",`Esperado: {0}\r
|
||||
recibido: '{1}'.`,"Si el sistema operativo es macOS","Si el sistema operativo es Linux","Si el sistema operativo es Windows","Si la plataforma es un explorador web","Si el sistema operativo es macOS en una plataforma que no es de explorador","Si el sistema operativo es IOS","Si la plataforma es un explorador web móvil","Tipo de calidad de VS Code","Si el foco del teclado está dentro de un cuadro de entrada","¿Quiso decir {0}?","¿Quiso decir {0} o {1}?","¿Quiso decir {0}, {1} o {2}?","¿Ha olvidado abrir o cerrar la cita?",`¿Ha olvidado escapar el carácter "/" (barra diagonal)?Coloque dos barras diagonales inversas antes de que escape, por ejemplo, '\\\\/'.`,"Indica si las sugerencias están visibles.","Mantenga presionada la tecla {0} para pasar el mouse","Cargando...","Se presionó ({0}). Esperando la siguiente tecla...","Se ha presionado ({0}). Esperando la siguiente tecla...","La combinación de claves ({0}, {1}) no es un comando.","La combinación de claves ({0}, {1}) no es un comando.","Área de trabajo",'Se asigna a "Control" en Windows y Linux y a "Comando" en macOS.','Se asigna a "Alt" en Windows y Linux y a "Opción" en macOS.',"El modificador que se utilizará para agregar un elemento en los árboles y listas para una selección múltiple con el ratón (por ejemplo en el explorador, abiertos editores y vista de scm). Los gestos de ratón 'Abrir hacia' - si están soportados - se adaptarán de forma tal que no tenga conflicto con el modificador múltiple.","Controla cómo abrir elementos en los árboles y las listas mediante el mouse (si se admite). Tenga en cuenta que algunos árboles y listas pueden optar por ignorar esta configuración si no es aplicable.","Controla si las listas y los árboles admiten el desplazamiento horizontal en el área de trabajo. Advertencia: La activación de esta configuración repercute en el rendimiento.","Controla si los clics en la barra de desplazamiento se desplazan página por página.","Controla la sangría de árbol en píxeles.","Controla si el árbol debe representar guías de sangría.","Controla si las listas y los árboles tienen un desplazamiento suave.",'Se usará un multiplicador en los eventos de desplazamiento de la rueda del mouse "deltaX" y "deltaY". ','Multiplicador de la velocidad de desplazamiento al presionar "Alt".',"Resalta elementos al buscar. Navegar más arriba o abajo pasará solo por los elementos resaltados.","Filtre elementos al buscar.","Controla el modo de búsqueda predeterminado para listas y árboles en el área de trabajo.","La navegación simple del teclado se centra en elementos que coinciden con la entrada del teclado. El emparejamiento se hace solo en prefijos.","Destacar la navegación del teclado resalta los elementos que coinciden con la entrada del teclado. Más arriba y abajo la navegación atravesará solo los elementos destacados.","La navegación mediante el teclado de filtro filtrará y ocultará todos los elementos que no coincidan con la entrada del teclado.","Controla el estilo de navegación del teclado para listas y árboles en el área de trabajo. Puede ser simple, resaltar y filtrar.",'Use "workbench.list.defaultFindMode" y "workbench.list.typeNavigationMode" en su lugar.',"Usar coincidencias aproximadas al buscar.","Use coincidencias contiguas al buscar.","Controla el tipo de coincidencia que se usa al buscar listas y árboles en el área de trabajo.","Controla cómo se expanden las carpetas de árbol al hacer clic en sus nombres. Tenga en cuenta que algunos árboles y listas pueden optar por omitir esta configuración si no es aplicable.","Controla si el desplazamiento con inmovilización está habilitado en los árboles.","Controla el número de elementos permanentes que se muestran en el árbol cuando {0} está habilitado.",'Controla el funcionamiento de la navegación por tipos en listas y árboles del área de trabajo. Cuando se establece en "trigger", la navegación por tipos comienza una vez que se ejecuta el comando "list.triggerTypeNavigation".',"Error","Advertencia","Información","Errores","Advertencias","Información",'Los problemas están en pausa porque: "{0}"','Los problemas están en pausa porque: "{0}" y {1} más',"usado recientemente","comandos similares","usados habitualmente","otros comandos","comandos similares","{0}, {1}",'El comando "{0}" ha dado lugar a un error',"{0}, {1}","Si el foco del teclado está dentro del control de entrada rápida","Alineación de la entrada rápida","El tipo de la entrada rápida visible actualmente","Si el cursor de la entrada rápida está al final del cuadro de entrada","Atrás",'Presione "Entrar" para confirmar su entrada o "Esc" para cancelar',"{0}/{1}","Escriba para restringir los resultados.","Aceptar",'{0} (Presione "Entrar" para confirmar o "Esc" para cancelar)',"Se usa en el contexto de cualquier tipo de entrada rápida. Si cambia un enlace de teclado para este comando, también debe cambiar todos los demás enlaces de teclado (variantes mo
Line truncated
|
||||
@@ -0,0 +1,15 @@
|
||||
define("vs/nls.messages.fr.js",["./_commonjsHelpers-CT9FvmAN"],(function(s){"use strict";var e={};/*!-----------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Version: 0.55.1(516f350bdaf7a82f6731bd128a9ec86a6e5fa47d)
|
||||
* Released under the MIT license
|
||||
* https://github.com/microsoft/vscode/blob/main/LICENSE.txt
|
||||
*-----------------------------------------------------------*/var r;function i(){return r||(r=1,globalThis._VSCODE_NLS_MESSAGES=["{0} ({1})","entrée","Respecter la casse","Mot entier","Utiliser une expression régulière","entrée","Préserver la casse","Inspectez ceci dans l’affichage accessible avec {0}.","Inspectez ceci dans l’affichage accessible via la commande Open Accessible View qui ne peut pas être déclenchée via une combinaison de touches pour l’instant.","Erreur : {0}","Avertissement : {0}","Info : {0}"," ou {0} pour l'histoire"," ({0} pour l'histoire)","Entrée effacée","Indépendant","Zone de sélection","Plus d'actions...","Entrer le texte à rechercher","Fermer","Entrer le texte à rechercher","Aucun résultat trouvé.","Aucun résultat","{0} résultats","Type à filtrer","Entrer le texte à rechercher","Filtrer","Correspondance approximative","(vide)","{0}: {1}","Une erreur système s'est produite ({0})","Une erreur inconnue s’est produite. Veuillez consulter le journal pour plus de détails.","Une erreur inconnue s’est produite. Veuillez consulter le journal pour plus de détails.","{0} ({1} erreurs au total)","Une erreur inconnue s’est produite. Veuillez consulter le journal pour plus de détails.","Ctrl","Maj","Alt","Windows","Ctrl","Maj","Alt","Super","Contrôle","Maj","Option","Commande","Contrôle","Maj","Alt","Windows","Contrôle","Maj","Alt","Super","Extensions","Terminal intégré","Conversation","Télémétrie","Mettre à jour","éditeur","L’éditeur n’est pas accessible pour le moment.","{0} Pour activer le mode optimisé du lecteur d’écran, utilisez {1}","{0} Pour activer le mode optimisé du lecteur d’écran, ouvrez la sélection rapide avec {1} et exécutez la commande Activer/Désactiver le mode d’accessibilité du lecteur d’écran, qui n’est pas déclenchable via le clavier pour le moment.","{0} Attribuez une combinaison de touches à la commande Activer/Désactiver le mode d’accessibilité du lecteur d’écran en accédant à l’éditeur de combinaisons de touches avec {1} et exécutez-la.","éditeur","Aligner par rapport à la fin même en cas de passage à des lignes plus longues","Aligner par rapport à la fin même en cas de passage à des lignes plus longues","Curseurs secondaires supprimés","Ann&&uler","Annuler","Annuler","&&Rétablir","Rétablir","Rétablir","&&Sélectionner tout","Tout sélectionner","Tout sélectionner","Utiliser le rendu basé sur DOM","Indique si les complétions en ligne sont actuellement répétées","Sélectionnez la durée de mise en veille pour les suggestions en ligne","Répétition des suggestions inline","Annuler la répétition des suggestions inline","Le nombre de curseurs a été limité à {0}. Envisagez d’utiliser [rechercher et remplacer](https://code.visualstudio.com/docs/editor/codebasics#_find-and-replace) pour les modifications plus importantes ou augmentez la limite du nombre de curseurs multiples du paramètre.","Augmenter la limite de curseurs multiples","Activer/désactiver réduire les régions inchangées","Activer/désactiver l’affichage des blocs de code déplacés","Activer/désactiver Utiliser la vue inline lorsque l'espace est limité","Éditeur de différences","Changer de côté","Quitter Comparer le déplacement","Réduire toutes les régions inchangées","Afficher toutes les régions inchangées","Restaurer","Visionneuse Diff accessible","Accéder à la différence suivante","Accéder la différence précédente","Icône « Insérer » dans la visionneuse diff accessible.","Icône « Supprimer » dans la visionneuse diff accessible.","Icône de « Fermer » dans la visionneuse diff accessible.","Fermer","Visionneuse diff accessible. Utilisez les flèches haut et bas pour naviguer.","aucune ligne changée","1 ligne changée","{0} lignes changées","Différence {0} sur {1} : ligne d'origine {2}, {3}, ligne modifiée {4}, {5}","vide","{0} ligne inchangée {1}","{0} ligne d'origine {1} ligne modifiée {2}","+ {0} ligne modifiée {1}","- {0} ligne d'origine {1}"," utilisez {0} pour ouvrir l’aide sur l’accessibilité.","Copier les lignes supprimées","Copier la ligne supprimée","Copier les lignes modifiées","Copier la ligne modifiée","Copier la ligne supprimée ({0})","Copier la ligne modifiée ({0})","Annuler la modification","Utiliser la vue inline lorsque l'espace est limité","Afficher les blocs de code déplacés","Rétablir le bloc","Rétablir la sélection","Ouvrir la visionneuse diff accessible","Replier la région inchangée","{0} lignes masquées","Cliquez ou faites glisser pour afficher plus d'éléments au-dessus","Afficher la région inchangée","Cliquez ou faites glisser pour afficher plus d'éléments en dessous","{0} lignes masquées","Double-cliquer pour déplier","Code déplacé avec des modifications vers la ligne {0}-{1}","Code déplacé avec des modifications à partir de la ligne {0}-{1}","Code déplacé vers la ligne {0}-{1}","Code dépLine truncated
|
||||
- Utilisez 0 pour calculer automatiquement la hauteur de ligne à partir de la taille de police.\r
|
||||
: les valeurs comprises entre 0 et 8 sont utilisées comme multiplicateur avec la taille de police.\r
|
||||
: les valeurs supérieures ou égales à 8 seront utilisées comme valeurs effectives.`,"Contrôle si la minimap est affichée.","Le minimap est toujours affiché.","Le minimap est masqué lorsque la souris n’est pas au-dessus du minimap et affiché lorsque la souris est au-dessus du minimap.","Le minimap n’est affiché que lorsque l’éditeur est défilé.","Contrôle si la minimap est masquée automatiquement.","Le minimap a la même taille que le contenu de l'éditeur (défilement possible).","Le minimap s'agrandit ou se réduit selon les besoins pour remplir la hauteur de l'éditeur (pas de défilement).","Le minimap est réduit si nécessaire pour ne jamais dépasser la taille de l'éditeur (pas de défilement).","Contrôle la taille du minimap.","Contrôle le côté où afficher la minimap.","Contrôle quand afficher le curseur du minimap.","Échelle du contenu dessiné dans le minimap : 1, 2 ou 3.","Afficher les caractères réels sur une ligne par opposition aux blocs de couleur.","Limiter la largeur de la minimap pour afficher au plus un certain nombre de colonnes.","Contrôle si les régions nommées sont affichées en tant qu’en-têtes de section dans la minimap.","Contrôle si les commentaires MARK : sont affichés en tant qu’en-têtes de section dans la minimap.","Définit l’expression régulière utilisée pour rechercher les en-têtes de section dans les commentaires. Le regex doit contenir un groupe de correspondance nommé « label » (écrit sous la forme « ( ?<label>.+) » qui encapsule l’en-tête de section, sinon il ne fonctionnera pas. Vous pouvez éventuellement inclure un autre groupe de correspondance nommé « séparateur ». Utilisez \\n dans le modèle pour faire correspondre les en-têtes multilignes.","Contrôle la taille de police des en-têtes de section dans le minimap.","Contrôle la quantité d’espace (en pixels) entre les caractères de l’en-tête de section. Cela permet de lire l’en-tête en petites tailles de police.","Contrôle la quantité d’espace entre le bord supérieur de l’éditeur et la première ligne.","Contrôle la quantité d'espace entre le bord inférieur de l'éditeur et la dernière ligne.","Active une fenêtre contextuelle qui affiche de la documentation sur les paramètres et des informations sur les types à mesure que vous tapez.","Détermine si le menu de suggestions de paramètres se ferme ou reviens au début lorsque la fin de la liste est atteinte.","Des suggestions rapides s’affichent dans le widget de suggestion","Les suggestions rapides s’affichent sous forme de texte fantôme","Les suggestions rapides sont désactivées","Activez les suggestions rapides dans les chaînes.","Activez les suggestions rapides dans les commentaires.","Activez les suggestions rapides en dehors des chaînes et des commentaires.","Contrôle si les suggestions doivent s’afficher automatiquement lors de la saisie. Cela peut être contrôlé pour la saisie dans des commentaires, des chaînes et d’autres codes. Vous pouvez configurer la suggestion rapide pour qu’elle s’affiche sous forme de texte fantôme ou avec le widget de suggestion. Tenez également compte du {0}-setting qui contrôle si les suggestions sont déclenchées par des caractères spéciaux.","Les numéros de ligne ne sont pas affichés.","Les numéros de ligne sont affichés en nombre absolu.","Les numéros de ligne sont affichés sous la forme de distance en lignes à la position du curseur.","Les numéros de ligne sont affichés toutes les 10 lignes.","Contrôle l'affichage des numéros de ligne.","Nombre de caractères monospace auxquels cette règle d'éditeur effectue le rendu.","Couleur de cette règle d'éditeur.","Rendre les règles verticales après un certain nombre de caractères à espacement fixe. Utiliser plusieurs valeurs pour plusieurs règles. Aucune règle n'est dessinée si le tableau est vide.","La barre de défilement verticale sera visible uniquement lorsque cela est nécessaire.","La barre de défilement verticale est toujours visible.","La barre de défilement verticale est toujours masquée.","Contrôle la visibilité de la barre de défilement verticale.","La barre de défilement horizontale sera visible uniquement lorsque cela est nécessaire.","La barre de défilement horizontale est toujours visible.","La barre de défilement horizontale est toujours masquée.","Contrôle la visibilité de la barre de défilement horizontale.","Largeur de la barre de défilement verticale.","Hauteur de la barre de défilement horizontale.","Contrôle si les clics permettent de faire défiler par page ou d’accéder à la position de clic.","Lorsqu'elle est définie, la barre de défilement horizontale n'augmentera pas la taille du contenu de l'éditeur.","Contrôle si tous les caractères ASCII non basiques sont mis en surbrillance. Seuls les caractères compris entre U+0020 et U+007E, tabulation, saut de ligne et retour chariot sont considérés co
Line truncated
|
||||
S’il existe plusieurs modifications de ce type, l’éditeur affiche un sélecteur. S’il n’existe aucune modification de ce type, l’éditeur affiche un message d’erreur.`,`Liste du type de modification de collage préféré à appliquer.\r
|
||||
La première modification correspondant aux préférences est appliquée.`,"Coller en tant que...","Coller au format texte","Si le widget de collage est affiché","Afficher les options de collage...","vide","Nous n’avons trouvé aucune modification de collage n’a été trouvée pour « {0} »","Résolution de la modification du collage pour '{0}'. Cliquez pour annuler","Exécution des gestionnaires de collage. Cliquez pour annuler et effectuer un collage de base","Configurer l’action de collage par défaut","Sélectionner l’action Coller","Exécution des gestionnaires de collage","Insérer du texte brut","Insérer des URI","Insérer un URI","Insérer des chemins d’accès","Insérer un chemin d’accès","Insérer des chemins d’accès relatifs","Insérer un chemin d’accès relatif","Insérer du code HTML","Indique si le widget de suppression s’affiche","Afficher les options de suppression...","Exécution des gestionnaires de dépôt. Cliquez pour annuler",`Erreur lors de la résolution de la modification «{0}» :\r
|
||||
{1}`,`Erreur lors de l’application de la modification «{0}» :\r
|
||||
{1}`,"Indique si l'éditeur exécute une opération annulable, par exemple 'Avoir un aperçu des références'","Le fichier est trop volumineux pour effectuer une opération Tout remplacer.","&&Rechercher","Aucune correspondance. Essayez de rechercher autre chose.","Tapez un nombre pour accéder à une correspondance spécifique (entre 1 et {0})","Veuillez entrer un nombre compris entre 1 et {0}","Veuillez entrer un nombre compris entre 1 et {0}","&&Remplacer","Rechercher","Trouver avec des arguments","Rechercher dans la sélection","Rechercher suivant","Rechercher précédent","Accéder à la correspondance...","Sélection suivante","Sélection précédente","Remplacer","Icône permettant d'indiquer que le widget de recherche de l'éditeur est réduit.","Icône permettant d'indiquer que le widget de recherche de l'éditeur est développé.","Icône de l'option Rechercher dans la sélection dans le widget de recherche de l'éditeur.","Icône de l'option Remplacer dans le widget de recherche de l'éditeur.","Icône de l'option Tout remplacer dans le widget de recherche de l'éditeur.","Icône de l'option Rechercher précédent dans le widget de recherche de l'éditeur.","Icône de l'option Rechercher suivant dans le widget de recherche de l'éditeur.","Rechercher/remplacer","Rechercher","Rechercher","Correspondance précédente","Correspondance suivante","Rechercher dans la sélection","Fermer","Remplacer","Remplacer","Remplacer","Tout remplacer","Activer/désactiver le remplacement","Seuls les {0} premiers résultats sont mis en évidence, mais toutes les opérations de recherche fonctionnent sur l’ensemble du texte.","{0} sur {1}","Aucun résultat","{0} trouvé(s)","{0} trouvé pour '{1}'","{0} trouvé pour '{1}', sur {2}","{0} trouvé pour '{1}'","Déplier","Déplier de manière récursive","Plier","Activer/désactiver le pliage","Plier de manière récursive","Activer/désactiver le repli récursif","Replier tous les commentaires de bloc","Replier toutes les régions","Déplier toutes les régions","Plier tout, sauf les éléments sélectionnés","Déplier tout, sauf les éléments sélectionnés","Plier tout","Déplier tout","Atteindre le pli parent","Accéder à la plage de pliage précédente","Accéder à la plage de pliage suivante","Créer une plage de pliage à partir de la sélection","Supprimer les plages de pliage manuelles","Activer/désactiver le pliage d’importation","Niveau de pliage {0}","Couleur d'arrière-plan des gammes pliées. La couleur ne doit pas être opaque pour ne pas cacher les décorations sous-jacentes.","Couleur du texte réduit après la première ligne d’une plage pliée.","Couleur du contrôle de pliage dans la marge de l'éditeur.","Icône des plages développées dans la marge de glyphes de l'éditeur.","Icône des plages réduites dans la marge de glyphes de l'éditeur.","Icône pour les plages réduites manuellement dans la marge de glyphe de l’éditeur.","Icône pour les plages développées manuellement dans la marge de glyphe de l’éditeur.","Cliquez pour développer la plage.","Cliquez pour réduire la plage.","Augmenter la taille de police de l’éditeur","Diminuer la taille de police de l’éditeur","Réinitialiser la taille de police de l’éditeur","Mettre le document en forme","Mettre la sélection en forme","Icône du prochain marqueur goto.","Icône du précédent marqueur goto.","&&Problème suivant","&&Problème précédent","Aller au problème suivant (Erreur, Avertissement, Info)","Aller au problème précédent (Erreur, Avertissement, Info)","Aller au problème suivant dans Fichiers (Erreur, Avertissement, Info)","Aller au problème précédent dans Fichiers (Erreur, Avertissement, Info)","Erreur","Avertissement","Info","Conseil","{0} à {1}. ","{0} problèmes sur {1}","{0} problème(s) sur {1}","Couleur d'erreur du widget de navigation dans les marqueurs de l'éditeur.","Arrière-plan du titre d’erreur du widget de navigation dans les marqueurs de l’éditeur.","Couleur d'avertissement du widget de navigation dans les marqueurs de l'éditeur.","Arrière-plan du titre d’erreur du widget de navigation dans les marqueurs de l’éditeur.","Couleur d’information du widget de navigation du marqueur de l'éditeur.","Arrière-plan du titre des informations du widget de navigation dans les marqueurs de l’éditeur.","Arrière-plan du widget de navigation dans les marqueurs de l'éditeur.","Aperçu","Définitions","Définition introuvable pour '{0}'","Définition introuvable","Atteindre la &&définition","Déclarations","Aucune déclaration pour '{0}'","Aucune déclaration","Atteindre la &&déclaration","Aucune déclaration pour '{0}'","Aucune déclaration","Définitions de type","Définition de type introuvable pour '{0}'","Définition de type introuvable","Accéder à la définition de &&type","Implémentations","Implémentation introuvable pour '{0}'","Implémentation introuvable","Atteindre les &&implémentations","Aucune référen
Line truncated
|
||||
[{1}] {2}`,"Du {1} au {0}","{0} ({1})","Masquer","Réinitialiser le menu","Masquer «{0}»","Configurer la combinaison de touches","{0} à Appliquer, {1} à la Préversion","{0} pour appliquer","{0}, raison désactivée : {1}","Widget d’action","Couleur d'arrière-plan des éléments d'action activés dans la barre d'action.","Indique si la liste des widgets d’action est visible","Masquer le widget d’action","Sélectionner l’action précédente","Sélectionner l’action suivante","Accepter l’action sélectionnée","Aperçu de l’action sélectionnée","Substitutions de configuration du langage par défaut","Configurer les paramètres à remplacer pour {0}.","Configurez les paramètres d'éditeur à remplacer pour un langage.","Ce paramètre ne prend pas en charge la configuration par langage.","Configurez les paramètres d'éditeur à remplacer pour un langage.","Ce paramètre ne prend pas en charge la configuration par langage.","Impossible d'inscrire une propriété vide","Impossible d'inscrire '{0}'. Ceci correspond au modèle de propriété '\\\\[.*\\\\]$' permettant de décrire les paramètres d'éditeur spécifiques à un langage. Utilisez la contribution 'configurationDefaults'.","Impossible d'inscrire '{0}'. Cette propriété est déjà inscrite.","Impossible d’inscrire '{0}'. Le {1} de stratégie associé est déjà inscrit auprès de {2}.","Commande qui retourne des informations sur les clés de contexte","Expression de clé de contexte vide","Avez-vous oublié d’écrire une expression ? Vous pouvez également placer 'false' ou 'true' pour toujours donner la valeur false ou true, respectivement.","'in' après 'not'.","parenthèse fermante ')'","Jeton inattendu","Avez-vous oublié de placer && ou || avant le jeton ?","Fin d’expression inattendue","Avez-vous oublié de placer une clé de contexte ?",`Attendu : {0}\r
|
||||
Reçu : '{1}'.`,"Indique si le système d'exploitation est macOS","Indique si le système d'exploitation est Linux","Indique si le système d'exploitation est Windows","Indique si la plateforme est un navigateur web","Indique si le système d'exploitation est macOS sur une plateforme qui n'est pas un navigateur","Indique si le système d’exploitation est Linux","Indique si la plateforme est un navigateur web mobile","Type de qualité de VS Code","Indique si le focus clavier se trouve dans une zone d'entrée","Voulez-vous dire {0}?","Voulez-vous dire {0} ou {1}?","Voulez-vous dire {0}, {1} ou {2}?","Avez-vous oublié d’ouvrir ou de fermer le devis ?","Avez-vous oublié d’échapper le caractère « / » (barre oblique) ? Placez deux barre obliques inverses avant d’y échapper, par ex., « \\\\/ ».","Indique si les suggestions sont visibles","Maintenez la touche {0} enfoncée pour pointer avec la souris","Chargement en cours... Merci de patienter.","Touche ({0}) utilisée. En attente d'une seconde touche...","({0}) a été enfoncé. En attente de la touche suivante de la pression...","La combinaison de touches ({0}, {1}) n’est pas une commande.","La combinaison de touches ({0}, {1}) n’est pas une commande.","Banc d'essai","Mappe vers 'Contrôle' dans Windows et Linux, et vers 'Commande' dans macOS.","Mappe vers 'Alt' dans Windows et Linux, et vers 'Option' dans macOS.","Le modificateur à utiliser pour ajouter un élément dans les arbres et listes pour une sélection multiple avec la souris (par exemple dans l’Explorateur, les éditeurs ouverts et la vue scm). Les mouvements de la souris 'Ouvrir à côté' (si pris en charge) s'adapteront tels qu’ils n'entrent pas en conflit avec le modificateur multiselect.","Contrôle l'ouverture des éléments dans les arborescences et les listes à l'aide de la souris (si cela est pris en charge). Notez que certaines arborescences et listes peuvent choisir d'ignorer ce paramètre, s'il est non applicable.","Contrôle si les listes et les arborescences prennent en charge le défilement horizontal dans le banc d'essai. Avertissement : L'activation de ce paramètre a un impact sur les performances.","Contrôle si les clics dans la barre de défilement page par page.","Contrôle la mise en retrait de l'arborescence, en pixels.","Contrôle si l'arborescence doit afficher les repères de mise en retrait.","Détermine si les listes et les arborescences ont un défilement fluide.","Un multiplicateur à utiliser sur les `deltaX` et `deltaY` des événements de défilement de roulette de souris.","Multiplicateur de vitesse de défilement quand vous appuyez sur 'Alt'.","Mettez en surbrillance les éléments lors de la recherche. La navigation vers le haut et le bas traverse uniquement les éléments en surbrillance.","Filtrez des éléments lors de la recherche.","Contrôle le mode de recherche par défaut pour les listes et les arborescences dans Workbench.","La navigation au clavier Simple place le focus sur les éléments qui correspondent à l'entrée de clavier. La mise en correspondance est effectuée sur les préfixes uniquement.","La navigation de mise en surbrillance au clavier met en surbrillance les éléments qui correspondent à l'entrée de clavier. La navigation ultérieure vers le haut ou vers le bas parcourt uniquement les éléments mis en surbrillance.","La navigation au clavier Filtrer filtre et masque tous les éléments qui ne correspondent pas à l'entrée de clavier.","Contrôle le style de navigation au clavier pour les listes et les arborescences dans le banc d'essai. Les options sont Simple, Mise en surbrillance et Filtrer.","Utilisez 'workbench.list.defaultFindMode' et 'workbench.list.typeNavigationMode' à la place.","Utilisez la correspondance approximative lors de la recherche.","Utilisez des correspondances contiguës lors de la recherche.","Contrôle le type de correspondance utilisé lors de la recherche de listes et d’arborescences dans le banc d’essai.","Contrôle la façon dont les dossiers de l'arborescence sont développés quand vous cliquez sur les noms de dossiers. Notez que certaines arborescences et listes peuvent choisir d'ignorer ce paramètre, s'il est non applicable.","Contrôle si le défilement épinglé est activé dans les arborescences.","Contrôle le nombre d’éléments rémanents affichés dans l’arborescence lorsque {0} est activé.","Contrôle le fonctionnement de la navigation de type dans les listes et les arborescences du banc d'essai. Quand la valeur est 'trigger', la navigation de type commence une fois que la commande 'list.triggerTypeNavigation' est exécutée.","Erreur","Avertissement","Info","Erreurs","Avertissements","Infos","Les problèmes sont suspendus car : « {0} »","Les problèmes sont suspendus car : « {0} » et {1} de plus","récemment utilisées","commandes similaires","utilisés le plus souvent","autres commandes","commandes similaires","{0}, {1}","La commande « {0} » a
Line truncated
|
||||
@@ -0,0 +1,15 @@
|
||||
define("vs/nls.messages.it.js",["./_commonjsHelpers-CT9FvmAN"],(function(o){"use strict";var e={};/*!-----------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Version: 0.55.1(516f350bdaf7a82f6731bd128a9ec86a6e5fa47d)
|
||||
* Released under the MIT license
|
||||
* https://github.com/microsoft/vscode/blob/main/LICENSE.txt
|
||||
*-----------------------------------------------------------*/var i;function a(){return i||(i=1,globalThis._VSCODE_NLS_MESSAGES=["{0} ({1})","input","Maiuscole/minuscole","Parola intera","Usa espressione regolare","input","Mantieni maiuscole/minuscole","Ispezionarlo nella visualizzazione accessibile con {0}.","Ispezionarlo nella visualizzazione accessibile tramite il comando Apri visualizzazione accessibile che attualmente non è attivabile tramite il tasto di scelta rapida.","Errore: {0}","Avviso: {0}","Info: {0}"," o {0} per la cronologia"," ({0} per la cronologia)","Input cancellato","Non associato","Casella di selezione","Altre azioni...","Digitare per la ricerca","Chiudi","Digitare per la ricerca","Non sono stati trovati risultati.","Nessun risultato","{0} risultati","Digitare per filtrare","Digitare per la ricerca","Filtro","Corrispondenza fuzzy","(vuoto)","{0}: {1}","Si è verificato un errore di sistema ({0})","Si è verificato un errore sconosciuto. Per altri dettagli, vedere il log.","Si è verificato un errore sconosciuto. Per altri dettagli, vedere il log.","{0} ({1} errori in totale)","Si è verificato un errore sconosciuto. Per altri dettagli, vedere il log.","CTRL","MAIUSC","ALT","Windows","CTRL","MAIUSC","ALT","Super","CTRL","MAIUSC","Opzione","Comando","CTRL","MAIUSC","ALT","Windows","CTRL","MAIUSC","ALT","Super","Estensioni","Terminale integrato","Chat","Telemetria","Aggiorna","editor","L'editor non è accessibile in questo momento.","{0} Per abilitare la modalità ottimizzata per l'utilità per la lettura dello schermo usare {1}","{0} Per abilitare la modalità ottimizzata per l'utilità per la lettura dello schermo, aprire la selezione rapida con {1} ed eseguire il comando Attiva/Disattiva modalità di accessibilità dell'utilità per la lettura dello schermo, attualmente non attivabile tramite tastiera.","{0} Assegnare un tasto di scelta rapida per il comando Attiva/Disattiva modalità di accessibilità dell'utilità per la lettura dello schermo accedendo all'editor dei tasti di scelta rapida con {1} ed eseguirlo.","editor","Si attiene alla fine anche quando si passa a righe più lunghe","Si attiene alla fine anche quando si passa a righe più lunghe","Cursori secondari rimossi","&&Annulla","Annulla azione","Annulla azione","&&Ripeti","Ripeti","Ripeti","&&Seleziona tutto","Seleziona tutto","Seleziona tutto","Usa rendering basato su DOM","Indica se i completamenti inline sono rinviati","Selezionare la durata della sospensione per i suggerimenti inline","Rinvia suggerimenti inline","Annulla il rinvio dei suggerimenti inline","Il numero di cursori è stato limitato a {0}. Provare a usare [Trova e sostituisci](https://code.visualstudio.com/docs/editor/codebasics#_find-and-replace) per modifiche di dimensioni maggiori o aumentare l'impostazione del limite di più cursori dell'editor.","Aumentare limite multi-cursore","Attiva/Disattiva comprimi aree non modificate","Attiva/Disattiva mostra blocchi di codice spostati","Attiva/disattiva la visualizzazione inline quando lo spazio è limitato","Editor diff","Interruttore laterale","Esci da Sposta confronto","Comprimi tutte le aree non modificate","Mostra tutte le aree non modificate","Ripristina","Visualizzatore differenze accessibile","Vai alla differenza successiva","Vai alla differenza precedente",'Icona per "Inserisci" nel visualizzatore differenze accessibile.','Icona per "Rimuovi" nel visualizzatore differenze accessibile.','Icona per "Chiudi" nel visualizzatore differenze accessibile.',"Chiudi","Visualizzatore differenze accessibile. Usare le frecce SU e GIÙ per spostarsi.","nessuna riga modificata","1 riga modificata","{0} righe modificate","Differenza {0} di {1}: riga originale {2}, {3}, riga modificata {4}, {5}","vuota","{0} riga non modificata {1}","{0} riga originale {1} riga modificata {2}","+ {0} riga modificata {1}","- {0} riga originale {1}"," utilizzare {0} per aprire la Guida all'accessibilità.","Copia le righe eliminate","Copia la riga eliminata","Copia righe modificate","Copia riga modificata","Copia la riga eliminata ({0})","Copia riga modificata ({0})","Ripristina questa modifica","Usa la visualizzazione inline quando lo spazio è limitato","Mostra blocchi di codice spostati","Ripristina blocco","Ripristina selezione","Apri Visualizzatore differenze accessibile","Ridurre area non modificata","{0} righe nascoste","Fai clic o trascina per visualizzare altri elementi sopra","Mostra area non modificata","Fai clic o trascina per visualizzare altri elementi sotto","{0} righe nascoste","Fare doppio clic per espandere","Codice spostato con modifiche alla riga {0}-{1}","Codice spostato con modifiche dalla riga {0}-{1}","Codice spostato alla riga {0}-{1}","Codice spostato dalla riga {0}-{1}","Ripristina modifiche selezionate","Annulla modifica","Colore del bordo per il testo spostato nell'editor diff.","Colore del bordo attivo per il testo spostato nell'editor diff.","Colore dell'ombreggiatura intorno ai widget dell'area non modifLine truncated
|
||||
- Usare 0 per calcolare automaticamente l'altezza della riga dalle dimensioni del carattere.\r
|
||||
- I valori compresi tra 0 e 8 verranno usati come moltiplicatore con le dimensioni del carattere.\r
|
||||
- I valori maggiori o uguali a 8 verranno usati come valori effettivi.`,"Controlla se la minimappa è visualizzata.","La minimappa è sempre visibile.","La minimappa viene nascosta quando il mouse non si trova su di essa e viene visualizzata quando invece si trova su di essa.","La minimappa viene visualizzata solo quando si scorre l'editor","Controlla se la minimappa viene nascosta automaticamente.","La minimappa ha le stesse dimensioni del contenuto dell'editor (e potrebbe supportare lo scorrimento).","Se necessario, la minimappa si ridurrà o si ingrandirà in modo da adattarsi all'altezza dell'editor (nessuno scorrimento).","Se necessario, la minimappa si ridurrà in modo che la larghezza non superi mai quella dell'editor (nessuno scorrimento).","Controlla le dimensioni della minimappa.","Definisce il lato in cui eseguire il rendering della minimappa.","Controlla se il dispositivo di scorrimento della minimappa è visualizzato.","Scala del contenuto disegnato nella minimappa: 1, 2 o 3.","Esegue il rendering dei caratteri effettivi di una riga in contrapposizione ai blocchi colore.","Limita la larghezza della minimappa in modo da eseguire il rendering al massimo di un certo numero di colonne.","Controlla se le aree denominate vengono visualizzate come intestazioni di sezione nella minimappa.","Controlla se i commenti MARK: vengono visualizzati come intestazioni di sezione nella minimappa.","Definisce l'espressione regolare utilizzata per trovare le intestazioni di sezione nei commenti. L'espressione regolare deve contenere un gruppo di corrispondenze denominato 'label' (scritto come '(?<label>.+)') che incapsula l'intestazione di sezione, altrimenti non funzionerà. Facoltativamente è possibile includere un altro gruppo di corrispondenze denominato 'separatore'. Usare \\n nel modello per trovare le intestazioni su più righe.","Controlla le dimensioni del carattere delle intestazioni di sezione nella minimappa.","Controllare la quantità di spazio (in pixel) tra i caratteri dell’intestazione di sezione. Ciò contribuisce alla leggibilità dell’intestazione in caratteri di piccole dimensioni.","Controlla la quantità di spazio tra il bordo superiore dell'editor e la prima riga.","Controlla la quantità di spazio tra il bordo inferiore dell'editor e l'ultima riga.","Abilita un popup che mostra documentazione sui parametri e informazioni sui tipi mentre si digita.","Controlla se il menu dei suggerimenti per i parametri esegue un ciclo o si chiude quando viene raggiunta la fine dell'elenco.","I suggerimenti rapidi vengono visualizzati all'interno del widget dei suggerimenti","I suggerimenti rapidi vengono visualizzati come testo fantasma","I suggerimenti rapidi sono disabilitati","Abilita i suggerimenti rapidi all'interno di stringhe.","Abilita i suggerimenti rapidi all'interno di commenti.","Abilita i suggerimenti rapidi all'esterno di stringhe e commenti.","Controlla se i suggerimenti devono essere visualizzati automaticamente durante la digitazione. Questo può essere controllato per digitare commenti, stringhe e altro codice. Il suggerimento rapido può essere configurato per essere visualizzato come testo fantasma o con il widget dei suggerimenti. Tenere anche conto dell'impostazione {0}che controlla se i suggerimenti vengono attivati da caratteri speciali.","I numeri di riga non vengono visualizzati.","I numeri di riga vengono visualizzati come numeri assoluti.","I numeri di riga vengono visualizzati come distanza in linee alla posizione del cursore.","I numeri di riga vengono visualizzati ogni 10 righe.","Controlla la visualizzazione dei numeri di riga.","Numero di caratteri a spaziatura fissa in corrispondenza del quale verrà eseguito il rendering di questo righello dell'editor.","Colore di questo righello dell'editor.","Esegue il rendering dei righelli verticali dopo un certo numero di caratteri a spaziatura fissa. Usare più valori per più righelli. Se la matrice è vuota, non viene disegnato alcun righello.","La barra di scorrimento verticale sarà visibile solo quando necessario.","La barra di scorrimento verticale sarà sempre visibile.","La barra di scorrimento verticale sarà sempre nascosta.","Controlla la visibilità della barra di scorrimento verticale.","La barra di scorrimento orizzontale sarà visibile solo quando necessario.","La barra di scorrimento orizzontale sarà sempre visibile.","La barra di scorrimento orizzontale sarà sempre nascosta.","Controlla la visibilità della barra di scorrimento orizzontale.","Larghezza della barra di scorrimento verticale.","Altezza della barra di scorrimento orizzontale.","Controlla se i clic consentono di attivare lo scorrimento per pagina o di passare direttamente alla posizione di clic.","Se impostata, la barra di scorrimento orizzontale non aumenterà le dimensioni del contenuto dell'editor.","Controlla se tutti i caratteri ASCII non di base sono evidenziati. Solo i caratteri compresi tra U+0020 e U+007E, tabulazione, avanzamento riga e
Line truncated
|
||||
Esistono più modifiche per questo tipo; l'editor mostrerà una selezione. Se non esistono modifiche di questo tipo, l'editor mostrerà un messaggio di errore.`,`Elenco del tipo di modifica di incollaggio preferito per provare l'applicazione.\r
|
||||
Verrà applicata la prima modifica corrispondente alle preferenze.`,"Incolla come...","Incolla come testo","Indica se il widget dell'operazione Incolla viene visualizzato","Mostra opzioni operazione Incolla...","vuoto","Non è stata trovata alcuna modifica incolla per '{0}'","Risoluzione della modifica incolla per '{0}'. Fare clic per annullare","Esecuzione dei gestori incolla. Fare clic per annullare ed eseguire incolla di base","Configura l’azione Incolla predefinita","Seleziona azione Incolla","Esecuzione dei gestori Incolla in corso","Inserire testo normale","Inserire l'URL","Inserire l'Uri","Inserire percorsi","Inserire percorso","Inserire percorsi relativi","Inserire percorso relativo","Inserisci HTML","Indica se il widget di rilascio viene visualizzato","Mostra opzioni di rilascio...","Esecuzione dei gestori di rilascio. Fare clic per annullare",`Errore durante la risoluzione della modifica '{0}':\r
|
||||
{1}`,`Errore durante l'applicazione della modifica '{0}':\r
|
||||
{1}`,"Indica se l'editor esegue un'operazione annullabile, ad esempio 'Anteprima riferimenti'","Il file è troppo grande per eseguire un'operazione di sostituzione.","&&Trova","Nessuna corrispondenza. Provare a cercare qualcos'altro.","Digitare un numero per passare a una corrispondenza specifica (tra 1 e {0})","Digitare un numero compreso tra 1 e {0}","Digitare un numero compreso tra 1 e {0}","&&Sostituisci","Trova","Trova con argomenti","Trova con selezione","Trova successivo","Trova precedente","Andare a Corrispondenza...","Trova selezione successiva","Trova selezione precedente","Sostituisci","Icona per indicare che il widget di ricerca dell'editor è compresso.","Icona per indicare che il widget di ricerca dell'editor è espanso.","Icona per 'Trova nella selezione' nel widget di ricerca dell'editor.","Icona per 'Sostituisci' nel widget di ricerca dell'editor.","Icona per 'Sostituisci tutto' nel widget di ricerca dell'editor.","Icona per 'Trova precedente' nel widget di ricerca dell'editor.","Icona per 'Trova successivo' nel widget di ricerca dell'editor.","Trova/Sostituisci","Trova","Trova","Risultato precedente","Risultato successivo","Trova nella selezione","Chiudi","Sostituisci","Sostituisci","Sostituisci","Sostituisci tutto","Attiva/Disattiva sostituzione","Solo i primi {0} risultati vengono evidenziati, ma tutte le operazioni di ricerca funzionano su tutto il testo.","{0} di {1}","Nessun risultato","{0} trovato","{0} trovati per '{1}'","{0} trovati per '{1}' alla posizione {2}","{0} trovati per '{1}'","Espandi","Espandi in modo ricorsivo","Riduci","Attiva/Disattiva riduzione","Riduci in modo ricorsivo","Attiva/disattiva riduzione in modo ricorsivo","Riduci tutti i blocchi commento","Riduci tutte le regioni","Espandi tutte le regioni","Riduci tutto tranne selezionato","Espandi tutto tranne selezionato","Riduci tutto","Espandi tutto","Vai alla cartella principale","Passa all'intervallo di riduzione precedente","Passa all'intervallo di riduzione successivo","Creare intervallo di riduzione dalla selezione","Rimuovi intervalli di riduzione manuale","Attiva/Disattiva importazione riduzione","Livello riduzione {0}","Colore di sfondo degli intervalli con riduzione. Il colore non deve essere opaco per evitare di nascondere le decorazioni sottostanti.","Colore del testo compresso dopo la prima riga di un intervallo ridotto.","Colore del controllo di riduzione nella barra di navigazione dell'editor.","Icona per gli intervalli espansi nel margine del glifo dell'editor.","Icona per gli intervalli compressi nel margine del glifo dell'editor.","Icona per gli intervalli compressi nel margine del glifo dell'editor.","Icona per gli intervalli espansi manualmente nel margine del glifo dell'editor.","Fare clic per espandere l’intervallo.","Fare clic per comprimere l'intervallo.","Aumenta le dimensioni del carattere dell'editor","Riduci le dimensioni del carattere dell'editor","Reimposta dimensioni carattere editor","Formatta documento","Formatta selezione","Icona per il marcatore Vai a successivo.","Icona per il marcatore Vai a precedente.","&&Problema successivo","&&Problema precedente","Vai al problema successivo (Errore, Avviso, Informazioni)","Vai al problema precedente (Errore, Avviso, Informazioni)","Vai al problema successivo nei file (Errore, Avviso, Informazioni)","Vai al problema precedente nei file (Errore, Avviso, Informazioni)","Errore","Avviso","Info","Suggerimento","{0} a {1}. ","{0} di {1} problemi","{0} di {1} problema","Colore per gli errori del widget di spostamento tra marcatori dell'editor.","Intestazione errore per lo sfondo del widget di spostamento tra marcatori dell'editor.","Colore per gli avvisi del widget di spostamento tra marcatori dell'editor.","Intestazione avviso per lo sfondo del widget di spostamento tra marcatori dell'editor.","Colore delle informazioni del widget di navigazione marcatori dell'editor.","Intestazione informativa per lo sfondo del widget di spostamento tra marcatori dell'editor.","Sfondo del widget di spostamento tra marcatori dell'editor.","Anteprima","Definizioni","Non è stata trovata alcuna definizione per '{0}'","Non è stata trovata alcuna definizione","Vai alla &&definizione","Dichiarazioni","Non è stata trovata alcuna dichiarazione per '{0}'","Dichiarazione non trovata","Vai a &&dichiarazione","Non è stata trovata alcuna dichiarazione per '{0}'","Dichiarazione non trovata","Definizioni di tipo","Non sono state trovate definizioni di tipi per '{0}'","Non sono state trovate definizioni di tipi","Vai alla &&definizione di tipo","Implementazioni","Non sono state trovate implementazioni per '{0}'","Non sono state trovate implementazioni","Vai a &&Implementazioni","Non sono stati trovati riferimenti per '{0}'","Non sono stati trovati riferimenti","Vai a &&riferimenti","Riferimenti","Riferimenti","Posizioni","Nessun risultato per '{0}'","Riferimenti","Vai alla definizione","Apri definizione lateralmente","Visualizza in anteprima la definizione","Vai a dichiaraz
Line truncated
|
||||
[{1}] {2}`,"{1} per {0}","{0} ({1})","Nascondi","Reimposta menu","Nascondi '{0}'","Configura tasto di scelta rapida","{0} per Applica, {1} per Anteprima","{0} da applicare","{0}, Motivo disabilitato: {1}","Widget azione","Colore di sfondo per le azioni attivate o disattivate nella barra delle azioni.","Indica se l'elenco di widget azione è visibile","Nascondi widget azione","Seleziona azione precedente","Seleziona azione successiva","Accetta l'azione selezionata","Anteprima azione selezionata","Override configurazione predefinita del linguaggio","Configura le impostazioni di cui eseguire l'override per {0}.","Consente di configurare le impostazioni dell'editor di cui eseguire l'override per un linguaggio.","Questa impostazione non supporta la configurazione per lingua.","Consente di configurare le impostazioni dell'editor di cui eseguire l'override per un linguaggio.","Questa impostazione non supporta la configurazione per lingua.","Non è possibile registrare una proprietà vuota","Non è possibile registrare '{0}'. Corrisponde al criterio di proprietà '\\\\[.*\\\\]$' per la descrizione delle impostazioni dell'editor specifiche del linguaggio. Usare il contributo 'configurationDefaults'.","Non è possibile registrare '{0}'. Questa proprietà è già registrata.","Impossibile registrare '{0}'. Il {1} dei criteri associato è già registrato con {2}.","Comando che restituisce informazioni sulle chiavi di contesto","Espressione chiave di contesto vuota","Si è dimenticato di scrivere un'espressione? È anche possibile inserire 'false' o 'true' per restituire sempre rispettivamente false o true.","'in' dopo 'not'.","Parentesi chiusa ')'","Token imprevisto","Si è dimenticato di inserire && o || prima del token?","Fine imprevista dell'espressione","Si è dimenticato di inserire una chiave di contesto?",`Previsto: {0}\r
|
||||
Ricevuto: '{1}'.`,"Indica se il sistema operativo è macOS","Indica se il sistema operativo è Linux","Indica se il sistema operativo è Windows","Indica se la piattaforma è un Web browser","Indica se il sistema operativo è macOS in una piattaforma non basata su browser","Indica se il sistema operativo è iOS","Indica se la piattaforma è un Web browser per dispositivi mobili","Tipo di qualità del VS Code","Indica se lo stato attivo della tastiera si trova all'interno di una casella di input","Si intendeva {0}?","Si intendeva {0} o {1}?","Si intendeva {0}, {1} o {2}?","Si è dimenticato di aprire o chiudere la citazione?","Si è dimenticato di eseguire il carattere di escape '/' (slash)? Inserire due barre rovesciate prima del carattere di escape, ad esempio '\\\\/'.","Indica se i suggerimenti sono visibili","Tieni premuto il tasto {0} per passare il mouse","Caricamento in corso...","È stato premuto ({0}). In attesa del secondo tasto...","È stato premuto ({0}). In attesa del prossimo tasto...","La combinazione di tasti ({0}, {1}) non è un comando.","La combinazione di tasti ({0}, {1}) non è un comando.","Workbench","Rappresenta il tasto 'Control' in Windows e Linux e il tasto 'Comando' in macOS.","Rappresenta il tasto 'Alt' in Windows e Linux e il tasto 'Opzione' in macOS.","Il modificatore da utilizzare per aggiungere un elemento di alberi e liste ad una selezione multipla con il mouse (ad esempio in Esplora Risorse, apre gli editor e le viste scm). Le gesture del mouse 'Apri a lato' - se supportate - si adatteranno in modo da non creare conflitti con il modificatore di selezione multipla.","Controlla l'apertura degli elementi di alberi ed elenchi tramite il mouse (se supportato). Tenere presente che alcuni alberi ed elenchi potrebbero scegliere di ignorare questa impostazione se non è applicabile.","Controlla se elenchi e alberi supportano lo scorrimento orizzontale nell'area di lavoro. Avviso: l'attivazione di questa impostazione può influire sulle prestazioni.","Controlla se i clic nella barra di scorrimento scorrono pagina per pagina.","Controlla il rientro dell'albero in pixel.","Controlla se l'albero deve eseguire il rendering delle guide per i rientri.","Controlla se elenchi e alberi prevedono lo scorrimento uniforme.","Moltiplicatore da usare sui valori `deltaX` e `deltaY` degli eventi di scorrimento della rotellina del mouse.","Moltiplicatore della velocità di scorrimento quando si preme `Alt`.","Evidenziare gli elementi durante la ricerca. L'ulteriore spostamento verso l'alto e verso il basso attraverserà solo gli elementi evidenziati.","Filtra gli elementi durante la ricerca.","Controlla la modalità di ricerca predefinita per elenchi e alberi nel workbench.","Con lo stile di spostamento da tastiera simple lo stato attivo si trova sugli elementi che corrispondono all'input da tastiera. L'abbinamento viene effettuato solo in base ai prefissi.","Con lo stile di spostamento da tastiera highlight vengono evidenziati gli elementi corrispondenti all'input da tastiera. Spostandosi ulteriormente verso l'alto o verso il basso ci si sposterà solo negli elementi evidenziati.","Con lo stile di spostamento da tastiera filter verranno filtrati e nascosti tutti gli elementi che non corrispondono all'input da tastiera.","Controlla lo stile di spostamento da tastiera per elenchi e alberi nel workbench. Le opzioni sono: simple, highlight e filter.","In alternativa, usare 'workbench.list.defaultFindMode' e 'workbench.list.typeNavigationMode'.","Usa la corrispondenza fuzzy durante la ricerca.","Usa corrispondenza contigua durante la ricerca.","Controlla il tipo di corrispondenza usato per la ricerca di elenchi e alberi nel workbench.","Controlla l'espansione delle cartelle di alberi quando si fa clic sui nomi delle cartelle. Tenere presente che alcuni alberi ed elenchi potrebbero scegliere di ignorare questa impostazione se non è applicabile.","Controlla se lo scorrimento permanente è abilitato negli alberi.","Controlla il numero di elementi permanenti visualizzati nell'albero quando {0} è abilitato.","Controlla il funzionamento dello spostamento dei tipi in elenchi e alberi nel workbench. Se impostato su 'trigger', l'esplorazione del tipo inizia dopo l'esecuzione del comando 'list.triggerTypeNavigation'.","Errore","Avviso","Info","Errori","Avvisi","Messaggi informativi",'I problemi sono sospesi perché: "{0}"','I problemi sono sospesi perché: "{0}" e altri {1}',"usate di recente","comandi simili","più usato","altri comandi","comandi simili","{0}, {1}","Il comando '{0}' ha restituito un errore","{0}, {1}","Indica se lo stato attivo della tastiera si trova all'interno del controllo di input rapido","L'allineamento dell'inserimento rapido","Tipo dell'input rapido attualmente visibile","Indica se il cursore nell'input rapido si trova alla fine della casella di input","Indietro","Premere 'INVIO' per confermare l'input oppure 'ESC' per annullare","{0}/{1}","Digitare per ridurre il numero di risultati."
Line truncated
|
||||
@@ -0,0 +1,17 @@
|
||||
define("vs/nls.messages.ja.js",(function(){"use strict";/*!-----------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Version: 0.55.1(516f350bdaf7a82f6731bd128a9ec86a6e5fa47d)
|
||||
* Released under the MIT license
|
||||
* https://github.com/microsoft/vscode/blob/main/LICENSE.txt
|
||||
*-----------------------------------------------------------*/globalThis._VSCODE_NLS_MESSAGES=["{0} ({1})","入力","大文字と小文字を区別する","単語単位で検索する","正規表現を使用する","入力","保持する","{0} を使用して、ユーザー補助対応のビューでこれを検査します。","キー バインドを介して現在トリガーできない [ユーザー補助対応のビューを開く] コマンドを使用して、ユーザー補助対応のビューでこれを検査します。","エラー: {0}","警告: {0}","情報: {0}"," または履歴の {0}"," (履歴の {0})","クリアされた入力","バインドなし","ボックスを選択","その他の操作...","入力して検索","閉じる","入力して検索","結果が見つかりません。","結果はありません","{0} 件の結果","入力してフィルター","入力して検索","フィルター","あいまい一致","(空)","{0}: {1}","システム エラーが発生しました ({0})","不明なエラーが発生しました。ログで詳細を確認してください。","不明なエラーが発生しました。ログで詳細を確認してください。","{0} (合計 {1} エラー)","不明なエラーが発生しました。ログで詳細を確認してください。","Ctrl","Shift","Alt","Windows","Ctrl","Shift","Alt","Super","Control","Shift","オプション","コマンド","Control","Shift","Alt","Windows","Control","Shift","Alt","Super","拡張機能","統合ターミナル","チャット","テレメトリ","更新","エディター","この時点では、エディターにアクセスできません。","{0} スクリーン リーダー最適化モードを有効にするには、{1} を使用します","{0} スクリーン リーダー最適化モードを有効にするには、{1} でクイック ピックを開き、[スクリーン リーダー アクセシビリティ モードの切り替え] コマンドを実行します。これは現在キーボードからトリガーできません。","{0} {1} でキーバインド エディターにアクセスし、スクリーン リーダー アクセシビリティ モードの切り替えコマンドにキーバインドを割り当てて実行してください。","エディター","長い行に移動しても行末に位置します","長い行に移動しても行末に位置します","セカンダリ カーソルが削除されました","元に戻す(&&U)","元に戻す","元に戻す","やり直し(&&R)","やり直し","やり直し","すべて選択(&&S)","すべてを選択","すべてを選択","DOM ベースのレンダリングを使用する","インライン補完が現在一時停止されているかどうか","インライン候補のスヌーズ期間を選択してください","インライン提案の再通知","インライン提案の再通知をキャンセル","カーソルの数は {0} に制限されています。大きな変更を行う場合は、[検索と置換](https://code.visualstudio.com/docs/editor/codebasics#_find-and-replace) を使用することを検討してください。","マルチ カーソルの上限を増やす","変更されていない領域の折りたたみの切り替え","移動したコード ブロックの表示の切り替え","スペースが制限されている場合に [インライン ビューの使用] を切り替える","差分エディター","サイドの切り替え","比較移動の終了","変更されていないすべてのリージョンを折りたたむ","変更されていないすべてのリージョンを表示する","元に戻す","アクセシビリティの高い差分ビューアー","次の差分に移動","前の差分に移動","アクセシビリティの高い差分ビューアーの [挿入] のアイコン。","アクセシビリティの高い差分ビューアーの [削除] のアイコン。","アクセシビリティの高い差分ビューアーの [閉じる] のアイコン。","閉じる","アクセス可能な Diff Viewer。上下方向キーを使用して移動します。","変更された行はありません","1 行が変更されました","{0} 行が変更されました","相違 {0}/{1}: 元の行 {2}、{3}。変更された行 {4}、{5}","空白","{0} 変更されていない行 {1}","{0} 元の行 {1} 変更された行 {2}","+ {0} 変更された行 {1}","- {0} 元の行 {1}"," {0}を使用して、アクセシビリティのヘルプを開きます。","削除された行のコピー","削除された行のコピー","変更された行のコピー","変更された行のコピー","削除された行のコピー ({0})","変更された行のコピー ({0})","この変更を元に戻す","スペースが制限されている場合はインライン ビューを使用する","移動されたコード ブロックの表示","ブロックを元に戻す","選択範囲を元に戻す","アクセシビLine truncated
|
||||
- 0 を使用してフォント サイズから行の高さを自動的に計算します。\r
|
||||
- 0 から 8 までの値は、フォント サイズの乗数として使用されます。\r
|
||||
- 8 以上の値は有効値として使用されます。`,"ミニマップを表示するかどうかを制御します。","ミニマップは常に表示されます。","ミニマップは、マウスがミニマップ上にない場合に非表示になり、マウスがミニマップの上にあるときに表示されます。","ミニマップは、エディターがスクロールされているときにのみ表示されます","ミニマップを自動的に非表示するかどうかを制御します。","ミニマップのサイズは、エディターのコンテンツと同じです (スクロールする場合があります)。","ミニマップは、必要に応じて、エディターの高さを埋めるため、拡大または縮小します (スクロールしません)。","ミニマップは必要に応じて縮小し、エディターより大きくなることはありません (スクロールしません)。","ミニマップのサイズを制御します。","ミニマップを表示する場所を制御します。","ミニマップ スライダーを表示するタイミングを制御します。","ミニマップに描画されるコンテンツのスケール: 1、2、または 3。","行にカラー ブロックではなく実際の文字を表示します。","表示するミニマップの最大幅を特定の列数に制限します。","ミニマップの名前付き領域をセクション ヘッダーとして表示するかどうかを制御します。","MARK: コメントをミニマップのセクション ヘッダーとして表示するかどうかを制御します。","コメント内のセクション ヘッダーを検索するために使用する正規表現を定義します。正規表現には、セクション ヘッダーをカプセル化する名前付き一致グループ 'label' ('(?<label>.+)' と記述) が含まれている必要があります。それ以外の場合は機能しません。必要に応じて、'separator' という名前の別の一致グループを含めることができます。パターン内の \\n を使用して、複数行のヘッダーを照合します。","ミニマップのセクション ヘッダーのフォント サイズを制御します。","セクション ヘッダーの文字間隔をピクセル単位で制御します。これにより、小さいフォント サイズのヘッダーを読み取りやすくなります。","エディターの上端と最初の行の間の余白の大きさを制御します。","エディターの下端と最後の行の間の余白の大きさを制御します。","入力時にパラメーター ドキュメントと型情報を表示するポップアップを有効にします。","パラメーター ヒント メニューを周回するか、リストの最後で閉じるかどうかを制御します。","提案ウィジェット内にクイック候補が表示される","クイック候補がゴースト テキストとして表示される","クイック候補が無効になっています","文字列内でクイック候補を有効にします。","コメント内でクイック候補を有効にします。","文字列およびコメント外でクイック候補を有効にします。","入力中に候補を自動的に表示するかどうかを制御します。これは、コメント、文字列、およびその他のコードを入力するために制御できます。クイック提案は、ゴースト テキストとして表示するか、提案ウィジェットで表示するように構成できます。また、提案が特殊文字によってトリガーされるかどうかを制御する {0}-設定にも注意してください。","行番号は表示されません。","行番号は、絶対値として表示されます。","行番号は、カーソル位置までの行数として表示されます。","行番号は 10 行ごとに表示されます。","行番号の表示を制御します。","このエディターのルーラーがレンダリングする単一領域の文字数。","このエディターのルーラーの色です。","特定の等幅文字数の後に垂直ルーラーを表示します。複数のルーラーには複数の値を使用します。配列が空の場合はルーラーを表示しません。","垂直スクロールバーは、必要な場合にのみ表示されます。","垂直スクロールバーは常に表示されます。","垂直スクロールバーは常に非表示になります。","垂直スクロールバーの表示を制御します。","水平スクロールバーは、必要な場合にのみ表示されます。","水平スクロールバーは常に表示されます。","水平スクロールバーは常に非表示になります。","水平スクロールバーの表示を制御します。","垂直スクロールバーの幅。","水平スクロールバーの高
Line truncated
|
||||
この種類の編集が複数ある場合は、エディターにピッカーが表示されます。この種類の編集がない場合は、エディターにエラー メッセージが表示されます。`,`適用を試みるユーザー設定の貼り付け編集の種類の一覧。\r
|
||||
ユーザー設定に一致する最初の編集が適用されます。`,"貼り付けのオプション...","テキストとして貼り付け","貼り付けウィジェットが表示されているかどうか","貼り付けオプションを表示...","空","'{0}' の貼り付けの編集が見つかりませんでした","'{0}' の貼り付けの編集を解決しています。クリックしてキャンセル","貼り付けハンドラーを実行しています。クリックしてキャンセルし、基本的な貼り付けを行います","既定の貼り付けアクションを構成する","貼り付け操作の選択","貼り付けハンドラーを実行しています...","プレーンテキストの挿入","URI の挿入","URI の挿入","パスの挿入","パスの挿入","相対パスの挿入","相対パスの挿入","HTML の挿入","ドロップ ウィジェットが表示されているかどうか","ドロップ オプションを表示...","ドロップ ハンドラーを実行しています。クリックしてキャンセルします",`編集 '{0}' の解決中にエラーが発生しました:\r
|
||||
{1}`,`編集 '{0}' の適用中にエラーが発生しました:\r
|
||||
{1}`,"エディターで取り消し可能な操作 ('参照をここに表示' など) を実行するかどうか","ファイルが大きすぎるため、すべての置換アクションを実行できません。","検索(&&F)","一致しません。他の項目を検索してみてください。","特定の一致に移動する数値を入力します (1 から {0})","1 ~ {0} の数を入力してください。","1 ~ {0} の数を入力してください。","置換(&&R)","検索","引数を使用して検索","選択範囲で検索","次を検索","前を検索","[一致] に移動...","次の選択項目を検索","前の選択項目を検索","置換","エディターの検索ウィジェットが折りたたまれていることを示すアイコン。","エディターの検索ウィジェットが展開されていることを示すアイコン。","エディターの検索ウィジェット内の '選択範囲を検索' のアイコン。","エディターの検索ウィジェット内の '置換' のアイコン。","エディターの検索ウィジェット内の 'すべて置換' のアイコン。","エディターの検索ウィジェット内の '前を検索' のアイコン。","エディターの検索ウィジェット内の '次を検索' のアイコン。","検索/置換","検索","検索","前の一致項目","次の一致項目","選択範囲を検索","閉じる","置換","置換","置換","すべて置換","置換の切り替え","最初の {0} 件の結果だけが強調表示されますが、すべての検索操作はテキスト全体で機能します。","{0} / {1} 件","結果はありません。","{0} が見つかりました","{0} が '{1}' で見つかりました","{0} は '{1}' で {2} に見つかりました","{0} が '{1}' で見つかりました","展開","再帰的に展開する","折りたたみ","折りたたみの切り替え","再帰的に折りたたむ","折りたたみを再帰的に切り替える","すべてのブロック コメントの折りたたみ","すべての領域を折りたたむ","すべての領域を展開","選択した項目を除くすべて折りたたみ","選択した項目を除くすべて展開","すべて折りたたみ","すべて展開","親フォールドに移動する","前のフォールディング範囲に移動する","次のフォールディング範囲に移動する","選択範囲から折りたたみ範囲を作成する","手動折りたたみ範囲を削除する","折りたたみのインポートの切り替え","レベル {0} で折りたたむ","折り曲げる範囲の背景色。基の装飾を隠さないように、色は不透明であってはなりません。","折りたたまれた範囲の最初の行の後で折りたたまれたテキストの色。","エディターの余白にある折りたたみコントロールの色。","エディターのグリフ余白内の展開された範囲のアイコン。","エディターのグリフ余白内の折りたたまれた範囲のアイコン。","エディターのグリフ余白内の折りたたまれた範囲のアイコン。","エディターのグリフ余白内で手動で展開された範囲のアイコン。","クリックして範囲を展開します。","クリックして範囲を折りたたみます。","エディターのフォント サイズを拡大","エディターのフォント サイズを縮小","エディターのフォント サイズをリセット","ドキュメントのフォーマット","選択範囲のフォーマット","次のマーカーへ移動するためのアイコン。","前のマーカーへ移動するためのアイコン。","次の問題箇所(&&P)","前の問題箇所(&&P)","次の問題 (エラー、警告、情報) へ移動","前の問題 (エラー、警告、情報) へ移動","ファイル内の次の問題 (エラー、警告、情報) へ移動","ファイル内の前の問題 (エラー、警告、情報) へ移動","エラー","警告","情報","ヒント","{0} ({1})。","{1} 件中 {0} 件の問題","問題 {0} / {1}","エディターのマーカー ナビゲーション ウィジェットのエラーの色。","エディターのマーカー ナビゲーション ウィジェット エラーの見出しの背景。","エディターのマーカー ナビゲーション ウィジェットの警告の色。","エディターのマーカー ナビゲーション ウィジェット警告の見出しの背景。","エディターのマーカー ナビゲーション ウィジェットの情報の色。","エディターのマーカー ナビゲーション ウィジェット情報の見出しの背景。","エディターのマーカー ナビゲーション ウィジェットの背景。","ピーク","定義","'{0}' の定義は見つかりません","定義が見つかりません","定義に移動(&&D)","宣言","'{0}' の宣言が見つかりません","宣言が見つかりませ
Line truncated
|
||||
\r
|
||||
それらをファイルから削除することをお勧めします。これは 'editor.unusualLineTerminators' を使用して構成できます。`,"特殊な行の終端記号を削除する(&&R)","無視する","変数の読み取りなど、読み取りアクセス中のシンボルの背景色。下にある装飾を隠さないために、色は不透過であってはなりません。","変数への書き込みなど、書き込みアクセス中のシンボル背景色。下にある装飾を隠さないために、色は不透過であってはなりません。","記号のテキスト出現の背景色。基になる装飾が非表示ならないように、この色を不透明にすることはできません。","変数の読み取りなど読み取りアクセス中のシンボルの境界線の色。","変数への書き込みなど書き込みアクセス中のシンボルの境界線の色。","記号のテキスト出現箇所の境界線の色。","シンボルによって強調表示される概要ルーラーのマーカーの色。マーカーの色は、基になる装飾を隠さないように不透明以外にします。","書き込みアクセス シンボルを強調表示する概要ルーラーのマーカー色。下にある装飾を隠さないために、色は不透過であってはなりません。","記号のテキスト出現の概要ルール マーカーの色。基になる装飾が非表示ならないように、この色を不透明にすることはできません。","次のシンボル ハイライトに移動","前のシンボル ハイライトに移動","シンボル ハイライトをトリガー","単語の削除","位置でのエラー","エラー","位置での警告","警告","行のエラー","行のエラー","行の警告","行の警告","行の折りたたまれた面","折りたたみ済み","行のブレークポイント","ブレークポイント","行のインライン候補","次の編集提案行","次の編集提案","ターミナル クイック修正","クイック修正","ブレークポイントでデバッガーが停止しました","ブレークポイント","行にインレイ ヒントがありません","インレイ ヒントがありません","タスクが完了しました","タスクが完了しました","タスクが失敗しました","タスクが失敗しました","ターミナル コマンドが失敗しました","コマンドに失敗しました","ターミナル コマンドに成功しました","コマンドが成功しました","ターミナル ベル","ターミナル ベル","ノートブック セルが完了しました","ノートブック セルが完了しました","ノートブック セルが失敗しました","ノートブック セルが失敗しました","差分行が挿入されました","差分行が削除されました","変更された差分行","変更されたファイルのチャット編集","チャットの編集からファイルが変更されました","チャット要求が送信されました","チャット要求が送信されました","チャット応答を受信しました","コード アクション要求がトリガーされました","コード アクション要求がトリガーされました","コード アクションが適用されました","進行状況","進行状況","クリア","クリア","保存","保存","形式","形式","音声録音が開始されました","音声録音が停止されました","保持された編集","保持された編集","編集を元に戻す","編集が元に戻されました","チャット ユーザー操作が必要です","チャット ユーザー操作が必要です","表示","ヘルプ","テスト","ファイル","基本設定","開発者","{0} ({1})","{0} ({1})",`{0}\r
|
||||
[{1}] {2}`,"{1} から {0}","{0} ({1})","非表示","メニューのリセット","'{0}' の非表示","キーバインドの構成","{0} で適用する、{1} でプレビューする","{0} を押して適用","{0}、無効になった理由: {1}","アクション ウィジェット","アクション バーの切り替え済みアクション項目の背景色。","アクション ウィジェットの一覧が表示されるかどうか","アクション ウィジェットを非表示にする","前のアクションを選択","次のアクションを選択","選択した操作を承諾","選択したアクションのプレビュー","既定の言語構成のオーバーライド","{0} の場合にオーバーライドされる設定を構成します。","言語に対して上書きされるエディター設定を構成します。","この設定では、言語ごとの構成はサポートされていません。","言語に対して上書きされるエディター設定を構成します。","この設定では、言語ごとの構成はサポートされていません。","空のプロパティは登録できません","'{0}' を登録できません。これは、言語固有のエディター設定を記述するプロパティ パターン '\\\\[.*\\\\]$' に一致しています。'configurationDefaults' コントリビューションを使用してください。","'{0}' を登録できません。このプロパティは既に登録されています。","'{0}' を登録できません。関連付けられたポリシー {1} は既に {2} に登録されています。","コンテキスト キーに関する情報を返すコマンド","空のコンテキスト キー式","式を書き忘れましたか? 'false' または 'true' を指定すると、それぞれ常に false または true と評価できます。","'not' の後に 'in' があります。","終わりかっこ ')'","予期しないトークン","トークンの前に && または || を指定し忘れましたか?","予期しない式の終わり","コンテキスト キーを指定し忘れましたか?",`期待値: {0}\r
|
||||
受取済み: '{1}'。`,"オペレーティング システムが macOS であるかどうか","オペレーティング システムが Linux であるかどうか","オペレーティング システムが Windows であるかどうか","プラットフォームが Web ブラウザーであるかどうか","オペレーティング システムが非ブラウザー プラットフォーム上の macOS であるかどうか","オペレーティング システムが iOS であるかどうか","プラットフォームがモバイル Web ブラウザーであるかどうか","VS Code の品質の種類","キーボードのフォーカスが入力ボックス内にあるかどうか","{0} を意図していましたか?","{0} または {1} を意図していましたか?","{0}、{1}、または {2} を意図していましたか?","見積もりを開いたり閉じたりし忘れましたか?","'/' (スラッシュ) 文字をエスケープし忘れましたか? エスケープする前に '\\\\/' などの 2 つの円記号を指定してください。","候補を表示するかどうか","{0} キーを押しながらマウス ポインターを合わせます","読み込んでいます...","({0}) が渡されました。2 番目のキーを待っています...","({0}) が渡されました。次のキーを待っています...","キーの組み合わせ ({0}、{1}) はコマンドではありません。","キーの組み合わせ ({0}、{1}) はコマンドではありません。","ワークベンチ","Windows および Linux 上の `Control` キーと macOS 上の `Command` キーに割り当てます。","Windows および Linux 上の `Alt` キーと macOS 上の `Option` キーに割り当てます。","マウスを使用して項目を複数選択するときに使用する修飾キーです (たとえば、エクスプローラーでエディターと scm ビューを開くなど)。'横に並べて開く' マウス ジェスチャー (がサポートされている場合) は、複数選択の修飾キーと競合しないように調整されます。","マウスを使用して、ツリーとリスト内の項目を開く方法を制御します (サポートされている場合)。適用できない場合、一部のツリーやリストではこの設定が無視されることがあります。","リストとツリーがワークベンチで水平スクロールをサポートするかどうかを制御します。警告: この設定をオンにすると、パフォーマンスに影響があります。","スクロールバーのクリックでページごとにスクロールするかどうかを制御します。","ツリーのインデントをピクセル単位で制御します。","ツリーでインデントのガイドを表示するかどうかを制御します。","リストとツリーでスムーズ スクロールを使用するかどうかを制御します。","マウス ホイール スクロール イベントの `deltaX` と `deltaY` で使用される乗数。","`Alt` を押すと、スクロール速度が倍増します。","検索時に要素を強調表示します。さらに上下のナビゲーションでは、強調表示された要素のみがスキャンされます。","検索時に要素をフィルター処理します。","ワークベンチのリストとツリーの既定の検索モードを制御します。","簡単なキーボード ナビゲーションは、キーボード入力に一致する要素に焦点を当てます。一致処理はプレフィックスでのみ実行されます。","キーボード ナビゲーションの強調表示を使用すると、キーボード入力に一致する要素が強調表示されます。上および下への移動は、強調表示されている要素のみを移動します。","キーボード ナビゲーションのフィルターでは、キーボード入力に一致しないすべての要素がフィルター処理され、非表示になります。","ワークベンチのリストおよびツリーのキーボード ナビゲーション スタイルを制御します。単純、強調表示、フィルターを指定できます。","代わりに 'workbench.list.defaultFindMode' と 'workbench.list.typeNavigationMode' を使用してください。","検索時にあいまい一致を使用します。","検索時に連続一致を使用します。","ワークベンチでリストとツリーを検索するときに使用される一致の種類を制御します。","フォルダー名をクリックしたときにツリー フォルダーが展開される方法を制御します。適用できない場合、一部のツリーやリストではこの設定が無視されることがあります。","ツリーでスティッキー スクロールを有効にするかどうかを制御します。","{0} が有効な場合に、ツリーに表示される固定要素の数を制御し
Line truncated
|
||||
@@ -0,0 +1,10 @@
|
||||
define("vs/nls.messages.js",["./_commonjsHelpers-CT9FvmAN"],(function(t){"use strict";var e={},o;function r(){return o||(o=1,globalThis._VSCODE_NLS_MESSAGES=["{0} ({1})","input","Match Case","Match Whole Word","Use Regular Expression","input","Preserve Case","Inspect this in the accessible view with {0}.","Inspect this in the accessible view via the command Open Accessible View which is currently not triggerable via keybinding.","Error: {0}","Warning: {0}","Info: {0}"," or {0} for history"," ({0} for history)","Cleared Input","Unbound","Select Box","More Actions...","Type to search","Close","Type to search","No results found.","No results","{0} results","Type to filter","Type to search","Filter","Fuzzy Match","(empty)","{0}: {1}","A system error occurred ({0})","An unknown error occurred. Please consult the log for more details.","An unknown error occurred. Please consult the log for more details.","{0} ({1} errors in total)","An unknown error occurred. Please consult the log for more details.","Ctrl","Shift","Alt","Windows","Ctrl","Shift","Alt","Super","Control","Shift","Option","Command","Control","Shift","Alt","Windows","Control","Shift","Alt","Super","Extensions","Integrated Terminal","Chat","Telemetry","Update","editor","The editor is not accessible at this time.","{0} To enable screen reader optimized mode, use {1}","{0} To enable screen reader optimized mode, open the quick pick with {1} and run the command Toggle Screen Reader Accessibility Mode, which is currently not triggerable via keyboard.","{0} Please assign a keybinding for the command Toggle Screen Reader Accessibility Mode by accessing the keybindings editor with {1} and run it.","editor","Stick to the end even when going to longer lines","Stick to the end even when going to longer lines","Removed secondary cursors","&&Undo","Undo","Undo","&&Redo","Redo","Redo","&&Select All","Select All","Select All","Use DOM-based rendering","Whether inline completions are currently snoozed","Select snooze duration for Inline Suggestions","Snooze Inline Suggestions","Cancel Snooze Inline Suggestions","The number of cursors has been limited to {0}. Consider using [find and replace](https://code.visualstudio.com/docs/editor/codebasics#_find-and-replace) for larger changes or increase the editor multi cursor limit setting.","Increase Multi Cursor Limit","Toggle Collapse Unchanged Regions","Toggle Show Moved Code Blocks","Toggle Use Inline View When Space Is Limited","Diff Editor","Switch Side","Exit Compare Move","Collapse All Unchanged Regions","Show All Unchanged Regions","Revert","Accessible Diff Viewer","Go to Next Difference","Go to Previous Difference","Icon for 'Insert' in accessible diff viewer.","Icon for 'Remove' in accessible diff viewer.","Icon for 'Close' in accessible diff viewer.","Close","Accessible Diff Viewer. Use arrow up and down to navigate.","no lines changed","1 line changed","{0} lines changed","Difference {0} of {1}: original line {2}, {3}, modified line {4}, {5}","blank","{0} unchanged line {1}","{0} original line {1} modified line {2}","+ {0} modified line {1}","- {0} original line {1}"," use {0} to open the accessibility help.","Copy deleted lines","Copy deleted line","Copy changed lines","Copy changed line","Copy deleted line ({0})","Copy changed line ({0})","Revert this change","Use Inline View When Space Is Limited","Show Moved Code Blocks","Revert Block","Revert Selection","Open Accessible Diff Viewer","Fold Unchanged Region","{0} hidden lines","Click or drag to show more above","Show Unchanged Region","Click or drag to show more below","{0} hidden lines","Double click to unfold","Code moved with changes to line {0}-{1}","Code moved with changes from line {0}-{1}","Code moved to line {0}-{1}","Code moved from line {0}-{1}","Revert Selected Changes","Revert Change","The border color for text that got moved in the diff editor.","The active border color for text that got moved in the diff editor.","The color of the shadow around unchanged region widgets.","Line decoration for inserts in the diff editor.","Line decoration for removals in the diff editor.","The background color of the diff editor's header","The background color of the multi file diff editor","The border color of the multi file diff editor","Loading...","No Changed Files","Editor","The number of spaces a tab is equal to. This setting is overridden based on the file contents when {0} is on.",'The number of spaces used for indentation or `"tabSize"` to use the value from `#editor.tabSize#`. This setting is overridden based on the file contents when `#editor.detectIndentation#` is on.',"Insert spaces when pressing `Tab`. This setting is overridden based on the file contents when {0} is on.","Controls whether {0} and {1} will be automatically detected when a file is opened based on the file contents.","Remove trailing auto inserted whitespace.","Special handling for large files to disable certain memory intensive features.","Turn off Word Based Suggestions.","Only suggLine truncated
|
||||
- Use 0 to automatically compute the line height from the font size.
|
||||
- Values between 0 and 8 will be used as a multiplier with the font size.
|
||||
- Values greater than or equal to 8 will be used as effective values.`,"Controls whether the minimap is shown.","The minimap is always shown.","The minimap is hidden when mouse is not over the minimap and shown when mouse is over the minimap.","The minimap is only shown when the editor is scrolled","Controls whether the minimap is hidden automatically.","The minimap has the same size as the editor contents (and might scroll).","The minimap will stretch or shrink as necessary to fill the height of the editor (no scrolling).","The minimap will shrink as necessary to never be larger than the editor (no scrolling).","Controls the size of the minimap.","Controls the side where to render the minimap.","Controls when the minimap slider is shown.","Scale of content drawn in the minimap: 1, 2 or 3.","Render the actual characters on a line as opposed to color blocks.","Limit the width of the minimap to render at most a certain number of columns.","Controls whether named regions are shown as section headers in the minimap.","Controls whether MARK: comments are shown as section headers in the minimap.","Defines the regular expression used to find section headers in comments. The regex must contain a named match group `label` (written as `(?<label>.+)`) that encapsulates the section header, otherwise it will not work. Optionally you can include another match group named `separator`. Use \\n in the pattern to match multi-line headers.","Controls the font size of section headers in the minimap.","Controls the amount of space (in pixels) between characters of section header. This helps the readability of the header in small font sizes.","Controls the amount of space between the top edge of the editor and the first line.","Controls the amount of space between the bottom edge of the editor and the last line.","Enables a pop-up that shows parameter documentation and type information as you type.","Controls whether the parameter hints menu cycles or closes when reaching the end of the list.","Quick suggestions show inside the suggest widget","Quick suggestions show as ghost text","Quick suggestions are disabled","Enable quick suggestions inside strings.","Enable quick suggestions inside comments.","Enable quick suggestions outside of strings and comments.","Controls whether suggestions should automatically show up while typing. This can be controlled for typing in comments, strings, and other code. Quick suggestion can be configured to show as ghost text or with the suggest widget. Also be aware of the {0}-setting which controls if suggestions are triggered by special characters.","Line numbers are not rendered.","Line numbers are rendered as absolute number.","Line numbers are rendered as distance in lines to cursor position.","Line numbers are rendered every 10 lines.","Controls the display of line numbers.","Number of monospace characters at which this editor ruler will render.","Color of this editor ruler.","Render vertical rulers after a certain number of monospace characters. Use multiple values for multiple rulers. No rulers are drawn if array is empty.","The vertical scrollbar will be visible only when necessary.","The vertical scrollbar will always be visible.","The vertical scrollbar will always be hidden.","Controls the visibility of the vertical scrollbar.","The horizontal scrollbar will be visible only when necessary.","The horizontal scrollbar will always be visible.","The horizontal scrollbar will always be hidden.","Controls the visibility of the horizontal scrollbar.","The width of the vertical scrollbar.","The height of the horizontal scrollbar.","Controls whether clicks scroll by page or jump to click position.","When set, the horizontal scrollbar will not increase the size of the editor's content.","Controls whether all non-basic ASCII characters are highlighted. Only characters between U+0020 and U+007E, tab, line-feed and carriage-return are considered basic ASCII.","Controls whether characters that just reserve space or have no width at all are highlighted.","Controls whether characters are highlighted that can be confused with basic ASCII characters, except those that are common in the current user locale.","Controls whether characters in comments should also be subject to Unicode highlighting.","Controls whether characters in strings should also be subject to Unicode highlighting.","Defines allowed characters that are not being highlighted.","Unicode characters that are common in allowed locales are not being highlighted.","Controls whether to automatically show inline suggestions in the editor.","Show the inline suggestion toolbar whenever an inline suggestion is shown.","Show the inline suggestion toolbar when hovering over an inline suggestion.","Never show the inline suggestion toolbar.","Controls when to show the inline suggestion toolbar.","Controls whether to show syntax highlighting for inline suggestions in the editor.","Controls how inline suggestions interact with the suggest widget. If en
Line truncated
|
||||
If there are multiple edits for this kind, the editor will show a picker. If there are no edits of this kind, the editor will show an error message.`,`List of preferred paste edit kind to try applying.
|
||||
The first edit matching the preferences will be applied.`,"Paste As...","Paste as Text","Whether the paste widget is showing","Show paste options...","empty","No paste edits for '{0}' found","Resolving paste edit for '{0}'. Click to cancel","Running paste handlers. Click to cancel and do basic paste","Configure default paste action","Select Paste Action","Running paste handlers","Insert Plain Text","Insert Uris","Insert Uri","Insert Paths","Insert Path","Insert Relative Paths","Insert Relative Path","Insert HTML","Whether the drop widget is showing","Show drop options...","Running drop handlers. Click to cancel",`Error resolving edit '{0}':
|
||||
{1}`,`Error applying edit '{0}':
|
||||
{1}`,"Whether the editor runs a cancellable operation, e.g. like 'Peek References'","The file is too large to perform a replace all operation.","&&Find","No matches. Try searching for something else.","Type a number to go to a specific match (between 1 and {0})","Please type a number between 1 and {0}","Please type a number between 1 and {0}","&&Replace","Find","Find with Arguments","Find with Selection","Find Next","Find Previous","Go to Match...","Find Next Selection","Find Previous Selection","Replace","Icon to indicate that the editor find widget is collapsed.","Icon to indicate that the editor find widget is expanded.","Icon for 'Find in Selection' in the editor find widget.","Icon for 'Replace' in the editor find widget.","Icon for 'Replace All' in the editor find widget.","Icon for 'Find Previous' in the editor find widget.","Icon for 'Find Next' in the editor find widget.","Find / Replace","Find","Find","Previous Match","Next Match","Find in Selection","Close","Replace","Replace","Replace","Replace All","Toggle Replace","Only the first {0} results are highlighted, but all find operations work on the entire text.","{0} of {1}","No results","{0} found","{0} found for '{1}'","{0} found for '{1}', at {2}","{0} found for '{1}'","Unfold","Unfold Recursively","Fold","Toggle Fold","Fold Recursively","Toggle Fold Recursively","Fold All Block Comments","Fold All Regions","Unfold All Regions","Fold All Except Selected","Unfold All Except Selected","Fold All","Unfold All","Go to Parent Fold","Go to Previous Folding Range","Go to Next Folding Range","Create Folding Range from Selection","Remove Manual Folding Ranges","Toggle Import Fold","Fold Level {0}","Background color behind folded ranges. The color must not be opaque so as not to hide underlying decorations.","Color of the collapsed text after the first line of a folded range.","Color of the folding control in the editor gutter.","Icon for expanded ranges in the editor glyph margin.","Icon for collapsed ranges in the editor glyph margin.","Icon for manually collapsed ranges in the editor glyph margin.","Icon for manually expanded ranges in the editor glyph margin.","Click to expand the range.","Click to collapse the range.","Increase Editor Font Size","Decrease Editor Font Size","Reset Editor Font Size","Format Document","Format Selection","Icon for goto next marker.","Icon for goto previous marker.","Next &&Problem","Previous &&Problem","Go to Next Problem (Error, Warning, Info)","Go to Previous Problem (Error, Warning, Info)","Go to Next Problem in Files (Error, Warning, Info)","Go to Previous Problem in Files (Error, Warning, Info)","Error","Warning","Info","Hint","{0} at {1}. ","{0} of {1} problems","{0} of {1} problem","Editor marker navigation widget error color.","Editor marker navigation widget error heading background.","Editor marker navigation widget warning color.","Editor marker navigation widget warning heading background.","Editor marker navigation widget info color.","Editor marker navigation widget info heading background.","Editor marker navigation widget background.","Peek","Definitions","No definition found for '{0}'","No definition found","Go to &&Definition","Declarations","No declaration found for '{0}'","No declaration found","Go to &&Declaration","No declaration found for '{0}'","No declaration found","Type Definitions","No type definition found for '{0}'","No type definition found","Go to &&Type Definition","Implementations","No implementation found for '{0}'","No implementation found","Go to &&Implementations","No references found for '{0}'","No references found","Go to &&References","References","References","Locations","No results for '{0}'","References","Go to Definition","Open Definition to the Side","Peek Definition","Go to Declaration","Peek Declaration","Go to Type Definition","Peek Type Definition","Go to Implementations","Peek Implementations","Go to References","Peek References","Go to Any Symbol","Click to show {0} definitions.","Whether reference peek is visible, like 'Peek References' or 'Peek Definition'","Loading...","{0} ({1})","{0} references","{0} reference","References","no preview available","No results","References","in {0} on line {1} at column {2}","{0} in {1} on line {2} at column {3}","1 symbol in {0}, full path {1}","{0} symbols in {1}, full path {2}","No results found","Found 1 symbol in {0}","Found {0} symbols in {1}","Found {0} symbols in {1} files","Whether there are symbol locations that can be navigated via keyboard-only.","Symbol {0} of {1}, {2} for next","Symbol {0} of {1}","Log Texture Atlas Stats","Save Texture Atlas","Draw Glyph","Developer: Debug Editor GPU Renderer","Increase Hover Verbosity Level","Decrease Hover Verbosity Level","The hover will not automatically take focus.","The hover will take focus only if it is already visible.","The hover will automatically take focus when it appears.","Show or Focus Hover","Show or focus the editor hover which shows documentation, references, and oth
Line truncated
|
||||
[{1}] {2}`,"{1} to {0}","{0} ({1})","Hide","Reset Menu","Hide '{0}'","Configure Keybinding","{0} to Apply, {1} to Preview","{0} to Apply","{0}, Disabled Reason: {1}","Action Widget","Background color for toggled action items in action bar.","Whether the action widget list is visible","Hide action widget","Select previous action","Select next action","Accept selected action","Preview selected action","Default Language Configuration Overrides","Configure settings to be overridden for {0}.","Configure editor settings to be overridden for a language.","This setting does not support per-language configuration.","Configure editor settings to be overridden for a language.","This setting does not support per-language configuration.","Cannot register an empty property","Cannot register '{0}'. This matches property pattern '\\\\[.*\\\\]$' for describing language specific editor settings. Use 'configurationDefaults' contribution.","Cannot register '{0}'. This property is already registered.","Cannot register '{0}'. The associated policy {1} is already registered with {2}.","A command that returns information about context keys","Empty context key expression","Did you forget to write an expression? You can also put 'false' or 'true' to always evaluate to false or true, respectively.","'in' after 'not'.","closing parenthesis ')'","Unexpected token","Did you forget to put && or || before the token?","Unexpected end of expression","Did you forget to put a context key?",`Expected: {0}
|
||||
Received: '{1}'.`,"Whether the operating system is macOS","Whether the operating system is Linux","Whether the operating system is Windows","Whether the platform is a web browser","Whether the operating system is macOS on a non-browser platform","Whether the operating system is iOS","Whether the platform is a mobile web browser","Quality type of VS Code","Whether keyboard focus is inside an input box","Did you mean {0}?","Did you mean {0} or {1}?","Did you mean {0}, {1} or {2}?","Did you forget to open or close the quote?","Did you forget to escape the '/' (slash) character? Put two backslashes before it to escape, e.g., '\\\\/'.","Whether suggestion are visible","Hold {0} key to mouse over","Loading...","({0}) was pressed. Waiting for second key of chord...","({0}) was pressed. Waiting for next key of chord...","The key combination ({0}, {1}) is not a command.","The key combination ({0}, {1}) is not a command.","Workbench","Maps to `Control` on Windows and Linux and to `Command` on macOS.","Maps to `Alt` on Windows and Linux and to `Option` on macOS.","The modifier to be used to add an item in trees and lists to a multi-selection with the mouse (for example in the explorer, open editors and scm view). The 'Open to Side' mouse gestures - if supported - will adapt such that they do not conflict with the multiselect modifier.","Controls how to open items in trees and lists using the mouse (if supported). Note that some trees and lists might choose to ignore this setting if it is not applicable.","Controls whether lists and trees support horizontal scrolling in the workbench. Warning: turning on this setting has a performance implication.","Controls whether clicks in the scrollbar scroll page by page.","Controls tree indentation in pixels.","Controls whether the tree should render indent guides.","Controls whether lists and trees have smooth scrolling.","A multiplier to be used on the `deltaX` and `deltaY` of mouse wheel scroll events.","Scrolling speed multiplier when pressing `Alt`.","Highlight elements when searching. Further up and down navigation will traverse only the highlighted elements.","Filter elements when searching.","Controls the default find mode for lists and trees in the workbench.","Simple keyboard navigation focuses elements which match the keyboard input. Matching is done only on prefixes.","Highlight keyboard navigation highlights elements which match the keyboard input. Further up and down navigation will traverse only the highlighted elements.","Filter keyboard navigation will filter out and hide all the elements which do not match the keyboard input.","Controls the keyboard navigation style for lists and trees in the workbench. Can be simple, highlight and filter.","Please use 'workbench.list.defaultFindMode' and 'workbench.list.typeNavigationMode' instead.","Use fuzzy matching when searching.","Use contiguous matching when searching.","Controls the type of matching used when searching lists and trees in the workbench.","Controls how tree folders are expanded when clicking the folder names. Note that some trees and lists might choose to ignore this setting if it is not applicable.","Controls whether sticky scrolling is enabled in trees.","Controls the number of sticky elements displayed in the tree when {0} is enabled.","Controls how type navigation works in lists and trees in the workbench. When set to `trigger`, type navigation begins once the `list.triggerTypeNavigation` command is run.","Error","Warning","Info","Errors","Warnings","Infos",'Problems are paused because: "{0}"','Problems are paused because: "{0}" and {1} more',"recently used","similar commands","commonly used","other commands","similar commands","{0}, {1}","Command '{0}' resulted in an error","{0}, {1}","Whether keyboard focus is inside the quick input control","The alignment of the quick input","The type of the currently visible quick input","Whether the cursor in the quick input is at the end of the input box","Back","Press 'Enter' to confirm your input or 'Escape' to cancel","{0}/{1}","Type to narrow down results.","OK","{0} (Press 'Enter' to confirm or 'Escape' to cancel)","Used while in the context of any kind of quick input. If you change one keybinding for this command, you should change all of the other keybindings (modifier variants) of this command as well.","Used while in the context of the quick pick. If you change one keybinding for this command, you should change all of the other keybindings (modifier variants) of this command as well.","If we're in quick access mode, this will navigate to the next item. If we are not in quick access mode, this will navigate to the next separator.","If we're in quick access mode, this will navigate to the previous item. If we are not in quick access mode, this will navigate to the previous separator.","Used while in the context of some quick input. If you change one keybinding for this command, you should change all of the other keybindings (modifier variants) of this co
Line truncated
|
||||
@@ -0,0 +1,25 @@
|
||||
define("vs/nls.messages.ko.js",(function(){"use strict";/*!-----------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Version: 0.55.1(516f350bdaf7a82f6731bd128a9ec86a6e5fa47d)
|
||||
* Released under the MIT license
|
||||
* https://github.com/microsoft/vscode/blob/main/LICENSE.txt
|
||||
*-----------------------------------------------------------*/globalThis._VSCODE_NLS_MESSAGES=["{0}({1})","입력","대/소문자 구분","단어 단위로","정규식 사용","입력","대/소문자 보존","{0}을(를) 사용하여 접근성 보기에서 이를 검사합니다.","현재 키 바인딩을 통해 트리거할 수 없는 접근성 보기 열기 명령을 통해 접근성 보기에서 이를 검사합니다.","오류: {0}","경고: {0}","정보: {0}"," 또는 {0} 기록의 경우"," ({0} 기록용)","입력이 지워짐","바인딩 안 됨","Box 선택","기타 작업...","입력하여 검색","닫기","입력하여 검색","결과를 찾을 수 없습니다.","결과 없음","{0}개 결과","필터링할 형식","입력하여 검색","필터","유사 항목 일치","(비어 있음)","{0}: {1}","시스템 오류가 발생했습니다({0}).","알 수 없는 오류가 발생했습니다. 자세한 내용은 로그를 참조하세요.","알 수 없는 오류가 발생했습니다. 자세한 내용은 로그를 참조하세요.","{0}(총 {1}개의 오류)","알 수 없는 오류가 발생했습니다. 자세한 내용은 로그를 참조하세요.","Ctrl","Shift","<Alt>","Windows","Ctrl","Shift","<Alt>","슈퍼","Ctrl","Shift","옵션","명령","Ctrl","Shift","<Alt>","Windows","Ctrl","Shift","<Alt>","슈퍼","확장","통합 터미널","채팅","원격 분석","업데이트","편집기","현재 편집기에 액세스할 수 없습니다.","{0} 화면 읽기 프로그램 최적화 모드를 사용하도록 설정하려면 {1}을(를) 사용합니다.","{0} 화면 읽기 프로그램 최적화 모드를 사용하도록 설정하려면 {1}을(를) 사용하여 빠른 선택을 열고 화면 읽기 프로그램 접근성 모드 토글 명령을 실행합니다(이 명령은 현재 키보드를 통해 트리거할 수 없음).","{0} {1}을(를) 사용하여 키 바인딩 편집기에 액세스하여 화면 읽기 프로그램 접근성 모드 토글 명령에 대한 키 바인딩을 할당하고 실행하세요.","편집기","더 긴 줄로 이동하는 경우에도 끝에 고정","더 긴 줄로 이동하는 경우에도 끝에 고정","보조 커서가 제거됨","실행 취소(&&U)","실행 취소","실행 취소","다시 실행(&&R)","다시 실행","다시 실행","모두 선택(&&S)","모두 선택","모두 선택","DOM 기반 렌더링 사용","인라인 완성이 현재 다시 알림 상태인지 여부","인라인 제안의 다시 알림 기간 선택","인라인 제안 다시 알림","인라인 제안 다시 알림 취소","커서 수를 {0}개로 제한했습니다. 더 큰 변경 내용을 위해서는 [찾아서 교체](https://code.visualstudio.com/docs/editor/codebasics#_find-and-replace)를 사용하거나 편집기 다중 커서 제한 설정을 늘리는 것이 좋습니다.","다중 커서 제한 늘리기","변경되지 않은 영역 축소 토글","이동된 코드 블록 표시 토글","공간이 제한된 경우 인라인 보기 사용 설정/해제","diff 편집기","스위치 쪽","비교 이동 종료","변경되지 않은 모든 영역 축소","변경되지 않은 모든 영역 표시","되돌리기","액세스 가능한 Diff 뷰어","다음 다른 항목으로 이동","다음 다른 항목으로 이동","액세스 가능한 Diff 뷰어의 '삽입' 아이콘.","액세스 가능한 Diff 뷰어의 '제거' 아이콘.","접근 가능한 Diff 뷰어의 '닫기' 아이콘.","닫기","액세스 가능한 Diff 뷰어입니다. 탐색하려면 위쪽 및 아래쪽 화살표를 사용합니다.","변경된 줄 없음","선 1개 변경됨","줄 {0}개 변경됨","차이 {0}/{1}: 원래 줄 {2}, {3}, 수정된 줄 {4}, {5}","비어 있음","{0} 변경되지 않은 줄 {1}","{0} 원래 줄 {1} 수정된 줄 {2}","+ {0} 수정된 줄 {1}","- {0} 원래 줄 {1}"," {0}을(를) 사용하여 접근성 도움말을 엽니다.","삭제된 줄 복사","삭제된 줄 복사","변경된 줄 복사","변경된 줄 복사","삭제된 줄 복사({0})","변경된 줄({0}) 복사","이 변경 내용 되돌리기","공간이 제한된 경우 인라인 보기 사용","이동된 코드 블록 표시","블록 되돌리기","선택 항목 되돌리기","액세스 가능한 Diff 뷰어 열기","변경되지 않은 영역 접기","숨겨진 선 {0}개","위에 자세히 표시하려면 클릭하거나 끌어다 놓기","변경되지 않은 영역 표시","아래에 자세히 표시하려면 클릭하거나 끌어다 놓기","숨겨진 선 {0}개","두 번 클릭하여 펼치기","변경 사항과 함께 코드가 {0} - {1}줄로 이동됨","변경 사항과 함께 코드가 {0} - {1}줄에서 이동됨","코드가 {0} - {1}줄로 이동됨","코드가 {0} - {1}줄에서 이동됨","선택한 변경 내용 되돌리기","변경 내용 되돌리기","diff 편집기에서 이동된 텍스트의 테두리 색입니다.","diff 편집기에서 이동된 텍스트의 활성 테두리 색입니다.","변경되지
Line truncated
|
||||
- 0을 사용하여 글꼴 크기에서 줄 높이를 자동으로 계산합니다.\r
|
||||
- 0에서 8 사이의 값은 글꼴 크기의 승수로 사용됩니다.\r
|
||||
- 8보다 크거나 같은 값이 유효 값으로 사용됩니다.`,"미니맵 표시 여부를 제어합니다.","미니맵은 항상 표시됩니다.","마우스가 미니맵 위에 있지 않으면 미니맵이 숨겨지고, 마우스가 미니맵 위에 있으면 미니맵이 표시됩니다.","미니맵은 편집기가 스크롤될 때만 표시됩니다.","미니맵을 자동으로 숨길지 여부를 제어합니다.","미니맵의 크기는 편집기 내용과 동일하며 스크롤할 수 있습니다.","편집기의 높이를 맞추기 위해 필요에 따라 미니맵이 확장되거나 축소됩니다(스크롤 없음).","미니맵을 편집기보다 작게 유지할 수 있도록 필요에 따라 미니맵이 축소됩니다(스크롤 없음).","미니맵의 크기를 제어합니다.","미니맵을 렌더링할 측면을 제어합니다.","미니맵 슬라이더가 표시되는 시기를 제어합니다.","미니맵에 그려진 콘텐츠의 배율: 1, 2 또는 3.","줄의 실제 문자(색 블록 아님)를 렌더링합니다.","최대 특정 수의 열을 렌더링하도록 미니맵의 너비를 제한합니다.","명명된 영역을 미니맵에 섹션 머리글로 표시할지 여부를 제어합니다.","MARK: 주석이 미니맵에 섹션 머리글로 표시되는지 여부를 제어합니다.","주석에서 섹션 헤더를 찾는 데 사용되는 정규식을 정의합니다. regex에는 섹션 헤더를 캡슐화하는 명명된 일치 그룹 'label'('(?<label>.+)'으로 작성됨)이 포함되어야 합니다. 그렇지 않으면 작동하지 않습니다. 필요에 따라 'separator'라는 다른 일치 그룹을 포함할 수 있습니다. 패턴에서 \\n 사용하여 여러 줄 머리글을 일치시킬 수 있습니다.","미니맵에서 섹션 머리글의 글꼴 크기를 제어합니다.","구역 머리글 문자 사이의 간격(픽셀)을 제어합니다. 이렇게 하면 작은 글꼴 크기의 머리글 가독성을 높이는 데 도움이 됩니다.","편집기의 위쪽 가장자리와 첫 번째 줄 사이의 공백을 제어합니다.","편집기의 아래쪽 가장자리와 마지막 줄 사이의 공백을 제어합니다.","입력과 동시에 매개변수 문서와 유형 정보를 표시하는 팝업을 사용하도록 설정합니다.","매개변수 힌트 메뉴의 주기 혹은 목록의 끝에 도달하였을때 종료할 것인지 여부를 결정합니다.","제안 위젯 내부에 빠른 제안이 표시됩니다.","빠른 제안이 유령 텍스트로 표시됨","빠른 제안이 사용 중지되었습니다.","문자열 내에서 빠른 제안을 사용합니다.","주석 내에서 빠른 제안을 사용합니다.","문자열 및 주석 외부에서 빠른 제안을 사용합니다.","입력하는 동안 제안을 자동으로 표시할지 여부를 제어합니다. 이것은 주석, 문자열 및 기타 코드를 입력하기 위해 제어할 수 있습니다. 빠른 제안은 고스트 텍스트 또는 제안 위젯으로 표시하도록 구성할 수 있습니다. 또한 제안이 특수 문자에 의해 실행되는지 여부를 제어하는 {0}-설정에 유의하세요.","줄 번호는 렌더링되지 않습니다.","줄 번호는 절대값으로 렌더링 됩니다.","줄 번호는 커서 위치에서 줄 간격 거리로 렌더링 됩니다.","줄 번호는 매 10 줄마다 렌더링이 이루어집니다.","줄 번호의 표시 여부를 제어합니다.","이 편집기 눈금자에서 렌더링할 고정 폭 문자 수입니다.","이 편집기 눈금자의 색입니다.","특정 수의 고정 폭 문자 뒤에 세로 눈금자를 렌더링합니다. 여러 눈금자의 경우 여러 값을 사용합니다. 배열이 비어 있는 경우 눈금자가 그려지지 않습니다.","세로 스크롤 막대는 필요한 경우에만 표시됩니다.","세로 스크롤 막대가 항상 표시됩니다.","세로 스크롤 막대를 항상 숨깁니다.","세로 스크롤 막대의 표시 유형을 제어합니다.","가로 스크롤 막대는 필요한 경우에만 표시됩니다.","가로 스크롤 막대가 항상 표시됩니다.","가로 스크롤 막대를 항상 숨깁니다.","가로 스크롤 막대의 표시 유형을 제어합니다.","세로 스크롤 막대의 너비입니다.","가로 스크롤 막대의 높이입니다.","클릭이 페이지별로 스크롤되는지 또는 클릭 위치로 이동할지 여부를 제어합니다.","설정하면 가로 스크롤 막대가 편집기 콘텐츠의 크기를 늘리지 않습니다.","기본이 아닌 모든 ASCII 문자를 강조 표시할지 여부를 제어합니다. U+0020과 U+007E 사이의 문자, 탭, 줄 바꿈 및 캐리지 리턴만 기본 ASCII로 간주됩니다.","공백만 예약하거나 너비가 전혀 없는 문자를 강조 표시할지 여부를 제어합니다.","현재 사용자 로캘에서 공통되는 문자를 제외한 기본 ASCII 문자와 혼동할 수 있
Line truncated
|
||||
\r
|
||||
예:\r
|
||||
\`\`\`c\r
|
||||
char* str="hello\\nworld"\r
|
||||
\`\`\`\r
|
||||
은(는) 다음과 같이 표시됩니다.\r
|
||||
\`\`\`c\r
|
||||
char* str="hello\\n\r
|
||||
world"\r
|
||||
\`\`\``,"색 데코레이터를 제공하는 확장이 없는 경우에만 기본 색 데코레이터를 표시합니다.","항상 기본 색 데코레이터를 표시합니다.","기본 색 데코레이터를 표시하지 않습니다.","기본 문서 색 공급자를 사용하여 인라인 색 장식을 표시할지 여부를 제어합니다.","편집기에서 탭을 받을지 또는 탐색을 위해 워크벤치로 미룰지를 제어합니다.","커서 위치의 줄 강조 표시에 대한 배경색입니다.","커서 위치의 줄 테두리에 대한 배경색입니다.","빠른 열기 및 찾기 기능 등을 통해 강조 표시된 영역의 배경색입니다. 기본 장식을 숨기지 않도록 색은 불투명하지 않아야 합니다.","강조 영역 주변의 테두리에 대한 배경색입니다","강조 표시된 기호(예: 정의로 이동 또는 다음/이전 기호로 이동)의 배경색입니다. 이 색상은 기본 장식을 숨기지 않도록 불투명하지 않아야 합니다.","강조 표시된 기호 주위의 테두리 배경색입니다.","편집기 커서 색입니다.","편집기 커서의 배경색입니다. 블록 커서와 겹치는 글자의 색상을 사용자 정의할 수 있습니다.","여러 커서가 있는 경우 기본 편집기 커서의 색입니다.","여러 커서가 있는 경우 기본 편집기 커서의 배경색입니다. 블록 커서와 겹치는 문자의 색을 사용자 지정할 수 있습니다.","여러 커서가 있는 경우 보조 편집기 커서의 색입니다.","여러 커서가 있는 경우 보조 편집기 커서의 배경색입니다. 블록 커서와 겹치는 문자의 색을 사용자 지정할 수 있습니다.","편집기의 공백 문자 색입니다.","편집기 줄 번호 색입니다.","편집기 들여쓰기 안내선 색입니다.","'editorIndentGuide.background'는 더 이상 사용되지 않습니다. 대신 'editorIndentGuide.background1'을 사용하세요.","활성 편집기 들여쓰기 안내선 색입니다.","'editorIndentGuide.activeBackground'는 더 이상 사용되지 않습니다. 대신 'editorIndentGuide.activeBackground1'을 사용하세요.","편집기 들여쓰기 안내선 색(1).","편집기 들여쓰기 안내선 색(2).","편집기 들여쓰기 안내선 색(3).","편집기 들여쓰기 안내선 색(4).","편집기 들여쓰기 안내선 색(5).","편집기 들여쓰기 안내선 색(6).","활성 편집기 들여쓰기 안내선 색(1).","활성 편집기 들여쓰기 안내선 색(2).","활성 편집기 들여쓰기 안내선 색(3).","활성 편집기 들여쓰기 안내선 색(4).","활성 편집기 들여쓰기 안내선 색(5).","활성 편집기 들여쓰기 안내선 색(6).","편집기 활성 영역 줄번호 색상","ID는 사용되지 않습니다. 대신 'editorLineNumber.activeForeground'를 사용하세요.","편집기 활성 영역 줄번호 색상","editor.renderFinalNewline이 흐리게 설정된 경우 최종 편집기 줄의 색입니다.","편집기 눈금의 색상입니다.","편집기 코드 렌즈의 전경색입니다.","일치하는 괄호 뒤의 배경색","일치하는 브래킷 박스의 색상","개요 눈금 경계의 색상입니다.","편집기 개요 눈금자의 배경색입니다.","편집기 거터의 배경색입니다. 거터에는 글리프 여백과 행 수가 있습니다.","편집기의 불필요한(사용하지 않는) 소스 코드 테두리 색입니다.",`편집기의 불필요한(사용하지 않는) 소스 코드 불투명도입니다. 예를 들어 "#000000c0"은 75% 불투명도로 코드를 렌더링합니다. 고대비 테마의 경우 페이드 아웃하지 않고 'editorUnnecessaryCode.border' 테마 색을 사용하여 불필요한 코드에 밑줄을 그으세요.`,"편집기에서 고스트 텍스트의 테두리 색입니다.","편집기에서 고스트 텍스트의 전경색입니다.","편집기에서 고스트 텍스트의 배경색입니다.","범위의 개요 눈금자 표식 색이 강조 표시됩니다. 기본 장식을 숨기지 않도록 색은 불투명하지 않아야 합니다.","오류의 개요 눈금자 마커 색입니다.","경고의 개요 눈금자 마커 색입니다.","정보의 개요 눈금자 마커 색입니다.","대괄호의 전경색(1)입니다. 대괄호 쌍 색 지정을 사용하도록 설정해야 합니다.","대괄호의 전경색(2)입니다. 대괄호 쌍 색 지정을 사용하도록 설정해야 합니다.","대괄호의 전경색(3)입니다. 대괄호 쌍 색 지정을 사용하도록 설정해야 합니다.","대괄호의 전경색(4)입니다. 대괄호 쌍 색 지정을 사용하도록 설정해야 합니다.","대괄호의 전경색(5)입니다. 대괄호 쌍 색 지정을 사용하도록 설정해야 합니다.","대괄호의 전경색(6)입니다. 대괄호 쌍 색 지정을 사용하도록 설정해야 합니다.","예기치 않은 대괄호의 전경색입니다.","비활성 대괄호 쌍
Line truncated
|
||||
이러한 종류의 편집이 여러 개 있는 경우 편집기에 선택기가 표시됩니다. 이러한 종류의 편집이 없으면 편집기에서 오류 메시지가 표시됩니다.`,`적용할 기본 설정 붙여넣기 편집 종류 목록입니다.\r
|
||||
기본 설정과 일치하는 첫 번째 편집이 적용됩니다.`,"다른 이름으로 붙여넣기...","텍스트로 붙여넣기","붙여넣기 위젯이 표시되는지 여부","붙여넣기 옵션 표시...","비어 있음","'{0}'에 대한 붙여넣기 편집을 찾을 수 없습니다.","'{0}' 붙여넣기 편집을 확인하는 중입니다. 취소하려면 클릭하세요.","붙여넣기 처리기를 실행하는 중. 취소하고 기본 붙여넣기를 수행하려면 클릭하세요.","기본 붙여넣기 작업 구성","붙여넣기 작업 선택","붙여넣기 처리기를 실행하는 중","일반 텍스트 삽입","URI 삽입","URI 삽입","경로 삽입","경로 삽입","상대 경로 삽입","상대 경로 삽입","HTML 삽입","드롭 위젯이 표시되는지 여부","드롭 옵션 표시...","드롭 처리기를 실행하는 중입니다. 취소하려면 클릭하세요.",`'{0}' 편집을 확인하는 동안 오류 발생:\r
|
||||
{1}`,`'{0}' 편집을 적용하는 동안 오류 발생:\r
|
||||
{1}`,"편집기에서 취소 가능한 작업(예: '참조 피킹')을 실행하는지 여부","파일이 너무 커서 모두 바꾸기 작업을 수행할 수 없습니다.","찾기(&&F)","일치하는 항목이 없습니다. 다른 내용으로 검색해 보세요.","특정 일치 항목으로 이동하려면 숫자를 입력하세요(1~{0} 사이).","1에서 {0} 사이의 숫자를 입력하세요","1에서 {0} 사이의 숫자를 입력하세요","바꾸기(&&R)","찾기","인수로 찾기","선택 영역에서 찾기","다음 찾기","이전 찾기","일치 항목으로 이동...","다음 선택 찾기","이전 선택 찾기","바꾸기","편집기 찾기 위젯이 축소되었음을 나타내는 아이콘입니다.","편집기 찾기 위젯이 확장되었음을 나타내는 아이콘입니다.","편집기 찾기 위젯에서 '선택 영역에서 찾기'의 아이콘입니다.","편집기 찾기 위젯에서 '바꾸기'의 아이콘입니다.","편집기 찾기 위젯에서 '모두 바꾸기'의 아이콘입니다.","편집기 찾기 위젯에서 '이전 찾기'의 아이콘입니다.","편집기 찾기 위젯에서 '다음 찾기'의 아이콘입니다.","찾기/바꾸기","찾기","찾기","이전 검색 결과","다음 검색 결과","선택 항목에서 찾기","닫기","바꾸기","바꾸기","바꾸기","모두 바꾸기","바꾸기 설정/해제","처음 {0}개의 결과가 강조 표시되지만 모든 찾기 작업은 전체 텍스트에 대해 수행됩니다.","{1}의 {0}","결과 없음","{0}개 찾음","'{1}'에 대한 {0}을(를) 찾음","{2}에서 '{1}'에 대한 {0}을(를) 찾음","'{1}'에 대한 {0}을(를) 찾음","펼치기","재귀적으로 펼치기","접기","접기 전환","재귀적으로 접기","재귀적으로 접기 토글","모든 블록 코멘트를 접기","모든 영역 접기","모든 영역 펼치기","선택한 항목을 제외한 모든 항목 접기","선택한 항목을 제외한 모든 항목 표시","모두 접기","모두 펼치기","부모 폴딩으로 이동","이전 접기 범위로 이동","다음 접기 범위로 이동","선택 영역에서 접기 범위 만들기","수동 폴딩 범위 제거","가져오기 접기 설정/해제","수준 {0} 접기","접힌 범위의 배경색입니다. 색은 기본 장식을 숨기지 않기 위해 불투명해서는 안 됩니다.","접힌 범위의 첫 번째 줄 뒤에 있는 축소된 텍스트의 색입니다.","편집기 여백의 접기 컨트롤 색입니다.","편집기 문자 모양 여백에서 확장된 범위의 아이콘입니다.","편집기 문자 모양 여백에서 축소된 범위의 아이콘입니다.","편집기 문자 모양 여백에서 수동으로 축소된 범위에 대한 아이콘입니다.","편집기 문자 모양 여백에서 수동으로 확장된 범위에 대한 아이콘입니다.","범위를 확장하려면 클릭합니다.","범위를 축소하려면 클릭합니다.","편집기 글꼴 크기 늘리기","편집기 글꼴 크기 줄이기","편집기 글꼴 크기 다시 설정","문서 서식","선택 영역 서식","다음 마커로 이동의 아이콘입니다.","이전 마커로 이동의 아이콘입니다.","다음 문제(&&P)","이전 문제(&&P)","다음 문제로 이동 (오류, 경고, 정보)","이전 문제로 이동 (오류, 경고, 정보)","파일의 다음 문제로 이동 (오류, 경고, 정보)","파일의 이전 문제로 이동 (오류, 경고, 정보)","오류","경고","정보","힌트","{1}의 {0}입니다. ","문제 {1}개 중 {0}개","문제 {1}개 중 {0}개","편집기 표식 탐색 위젯 오류 색입니다.","편집기 마커 탐색 위젯 오류 제목 배경.","편집기 표식 탐색 위젯 경고 색입니다.","편집기 마커 탐색 위젯 경고 제목 배경.","편집기 표식 탐색 위젯 정보 색입니다.","편집기 마커 탐색 위젯 정보 제목 배경.","편집기 표식 탐색 위젯 배경입니다.","피킹","정의","'{0}'에 대한 정의를 찾을 수 없습니다.","정의를 찾을 수 없음","정의로 이동(&&D)","선언","'{0}'에 대한 선언을 찾을 수 없음","선언을 찾을 수 없음","선언으로 이동(&&D)","'{0}'에 대한 선언을 찾을 수 없음","선언을 찾을 수 없음","형식 정의","'{0}'에 대한 형식 정의를 찾을 수 없습니다.","형식 정의를 찾을 수 없습니다.","형식 정의로 이동(&&T)","구현","'{0}'에 대한 구현을 찾을 수 없습니다.","구현을 찾을 수 없습니다.","구현으로 이동(&&I)","'{0}'에 대한 참조가 없습니다.","참조가 없습니다.","참조로 이동(&&R)","참조","참조","위치","'{0}'에 대한 검색 결과가 없음","참조","정의로 이동","측면에서 정의 열기","정의 피킹","선언으로 이동","선언 미리 보기","형식 정의로 이동","형식 정의 미리 보기","구현으로 이동","피킹 구현","참조로 이동","참조 미리 보기","임의의 기호로 이동","{0}개
Line truncated
|
||||
[{1}] {2}`,"{1}부터 {0}까지","{0}({1})","숨기기","메뉴 다시 설정","'{0}' 숨기기","키 바인딩 구성","적용하려면 {0}, 미리 보기하려면 {1}","신청하려면 {0}","{0}, 사용 안 함 이유: {1}","작업 위젯","작업 표시줄에서 토글된 작업 항목의 배경색입니다.","작업 위젯 목록 표시 여부","작업 위젯 숨기기","이전 작업 선택","다음 작업 선택","선택한 작업 수락","선택한 작업 미리 보기","기본 언어 구성 재정의","{0}에 대해 재정의할 설정을 구성합니다.","언어에 대해 재정의할 편집기 설정을 구성합니다.","이 설정은 언어별 구성을 지원하지 않습니다.","언어에 대해 재정의할 편집기 설정을 구성합니다.","이 설정은 언어별 구성을 지원하지 않습니다.","빈 속성을 등록할 수 없음","'{0}'을(를) 등록할 수 없습니다. 이는 언어별 편집기 설정을 설명하는 속성 패턴인 '\\\\[.*\\\\]$'과(와) 일치합니다. 'configurationDefaults' 기여를 사용하세요.","'{0}'을(를) 등록할 수 없습니다. 이 속성은 이미 등록되어 있습니다.","'{0}'을(를) 등록할 수 없습니다. 연결된 정책 {1}이(가) 이미 {2}에 등록되어 있습니다.","컨텍스트 키에 대한 정보를 반환하는 명령","빈 컨텍스트 키 식","식 쓰는 것을 잊으셨나요? 항상 'false' 또는 'true'를 넣어 각각 false 또는 true로 평가할 수도 있습니다.","'not' 뒤에 'in'이 있습니다.","닫는 괄호 ')'","예기치 않은 토큰","토큰 앞에 && 또는 ||를 입력하는 것을 잊으셨나요?","필요하지 않은 식의 끝","컨텍스트 키를 입력하는 것을 잊으셨나요?",`예상: {0}\r
|
||||
수신됨: '{1}'.`,"운영 체제가 macOS인지 여부","운영 체제가 Linux인지 여부","운영 체제가 Windows인지 여부","플랫폼이 웹 브라우저인지 여부","브라우저 기반이 아닌 플랫폼에서 운영 체제가 macOS인지 여부","운영 체제가 iOS인지 여부","플랫폼이 모바일 웹 브라우저인지 여부","VS 코드의 품질 유형","키보드 포커스가 입력 상자 내에 있는지 여부","{0}을(를) 사용하시겠습니까?","{0} 또는 {1}을(를) 사용하시겠습니까?","{0}, {1} 또는 {2}을(를) 사용하시겠습니까?","견적을 열거나 닫는 것을 잊으셨나요?","'/'(슬래시) 문자를 이스케이프하는 것을 잊으셨나요? 이스케이프하려면 앞에 백슬라시 두 개(예: '\\\\/')를 넣습니다.","제안이 표시되는지 여부","{0} 키를 눌러 마우스를 위에 놓기","로드 중...","({0})을(를) 눌렀습니다. 둘째 키는 잠시 기다렸다가 누르십시오...","({0})을(를) 눌렀습니다. 코드의 다음 키를 기다리는 중...","키 조합({0}, {1})은 명령이 아닙니다.","키 조합({0}, {1})은 명령이 아닙니다.","워크벤치","Windows와 Linux의 'Control'을 macOS의 'Command'로 매핑합니다.","Windows와 Linux의 'Alt'를 macOS의 'Option'으로 매핑합니다.","마우스로 트리와 목록의 항목을 다중 선택에 추가할 때 사용할 한정자입니다(예를 들어 탐색기에서 편집기와 SCM 보기를 여는 경우). '옆에서 열기' 마우스 제스처(지원되는 경우)는 다중 선택 한정자와 충돌하지 않도록 조정됩니다.","트리와 목록에서 마우스를 사용하여 항목을 여는 방법을 제어합니다(지원되는 경우). 일부 트리와 목록에서는 이 설정을 적용할 수 없는 경우 무시하도록 선택할 수 있습니다.","워크벤치에서 목록 및 트리의 가로 스크롤 여부를 제어합니다. 경고: 이 설정을 켜면 성능에 영향을 미칩니다.","스크롤 막대 스크롤 페이지의 페이지별 클릭 여부를 제어합니다.","트리 들여쓰기를 픽셀 단위로 제어합니다.","트리에서 들여쓰기 가이드를 렌더링할지 여부를 제어합니다.","목록과 트리에 부드러운 화면 이동 기능이 있는지를 제어합니다.","마우스 휠 스크롤 이벤트의 `deltaX` 및 `deltaY`에서 사용할 승수입니다.","'Alt' 키를 누를 때 스크롤 속도 승수입니다.","검색할 때 요소를 강조 표시합니다. 추가 위아래 탐색은 강조 표시된 요소만 탐색합니다.","검색할 때 요소를 필터링합니다.","워크벤치에서 목록 및 트리의 기본 찾기 모드를 제어합니다.","간단한 키보드 탐색에서는 키보드 입력과 일치하는 요소에 집중합니다. 일치는 접두사에서만 수행됩니다.","키보드 탐색 강조 표시에서는 키보드 입력과 일치하는 요소를 강조 표시합니다. 이후로 탐색에서 위 및 아래로 이동하는 경우 강조 표시된 요소만 트래버스합니다.","키보드 탐색 필터링에서는 키보드 입력과 일치하지 않는 요소를 모두 필터링하여 숨깁니다.","워크벤치의 목록 및 트리 키보드 탐색 스타일을 제어합니다. 간소화하고, 강조 표시하고, 필터링할 수 있습니다.","대신 'workbench.list.defaultFindMode' 및 'workbench.list.typeNavigationMode'를 사용하세요.","검색할 때 유사 항목 일치를 사용합니다.","검색할 때 연속 일치를 사용합니다.","워크벤치에서 목록 및 트리를 검색할 때 사용하는 일치 유형을 제어합니다.","폴더 이름을 클릭할 때 트리 폴더가 확장되는 방법을 제어합니다. 일부 트리와 목록에서는 이 설정을 적용할 수 없는 경우 무시하도록 선택할 수 있습니다.","트리에서 고정 스크롤을 사용할지 여부를 제어합니다.","{0}을(를) 사용하도록 설정한 경우 트리에 표시되는 고정 요소의 수를 제어합니다.","워크벤치의 목록 및 트리에서 형식 탐색이 작동하는 방식을 제어합니다. 'trigger'로 설정 시 'list.triggerTypeNavigation' 명령이 실행되면 형식 탐색이 시작됩니다.","오류","경고","정보","오류","경고","정보",'"{0}" 때문에 문제가 일시 중지되었습니다.','"{0}" 및 기타 {1} 때문에 문제가 일시 중지되었습니다.',"최근에 사용한 항목","유사한 명령","일반적으로 사용됨","기타 명령","유사한 명령","{0}, {1}","'{0}' 명령에서 오류가 발생했습니다.","{0}, {1}","키보드 포커스가 빠른 입력 컨트롤 내에 있는지 여부","빠른 입력의 맞춤","현재 표시되는 빠른 입력 형식임","빠른 입력의 커서가 입력 상자의 끝에 있는지 여부","뒤로","입력을 확인하려면 'Enter' 키를 누르고, 취소하려면 'Esc' 키를 누르세요.","{0} /
Line truncated
|
||||
@@ -0,0 +1,17 @@
|
||||
define("vs/nls.messages.pl.js",["./_commonjsHelpers-CT9FvmAN"],(function(i){"use strict";var a={};/*!-----------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Version: 0.55.1(516f350bdaf7a82f6731bd128a9ec86a6e5fa47d)
|
||||
* Released under the MIT license
|
||||
* https://github.com/microsoft/vscode/blob/main/LICENSE.txt
|
||||
*-----------------------------------------------------------*/var e;function o(){return e||(e=1,globalThis._VSCODE_NLS_MESSAGES=["{0} ({1})","wejście","Uwzględnij wielkość liter","Uwzględnij całe wyrazy","Użyj wyrażenia regularnego","wejście","Zachowaj wielkość liter","Dokonaj inspekcji w widoku z ułatwieniami dostępu za pomocą {0}","Dokonaj inspekcji w widoku z ułatwieniami dostępu za pomocą polecenia Otwórz widok z ułatwieniami dostępu, którego obecnie nie można wyzwalać za pośrednictwem powiązania klawiszy.","Błąd: {0}","Ostrzeżenie: {0}","Informacje: {0}"," lub {0}, aby wyświetlić historię"," ({0} — wyświetlenie historii)","Wyczyszczone dane wejściowe","Niepowiązany","Pole opcji","Więcej akcji...","Wpisz, aby wyszukać","Zamknij","Wpisz, aby wyszukać","Nie znaleziono żadnych wyników.","Brak wyników","Wyniki: {0}","Wpisz, aby filtrować","Wpisz, aby wyszukać","Filtr","Dopasowanie rozmyte","(puste)","{0}: {1}","Wystąpił błąd systemu ({0})","Wystąpił nieznany błąd. Sprawdź dziennik, aby uzyskać więcej szczegółów.","Wystąpił nieznany błąd. Sprawdź dziennik, aby uzyskać więcej szczegółów.","{0} (łączna liczba błędów: {1})","Wystąpił nieznany błąd. Sprawdź dziennik, aby uzyskać więcej szczegółów.","Ctrl","Shift","Alt","Windows","Ctrl","Shift","Alt","Super","Control","Shift","Opcja","Polecenie","Control","Shift","Alt","Windows","Control","Shift","Alt","Super","Rozszerzenia","Zintegrowany terminal","Czat","Telemetria","Aktualizuj","edytor","Edytor nie jest w tej chwili dostępny.","{0} Aby włączyć tryb zoptymalizowany czytnika zawartości ekranu, użyj {1}","{0} Aby włączyć tryb zoptymalizowany czytnika zawartości ekranu, otwórz szybkie wybieranie za pomocą {1} i uruchom polecenie Przełącz tryb ułatwień dostępu czytnika zawartości ekranu, którego obecnie nie można wyzwalać za pomocą klawiatury.","{0} Przypisz powiązanie klawiszy dla polecenia Przełącz tryb ułatwień dostępu czytnika zawartości ekranu, uzyskując dostęp do edytora powiązań klawiszy za pomocą {1} i uruchom go.","edytor","Trzymaj się końca nawet podczas przechodzenia do dłuższych wierszy","Trzymaj się końca nawet podczas przechodzenia do dłuższych wierszy","Usunięto pomocnicze kursory","&&Cofnij","Cofnij","Cofnij","&&Ponów","Ponów","Ponów","&&Wybierz wszystko","Wybierz wszystko","Wybierz wszystko","Użyj renderowania opartego na modelu DOM","Określa, czy uzupełnienia wbudowane są obecnie odłożone","Wybierz czas trwania odkładania dla sugestii śródwierszowych","Odłóż wbudowane sugestie","Anuluj odkładanie wbudowanych sugestii","Liczba kursorów została ograniczona do {0}. Rozważ użycie funkcji [wyszukaj i zamień](https://code.visualstudio.com/docs/editor/codebasics#_find-and-replace) w celu wprowadzenia większych zmian lub zwiększenia ustawienia limitu wielu kursorów edytora.","Zwiększ limit wielu kursorów","Przełącz Zwiń niezmienione regiony","Przełącz pokazywanie przeniesionych bloków kodu","Przełącz użycie widoku wbudowanego, gdy spacja jest ograniczona","Edytor różnic","Przełącz stronę","Zakończ porównywanie przenoszenia","Zwiń wszystkie niezmienione regiony","Pokaż wszystkie niezmienione regiony","Przywróć","Podgląd różnic z ułatwieniami dostępu","Przejdź do następnej różnicy","Przejdź do poprzedniej różnicy","Ikona „Wstaw” w przeglądarce różnic z ułatwieniami dostępu.","Ikona „Usuń” w przeglądarce różnic z ułatwieniami dostępu.","Ikona „Zamknij” w przeglądarce różnic z ułatwieniami dostępu.","Zamknij","Podgląd różnic dotyczących ułatwień dostępu. Użyj strzałki w górę i w dół, aby nawigować.","brak zmienionych wierszy","1 wiersz zmieniony","zmienione wiersze: {0}","Różnica {0} z {1}: oryginalny wiersz {2}, {3}, zmodyfikowany wiersz {4}, {5}","puste","{0} niezmieniony wiersz {1}","{0} oryginalny wiersz {1} zmodyfikowany wiersz {2}","+ {0} zmodyfikowany wiersz {1}","— {0} oryginalny wiersz {1}"," użyj {0} do otwierania pomocy dotyczącej ułatwień dostępu.","Kopiuj usunięte wiersze","Kopiuj usunięty wiersz","Kopiuj zmienione wiersze","Kopiuj zmieniony wiersz","Kopiuj usunięty wiersz ({0})","Kopiuj zmieniony wiersz ({0})","Odwróć tę zmianę","Użyj widoku wbudowanego, gdy spacja jest ograniczona","Pokaż przeniesione bloki kodu","Przywróć blok","Przywróć zaznaczenie","Otwórz podgląd różnic z ułatwieniami dostępu","Zwiń obszar bez zmian","Liczba ukrytych wierszy: {0}","Kliknij lub przeciągnij, aby pokazać więcej powyżej","Pokaż niezmieniony region","Kliknij lub przeciągnij, aby pokazać więcej pniżej","Liczba ukrytych wierszy: {0}","Kliknij dwukrotnie, aby rozwinąć","Kod został przeniesiony ze zmianami do wiersza {0}-{1}","Kod został przeniesiony ze zmianami z wiersza {0}-{1}","Kod został przeniesiony do wiersza {0}-{1}","Kod przeniesiony z wiersza {0}-{1}","Przywróć wybrane zmiany","Cofnij zmiLine truncated
|
||||
— użyj wartości 0, aby automatycznie obliczyć wysokość linii na podstawie rozmiaru czcionki.\r
|
||||
— wartości w przedziale od 0 do 8 będą używane jako mnożnik z rozmiarem czcionki.\r
|
||||
— wartości większe lub równe 8 będą używane jako wartości rzeczywiste.`,"Określa, czy minimapa jest wyświetlana.","Minimapa jest zawsze wyświetlana.","Minimapa jest ukryta, gdy wskaźnik myszy się nad nią nie znajduje i jest wyświetlana, gdy wskaźnik myszy znajduje się nad minimapą.","Minimapa jest wyświetlana tylko wtedy, gdy edytor jest przewijany","Określa, czy minimapa jest automatycznie chowana.","Minimapa ma taki sam rozmiar jak zawartość edytora (i może być przewijana).","Minimapa zostanie rozciągnięta lub zmniejszona w razie potrzeby, aby wypełnić wysokość edytora (bez przewijania).","Minimapa zostanie zmniejszona w razie potrzeby, aby nigdy nie była większa niż edytor (bez przewijania).","Steruje rozmiarem minimapy.","Określa, po której stronie ma być renderowana minimapa.","Określa, kiedy jest wyświetlany suwak minimapy.","Skala zawartości narysowanej na minimapie: 1, 2 lub 3.","Renderowanie rzeczywistych znaków w wierszu w przeciwieństwie do bloków koloru.","Ogranicz szerokość minimapy, aby renderować co najwyżej określoną liczbę kolumn.","Określa, czy nazwane regiony są wyświetlane jako nagłówki sekcji w minimapie.","Określa, czy MARK: komentarze są wyświetlane jako nagłówki sekcji w minimapie.",'Definiuje wyrażenie regularne używane do znajdowania nagłówków sekcji w komentarzach. Wyrażenie regularne musi zawierać nazwaną grupę dopasowania "label" (zapisaną jako "(?<label>.+)"), która hermetyzuje nagłówek sekcji. W przeciwnym razie nie będzie działać. Opcjonalnie możesz dołączyć inną grupę dopasowania o nazwie "separator". Użyj \\n we wzorcu, aby dopasować nagłówki wielowierszowe.',"Steruje rozmiarem czcionki nagłówków sekcji w minimapie.","Steruje ilością miejsca (w pikselach) między znakami nagłówka sekcji. Ułatwia to czytelność nagłówka przy małych rozmiarach czcionek.","Kontroluje ilość miejsca między górną krawędzią edytora a pierwszym wierszem.","Kontroluje ilość miejsca między dolną krawędzią edytora a ostatnim wierszem.","Włącza wyskakujące okienko, które pokazuje dokumentację parametrów i informacje o typie podczas pisania.","Określa, czy menu podpowiedzi dotyczących parametrów ma być przewijane, czy zamykane po osiągnięciu końca listy.","Szybkie sugestie są wyświetlane wewnątrz widżetu sugestii","Szybkie sugestie są wyświetlane jako tekst widmo","Szybkie sugestie są wyłączone","Włącz szybkie sugestie wewnątrz ciągów.","Włącz szybkie sugestie wewnątrz komentarzy.","Włącz szybkie sugestie poza ciągami i komentarzami.","Określa, czy sugestie powinny być automatycznie wyświetlane podczas pisania. Można to określać wpisywaniem w komentarzach, ciągach i innym kodzie. Szybką sugestię można skonfigurować tak, aby była wyświetlana jako tekst zduplikowany lub za pomocą widżetu sugestii. Pamiętaj również o ustawieniu {0}, które kontroluje, czy sugestie są wyzwalane przez znaki specjalne.","Numery wierszy nie są renderowane.","Numery wierszy są renderowane jako liczba bezwzględna.","Numery wierszy są renderowane jako odległość w wierszach do pozycji kursora.","Numery wierszy są renderowane co 10 wierszy.","Steruje wyświetlaniem numerów wierszy.","Liczba znaków o stałej szerokości, przy których będzie renderowana ta linijka edytora.","Kolor tej linijki edytora.","Renderowanie linijek pionowych po określonej liczbie znaków monotypowych. Używanie wielu wartości dla wielu linijek. Żadne linijki nie są rysowane, jeśli tablica jest pusta.","Pionowy pasek przewijania będzie widoczny tylko wtedy, gdy jest to konieczne.","Pionowy pasek przewijania będzie zawsze widoczny.","Pionowy pasek przewijania będzie zawsze ukryty.","Kontroluje widoczność pionowego paska przewijania.","Poziomy pasek przewijania będzie widoczny tylko wtedy, gdy jest to konieczne.","Poziomy pasek przewijania będzie zawsze widoczny.","Poziomy pasek przewijania będzie zawsze ukryty.","Kontroluje widoczność poziomego paska przewijania.","Szerokość pionowego paska przewijania.","Wysokość poziomego paska przewijania.","Kontroluje, czy kliknięcia powodują przewijanie stron czy przeskok do miejsca kliknięcia.","Po ustawieniu, poziomy pasek przewijania nie zwiększy rozmiaru zawartości edytora.","Określa, czy wszystkie znaki ASCII inne niż podstawowe są wyróżnione. Tylko znaki z zakresu od U+0020 do U+007E, tab, line-feed i carriage-return są traktowane jako podstawowe ASCII.","Określa, czy znaki, które tylko rezerwują miejsce lub nie mają żadnej szerokości, są wyróżniane.","Określa, czy są wyróżniane znaki, które można pomylić z podstawowymi znakami ASCII, z wyjątkiem tych, które są typowe w bieżących ustawieniach regionalnych użytkownika.","Określa, czy znaki w komentarzach również powinny podlegać wyróżnianiu standardu Unicode.","Określa, czy znaki w ciągach również powinny podlegać wyróżnianiu sta
Line truncated
|
||||
Jeśli istnieje wiele edycji dla tego rodzaju, w edytorze zostanie wyświetlony selektor. Jeśli nie ma edycji dla tego rodzaju, w edytorze zostanie wyświetlony komunikat o błędzie.`,`Lista preferowanych rodzajów edycji wklejania do zastosowania.\r
|
||||
Zostanie zastosowana pierwsza edycja zgodna z preferencjami.`,"Wklej jako...","Wklej jako tekst","Czy jest wyświetlany widżet wklejania","Pokaż opcje wklejania...","puste","Nie znaleziono edycji wklejania dla elementu ''{0}''","Rozpoznawanie edycji wklejania dla '{0}'. Kliknij, aby anulować","Trwa uruchamianie procedur obsługi wklejania. Kliknij, aby anulować i wykonać operację wklejania podstawowego","Konfiguruj domyślną akcję wklejania","Wybierz akcję wklejania","Trwa uruchamianie procedur obsługi wklejania","Wstaw zwykły tekst","Wstaw identyfikatory URI","Wstaw identyfikator URI","Wstaw ścieżki","Wstaw ścieżkę","Wstaw ścieżki względne","Wstaw ścieżkę względną","Wstaw kod HTML","Określa, czy jest wyświetlany widżet upuszczania","Pokaż opcje upuszczania...","Uruchamianie procedur obsługi upuszczania. Kliknij, aby anulować",`Błąd podczas rozpoznawania edycji „{0}”:\r
|
||||
{1}`,`Błąd podczas stosowania edycji „{0}”:\r
|
||||
{1}`,"Czy w edytorze jest uruchamiana operacja możliwa do anulowania, na przykład „Wgląd w odwołania”","Plik jest zbyt duży, aby wykonać operację zamiany wszystkich operacji.","&&Znajdź","Brak dopasowań. Spróbuj wyszukać coś innego.","Wpisz liczbę, aby przejść do określonego dopasowania (od 1 do {0})","Wpisz liczbę z zakresu od 1 do {0}","Wpisz liczbę z zakresu od 1 do {0}","&&Zamień","Znajdź","Znajdź z argumentami","Znajdź z zaznaczeniem","Znajdź następny","Znajdź poprzedni","Przejdź do pozycji Dopasuj...","Znajdź następne zaznaczenie","Znajdź poprzednie zaznaczenie","Zamień","Ikona wskazująca, że widżet znajdowania w edytorze jest zwinięty.","Ikona wskazująca, że widżet znajdowania w edytorze jest rozwinięty.","Ikona polecenia „Znajdź w zaznaczeniu” w widżecie znajdowania w edytorze.","Ikona polecenia „Zamień” w widżecie znajdowania w edytorze.","Ikona polecenia „Zamień wszystko” w widżecie znajdowania w edytorze.","Ikona polecenia „Znajdź poprzedni” w widżecie znajdowania w edytorze.","Ikona polecenia „Znajdź następny” w widżecie znajdowania w edytorze.","Znajdź / zamień","Znajdź","Znajdź","Poprzednie dopasowanie","Następne dopasowanie","Znajdź w zaznaczeniu","Zamknij","Zamień","Zamień","Zamień","Zamień wszystko","Przełącz zastępowanie","Tylko pierwsze wyniki ({0}) są wyróżnione, ale wszystkie operacje znajdowania działają na całym tekście.","{0} z {1}","Brak wyników","znaleziono: {0}","Znaleziono {0} dla „{1}”","znaleziono {0} dla „{1}” w {2}","Znaleziono {0} dla „{1}”","Rozłóż","Rozłóż rekursywnie","Złóż","Przełącz złożenie","Składaj cyklicznie","Przełącz składanie rekurencyjne","Złóż wszystkie komentarze blokowe","Złóż wszystkie regiony","Rozłóż wszystkie regiony","Zwiń wszystko z wyjątkiem zaznaczonych","Rozwiń wszystko z wyjątkiem zaznaczonych","Złóż wszystko","Rozłóż wszystko","Przeskocz do składania nadrzędnego","Przejdź do poprzedniego zakresu składania","Przejdź do następnego zakresu składania","Utwórz zakres składania na podstawie zaznaczenia","Usuń zakresy ręcznego składania","Przełącz składanie importu","Poziom składania {0}","Kolor tła za złożonym zakresami. Kolor nie może być nieprzezroczysty, aby nie ukrywać podstawowych dekoracji.","Kolor zwiniętego tekstu po pierwszym wierszu składanego zakresu.","Kolor kontrolki składania na marginesie edytora.","Ikona dla rozwiniętych zakresów na marginesie symboli edytora.","Ikona zwiniętych zakresów na marginesie symboli edytora.","Ikona dla ręcznie zwiniętych zakresów na marginesie symbolu edytora.","Ikona ręcznie rozwiniętych zakresów na marginesie symboli edytora.","Kliknij, aby rozwinąć zakres.","Kliknij, aby zwinąć zakres.","Zwiększ rozmiar czcionki edytora","Zmniejsz rozmiar czcionki edytora","Resetuj rozmiar czcionki edytora","Formatuj dokument","Formatuj zaznaczenie","Ikona do przechodzenia do następnego znacznika.","Ikona do przechodzenia do poprzedniego znacznika.","Następny &&problem","Poprzedni &&problem","Przejdź do następnego problemu (błąd, ostrzeżenie, informacje)","Przejdź do poprzedniego problemu (błąd, ostrzeżenie, informacje)","Przejdź do następnego problemu w plikach (błąd, ostrzeżenie, informacje)","Przejdź do poprzedniego problemu w plikach (błąd, ostrzeżenie, informacje)","Błąd","Ostrzeżenie","Informacje","Wskazówka","{0} w {1}. ","{0} z {1} problemów","{0} z {1} problemu","Kolor błędu widgetu nawigacji po znacznikach w edytorze.","Tło nagłówka błędów dla widżetu nawigowania po znacznikach w edytorze.","Kolor ostrzeżenia widgetu nawigacji po znacznikach w edytorze.","Tło nagłówka ostrzeżeń dla widżetu nawigowania po znacznikach w edytorze.","Kolor informacji widgetu nawigacji po znacznikach w edytorze.","Tło nagłówka informacji dla widżetu nawigowania po znacznikach w edytorze.","Tło widgetu nawigacji po znacznikach w edytorze.","Wgląd","Definicje","Nie znaleziono definicji dla elementu „{0}”","Nie znaleziono definicji","Przejdź do &&definicji","Deklaracje","Nie znaleziono deklaracji dla elementu „{0}”","Nie znaleziono deklaracji","Przejdź do &&deklaracji","Nie znaleziono deklaracji dla elementu „{0}”","Nie znaleziono deklaracji","Definicje typów","Nie znaleziono definicji typu dla elementu „{0}”","Nie znaleziono definicji typu","Przejdź do &&definicji typu","Implementacje","Nie znaleziono implementacji dla elementu „{0}”","Nie znaleziono implementacji","Przejdź do &&implementacji","Nie referencji dla elementu „{0}”","Nie znaleziono referencji","Przejdź do &&odwołań","Odwołania","Odwołania","Lokalizacje","Brak wyników dla użytkownika „{0}”","Odwołania","Przejdź do definicji","Otwórz definicję z boku","Wgląd w definicję","Przejdź do deklaracji","Wgląd w deklarację","Przejdź do definicji typu","Wgląd w definicję typu","Przejdź do implementacji","Wglą
Line truncated
|
||||
\r
|
||||
Zaleca się usunięcie ich z pliku. Można to skonfigurować za pomocą elementu „editor.unusualLineTerminators”.`,"&&Usuń nietypowe elementy końcowe wiersza","Ignoruj","Kolor tła symbolu podczas dostępu do odczytu, na przykład odczytywania zmiennej. Kolor nie może być nieprzezroczysty, aby nie ukrywać podstawowych dekoracji.","Kolor tła symbolu podczas dostępu do zapisu, na przykład zapisywania do zmiennej. Kolor nie może być nieprzezroczysty, aby nie ukrywać podstawowych dekoracji.","Kolor tła tekstowego wystąpienia symbolu. Kolor musi być przezroczysty, aby nie ukrywać podstawowych dekoracji.","Kolor obramowania symbolu podczas dostępu do odczytu, takiego jak w przypadku odczytywania zmiennej.","Kolor obramowania symbolu podczas dostępu do zapisu, takiego jak w przypadku zapisywania do zmiennej.","Kolor obramowania tekstowego wystąpienia symbolu.","Kolor znacznika linijki przeglądu na potrzeby wyróżniania symboli. Kolor nie może być nieprzezroczysty, aby nie ukrywać podstawowych dekoracji.","Kolor znacznika linijki przeglądu na potrzeby wyróżniania symboli z dostępem do zapisu. Kolor nie może być nieprzezroczysty, aby nie ukrywać podstawowych dekoracji.","Kolor znacznika linijki przeglądu tekstowego wystąpienia symbolu. Kolor musi być przezroczysty, aby nie ukrywać bazowych dekoracji.","Przejdź do następnego wyróżnienia symbolu","Przejdź do poprzedniego wyróżnienia symbolu","Wyzwól wyróżnienie symbolu","Usuń słowo","Błąd w pozycji","Błąd","Ostrzeżenie na pozycji","Ostrzeżenie","Błąd w wierszu","Błąd w wierszu","Ostrzeżenie w wierszu","Ostrzeżenie w wierszu","Składany obszar w wierszu","Złożone","Punkt przerwania w wierszu","Punkt przerwania","Wbudowana sugestia w wierszu","Następna sugestia edycji w wierszu","Następna sugestia edycji","Szybka poprawka terminalu","Szybka poprawka","Zatrzymano debuger w punkcie przerwania","Punkt przerwania","Brak wskazówek wbudowanych w wierszu","Brak wskazówek wbudowanych","Zadanie ukończone","Zadanie ukończone","Zadanie nie powiodło się","Nie można wykonać zadania","Polecenie terminalu nie powiodło się","Nie można wykonać polecenia","Polecenie terminalu powiodło się","Polecenie zostało pomyślnie wykonane","Dzwonek terminalu","Dzwonek terminalu","Ukończono komórkę notesu","Ukończono komórkę notesu","Niepowodzenie komórki notesu","Niepowodzenie komórki notesu","Wstawiono linię różnicy","Usunięto linię różnicy","Zmodyfikowano linię różnicy","Edytowanie zmodyfikowanego pliku czatu","Plik zmodyfikowany na podstawie edycji czatu","Wysłano żądanie czatu","Wysłano żądanie czatu","Odebrano odpowiedź czatu","Wyzwolono żądanie akcji kodu","Wyzwolono żądanie akcji kodu","Zastosowano akcję kodu","Postęp","Postęp","Wyczyść","Wyczyść","Zapisz","Zapisz","Formatuj","Formatuj","Rozpoczęto nagrywanie głosu","Zatrzymano nagrywanie głosu","Zmiany zachowane","Zmiany zachowane","Cofnij edycje","Cofnięte edycje","Wymagana akcja użytkownika czatu","Wymagana akcja użytkownika czatu","Wyświetl","Pomoc","Test","Plik","Preferencje","Deweloper","{0} ({1})","{0} ({1})",`{0}\r
|
||||
[{1}] {2}`,"Od {1} do {0}","{0} ({1})","Ukryj","Resetuj menu","Ukryj element „{0}”","Konfiguruj powiązania klawiszy","{0} do zastosowania, {1} do wersji zapoznawczej","{0}, aby zastosować","{0}, przyczyna wyłączenia: {1}","Widżet akcji","Kolor tła dla przełączonych elementów akcji na pasku akcji.","Czy lista widżetów akcji jest widoczna","Ukryj widżet akcji","Wybierz poprzednią akcję","Wybierz następną akcję","Zaakceptuj wybraną akcję","Wyświetl podgląd wybranej akcji","Zastąpienia domyślnej konfiguracji języka","Skonfiguruj ustawienia, które mają zostać zastąpione dla {0}.","Skonfiguruj ustawienia edytora do zastąpienia dla języka.","To ustawienie nie obsługuje konfiguracji dla poszczególnych języków.","Skonfiguruj ustawienia edytora do zastąpienia dla języka.","To ustawienie nie obsługuje konfiguracji dla poszczególnych języków.","Nie można zarejestrować pustej właściwości","Nie można zarejestrować elementu „{0}”. Jest on zgodny ze wzorcem właściwości „\\\\[.*\\\\]$” opisującym ustawienia edytora specyficzne dla języka. Użyj kontrybucji „configurationDefaults”.","Nie można zarejestrować elementu „{0}”. Ta właściwość jest już zarejestrowana.","Nie można zarejestrować elementu „{0}”. Skojarzone zasady {1} są już zarejestrowane w {2}.","Polecenie, które zwraca informacje o kluczach kontekstu","Puste wyrażenie klucza kontekstu","Czy zapomniano napisać wyrażenie? Można również ustawić wartość „false” lub „true”, aby zawsze oceniać odpowiednio wartość false lub true.","„in” po „not”.","nawias zamykający „)”","Nieoczekiwany token","Czy zapomniano umieścić element && lub || przed tokenem?","Nieoczekiwany koniec wyrażenia","Czy zapomniano umieścić klucz kontekstu?",`Oczekiwano: {0}\r
|
||||
Odebrano: „{1}”.`,"Określa, czy system operacyjny to macOS","Określa, czy system operacyjny to Linux","Określa, czy system operacyjny to Windows","Określa, czy platforma to przeglądarka internetowa","Określa, czy system operacyjny to macOS na platformie innej niż przeglądarka","Czy system operacyjny to iOS","Czy platforma jest mobilną przeglądarką internetową","Typ jakości edytora VS Code","Określa, czy fokus klawiatury znajduje się wewnątrz pola wejściowego","Czy chodziło Ci o {0}?","Czy chodziło Ci o {0}, czy {1}?","Czy chodziło Ci o {0}, {1} czy {2}?","Czy zapomniano otworzyć lub zamknąć ofertę?","Czy zapomniano zastosować znak ucieczki „/” (ukośnik)? Umieść przed nim dwa ukośniki odwrotne w celu ucieczki, na przykład „\\\\/”.","Określa, czy sugestie są widoczne","Przytrzymaj klawisz {0}, aby przesunąć wskaźnik myszy","Trwa ładowanie...","({0}) został naciśnięty. Oczekiwanie na drugi klawisz akordu...","Naciśnięto ({0}). Trwa oczekiwanie na następny klucz elementu chord...","Kombinacja klawiszy ({0}, {1}) nie jest poleceniem.","Kombinacja klawiszy ({0}, {1}) nie jest poleceniem.","Pulpit","Mapuje na klawisz „Control” w systemach Windows i Linux oraz na klawisz „Command” w systemie MacOS.","Mapuje na klawisz „Alt” w systemach Windows i Linux oraz na klawisz „Option” w systemie MacOS.","Modyfikator do zastosowania w celu dodania elementu w drzewach i na listach przy wybieraniu wielu elementów za pomocą myszy (na przykład w eksploratorze, przy otwieraniu edytorów i w widoku SCM). Gesty myszy „Otwórz na bok” (jeśli są obsługiwane) dostosują się, tak aby nie powodować konfliktu z modyfikatorem wielokrotnego wyboru.","Steruje sposobem otwierania elementów w drzewach i na listach za pomocą myszy (jeśli jest to obsługiwane). Pamiętaj, że niektóre drzewa i listy mogą ignorować to ustawienie, jeśli nie ma zastosowania. ","Kontroluje, czy listy i drzewa obsługują przewijanie w poziomie w środowisku roboczym. Ostrzeżenie: włączenie tego ustawienia wpływa na wydajność.","Określa, czy kliknięcie na pasku przewijania powoduje przewijanie całych stron.","Kontroluje wcięcie drzewa w pikselach.","Kontroluje, czy drzewo ma wyświetlać prowadnice wcięć.","Kontroluje, czy listy i drzewa są przewijane płynnie.","Mnożnik, który ma być używany w elementach „deltaX” i „deltaY” zdarzeń przewijania kółka myszy.","Mnożnik szybkości przewijania podczas naciskania klawisza „Alt”.","Wyróżnij elementy podczas wyszukiwania. Nawigacja w górę i w dół będzie przechodzić tylko przez wyróżnione elementy.","Filtruj elementy podczas wyszukiwania.","Steruje domyślnym trybem znajdowania list i drzew w środowisku roboczym.","Prosta nawigacja klawiaturą skupia elementy zgodne z sygnałem z klawiatury. Dopasowywanie odbywa się tylko na prefiksach.","Wyróżnij elementy wyróżniania nawigacji za pomocą klawiatury, które pasują do danych wprowadzonych przy użyciu klawiatury. Dalsza nawigacja w górę i w dół będzie odbywać się tylko w ramach wyróżnionych elementów.","Funkcja filtrowania dla nawigacji za pomocą klawiatury powoduje odfiltrowanie i ukrycie wszystkich elementów, które nie pasują do danych wprowadzonych przy użyciu klawiatury.","Kontroluje styl nawigacji za pomocą klawiatury dla list i drzew na pulpicie. Dostępne są style prosty, wyróżnienia i filtru.","Zamiast tego użyj poleceń „workbench.list.defaultFindMode” i „workbench.list.typeNavigationMode”.","Podczas wyszukiwania używaj dopasowywania rozmytego.","Użyj ciągłego dopasowywania podczas wyszukiwania.","Określa typ dopasowania używany podczas wyszukiwania list i drzew w środowisku roboczym.","Określa, w jaki sposób foldery drzewiaste są rozwijane po kliknięciu nazw folderów. Pamiętaj, że niektóre drzewa i listy mogą ignorować to ustawienie, jeśli nie ma zastosowania.","Kontroluje, czy przewijanie przyklejone jest włączone w drzewach.","Steruje liczbą elementów przylepnych wyświetlanych w drzewie, gdy {0} jest włączona.","Określa sposób działania nawigacji dotyczącej wpisywania na listach i w drzewach w środowisku roboczym. Jeśli ustawiono wartość „trigger”, nawigacja dotycząca wpisywania rozpocznie się po uruchomieniu polecenia „list.triggerTypeNavigation”.","Błąd","Ostrzeżenie","Informacje","Błędy","Ostrzeżenia","Informacje","Problemy zostały wstrzymane, ponieważ: „{0}”","Problemy zostały wstrzymane, ponieważ: „{0}” i jeszcze {1}","ostatnio używane","podobne polecenia","często używane","inne polecenia","podobne polecenia","{0}, {1}","Polecenie „{0}” spowodowało błąd","{0}, {1}","Określa, czy fokus klawiatury znajduje się wewnątrz kontrolki szybkiego wprowadzania","Wyrównanie szybkich danych wejściowych","Typ aktualnie widocznych szybkich danych wejściowych","Określa, czy kursor w polu szybkiego wprowadzania znajduje się na ko
Line truncated
|
||||
@@ -0,0 +1,6 @@
|
||||
define("vs/nls.messages.pt-br.js",(function(){"use strict";/*!-----------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Version: 0.55.1(516f350bdaf7a82f6731bd128a9ec86a6e5fa47d)
|
||||
* Released under the MIT license
|
||||
* https://github.com/microsoft/vscode/blob/main/LICENSE.txt
|
||||
*-----------------------------------------------------------*/globalThis._VSCODE_NLS_MESSAGES=[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,nulLine truncated
|
||||
@@ -0,0 +1,17 @@
|
||||
define("vs/nls.messages.ru.js",["./_commonjsHelpers-CT9FvmAN"],(function(n){"use strict";var e={};/*!-----------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Version: 0.55.1(516f350bdaf7a82f6731bd128a9ec86a6e5fa47d)
|
||||
* Released under the MIT license
|
||||
* https://github.com/microsoft/vscode/blob/main/LICENSE.txt
|
||||
*-----------------------------------------------------------*/var t;function i(){return t||(t=1,globalThis._VSCODE_NLS_MESSAGES=["{0} ({1})","входные данные","С учетом регистра","Слово целиком","Использовать регулярное выражение","входные данные","Сохранить регистр","Проверьте этот аспект в доступном представлении с помощью {0}.",'Проверьте этот аспект в представлении с поддержкой специальных возможностей с помощью команды "Открыть представление с поддержкой специальных возможностей", которую в настоящее время нельзя активировать с помощью настраиваемого сочетания клавиш.',"Ошибка: {0}","Предупреждение: {0}","Информация: {0}"," или {0} для журнала"," ({0} для журнала)","Очищенные входные данные","свободный","Поле выбора","Дополнительные действия...","Ввод для поиска","Закрыть","Ввод для поиска","Результаты не найдены.","Нет результатов","Результатов: {0}","Введите текст для фильтра","Ввод для поиска","Фильтр","Нечеткое совпадение","(пусто)","{0}: {1}","Произошла системная ошибка ({0})","Произошла неизвестная ошибка. Подробные сведения см. в журнале.","Произошла неизвестная ошибка. Подробные сведения см. в журнале.","{0} (всего ошибок: {1})","Произошла неизвестная ошибка. Подробные сведения см. в журнале.","CTRL","SHIFT","ALT","Windows","CTRL","SHIFT","ALT","Super","CTRL","SHIFT","Параметр","Команда","CTRL","SHIFT","ALT","Windows","CTRL","SHIFT","ALT","Super","Расширения","Встроенный терминал","Чат","Телеметрия","Обновить","редактор","Сейчас редактор недоступен.","{0} Чтобы включить оптимизированный режим читателя, используйте {1}",'{0} Чтобы включить оптимизированный режим читателя, откройте быстрый выбор с помощью {1} и выполните команду "Активация режима специальных возможностей для читателя", который сейчас не может быть активирован с помощью клавиатуры.','{0} Назначьте сочетание клавиш для команды "Активация режима специальных возможностей для читателя", используя редактор настраиваемых сочетаний клавиш с помощью {1} и запустите его.',"редактор","Размещать на конце даже для более длинных строк","Размещать на конце даже для более длинных строк","Дополнительные курсоры удалены.","&&Отменить","Отменить","Отменить","&&Повторить","Вернуть","Вернуть","&&Выделить все","Выбрать все","Выбрать все","Использование отрисовки на основе DOM","Отложены ли в настоящее время встроенные завершения","Выберите длительность откладывания для встроенных предложений","Отложить встроенные предложения","Отменить откладывание встроенных предложений","Число курсоров ограничено {0}. Для проведения крупных изменений рекомендуется использовать [поиск и замену](https://code.visualstudio.com/docs/editor/codebasics#_find-and-replace) или увеличить значение параметра ограничения нескольких курсоров в редакторе.","Увеличить значение ограничения нескольких курсоров","Переключатель свертывания неизмененных регионов","Показать или скрыть перемещенные блоки кода",'Переключатель "Использовать встроенное представление при ограниченном пLine truncated
|
||||
– Используйте 0, чтобы автоматически вычислить высоту строки на основе размера шрифта.\r
|
||||
– Значения от 0 до 8 будут использоваться в качестве множителя для размера шрифта.\r
|
||||
– Значения больше или равные 8 будут использоваться в качестве действующих значений.`,"Определяет, отображается ли мини-карта.","Мини-карта всегда отображается.","Мини-карта скрыта, когда мышь не находится над мини-картой, и отображается, когда мышь наведена на мини-карту.","Мини-карта отображается только при прокрутке редактора","Определяет, скрыта ли мини-карта автоматически.","Мини-карта имеет такой же размер, что и содержимое редактора (возможна прокрутка).","Мини-карта будет растягиваться или сжиматься по мере необходимости, чтобы заполнить редактор по высоте (без прокрутки).","Миникарта будет уменьшаться по мере необходимости, чтобы никогда не быть больше, чем редактор (без прокрутки).","Управляет размером миникарты.","Определяет, с какой стороны будет отображаться мини-карта.","Определяет, когда отображается ползунок мини-карты.","Масштаб содержимого, нарисованного на мини-карте: 1, 2 или 3.","Отображает фактические символы в строке вместо цветных блоков.","Ограничивает ширину мини-карты, чтобы количество отображаемых столбцов не превышало определенное количество.","Определяет, отображаются ли именованные области в виде заголовков разделов на мини-карте.",'Определяет, отображаются ли комментарии "MARK:" в виде заголовков разделов на мини-карте.','Определяет регулярное выражение, используемое для поиска заголовков разделов в комментариях. Регулярное выражение должно содержать именованную группу соответствия "label" (записанную как "(?<label>.+)"), которая инкапсулирует заголовок раздела, в противном случае она не будет работать. При необходимости можно включить другую группу совпадений с именем "разделитель". Используйте \\n в шаблоне для сопоставления многострокового заголовка.',"Определяет размер шрифта заголовков разделов на мини-карте.","Управляет объемом пространства (в пикселях) между символами заголовка раздела. Это улучшает удобочитаемость заголовка при небольших размерах шрифтов.","Задает пространство между верхним краем редактора и первой строкой.","Задает пространство между нижним краем редактора и последней строкой.","Включает всплывающее окно с документацией по параметру и сведениями о типе, которое отображается во время набора.","Определяет, меню подсказок остается открытым или закроется при достижении конца списка.","Экспресс-предложения отображаются в мини-приложении рекомендаций","Экспресс-предложения отображаются как едва различимый текст","Экспресс-предложения отключены","Разрешение кратких предложений в строках.","Разрешение кратких предложений в комментариях.","Разрешение кратких предложений вне строк и комментариев.","Определяет, должны ли предложения автоматически отображаться при вводе. Этот параметр можно выбрать при вводе примечаний, строк и другого кода. Быстрые предло
Line truncated
|
||||
Если существует несколько правок для этого типа, в редакторе будет отображаться средство выбора. Если правки такого типа отсутствуют, в редакторе будет отображаться сообщение об ошибке.`,`Список предпочитаемых вариантов правок вставки для применения.\r
|
||||
Будет применена первая правка соответствующая настройкам.`,"Вставить как...","Вставить как текст","Отображается ли мини-приложение вставки","Показать параметры вставки...","пусто",'Изменения вставки для "{0}" не найдены',"Разрешение правки вставки для '{0}'. Щелкните, чтобы отменить","Запуск обработчиков вставки. Щелкните, чтобы отменить и выполнить обычную вставку","Настроить действие вставки по умолчанию","Выберите действие вставки","Запуск обработчиков вставки","Вставить обычный текст","Вставить URI","Вставить URI","Вставить пути","Вставить путь","Вставить относительные пути","Вставить относительный путь","Вставить HTML","Отображается ли мини-приложение сброса","Показать параметры сброса...","Запускаются обработчики сброса. Щелкните для отмены",`Ошибка при разрешении правки "{0}":\r
|
||||
{1}`,`Ошибка при применении изменения "{0}":\r
|
||||
{1}`,'Выполняются ли в редакторе операции, допускающие отмену, например, "Показать ссылки"',"Файл слишком велик для выполнения операции замены всех файлов.","&&Найти","Нет совпадений. Попробуйте найти что-нибудь другое.","Введите число, чтобы перейти к определенному совпадению (от 1 до {0})","Введите число от 1 до {0}","Введите число от 1 до {0}","&&Заменить","Найти","Найти с аргументами","Найти в выделенном фрагменте","Найти далее","Найти ранее","Перейти к совпадению...","Найти следующее выделение","Найти предыдущее выделение","Заменить","Значок, указывающий, что мини-приложение поиска в редакторе свернуто.","Значок, указывающий, что мини-приложение поиска в редакторе развернуто.",'Значок для кнопки "Найти в выбранном" в мини-приложении поиска в редакторе.','Значок для кнопки "Заменить" в мини-приложении поиска в редакторе.','Значок для кнопки "Заменить все" в мини-приложении поиска в редакторе.','Значок для кнопки "Найти ранее" в мини-приложении поиска в редакторе.','Значок для кнопки "Найти далее" в мини-приложении поиска в редакторе.',"Поиск и замена","Найти","Найти","Предыдущее совпадение","Следующее совпадение","Найти в выделении","Закрыть","Заменить","Заменить","Заменить","Заменить все","Переключение замены","Отображаются только первые {0} результатов, но все операции поиска выполняются со всем текстом.","{0} из {1}","Результаты отсутствуют","{0} обнаружено",'{0} найден для "{1}"','{0} найден для "{1}", в {2}','{0} найден для "{1}"',"Развернуть","Развернуть рекурсивно","Свернуть","Переключить свертывание","Свернуть рекурсивно","Переключить рекурсивное свертывание","Свернуть все блоки комментариев","Свернуть все регионы","Развернуть все регионы","Свернуть все кроме выбранных","Развернуть все кроме выбранных","Свернуть все","Развернуть все","Перейти к родительскому свертыванию","Перейти к предыдущему диапазону сложенных данных","Перейти к следующему диапазону сложенных данных","Создать диапазон свертывания из выделенного фрагмента","Удалить диапазоны свертывания вручную","Переключить свернутый импорт","Уровень папки {0}","Цвет фона за свернутыми диапазонами. Этот цвет не должен быть непрозрачным, чтобы не скрывать расположенные ниже декоративные элементы.","Цвет свернутого текста после первой строки сложенного диапазона.","Цвет элемента управления свертыванием во внутреннем поле редактора.","Значок для развернутых диапазонов на поле глифов редактора.","Значок для свернутых диапазонов на поле глифов редактора.","Значок для свернутых вручную диапазонов на полях глифа редактора.","Значок для развернутых вручную диапазонов на полях глифа редактора.","Щелкните, чтобы расширить диапазон.","Щелкните, чтобы свернуть диапазон.","Увеличить размер шрифта редактора","Уменьшить размер шрифта редактора","Сбросить размер шрифта редактора","Форматировать документ","Форма
Line truncated
|
||||
\r
|
||||
Рекомендуется удалить их из файла. Удаление этих символов можно настроить с помощью параметра "editor.unusualLineTerminators".`,"&&Удалить необычные символы завершения строки","Пропустить","Цвет фона символа при доступе на чтение, например, при чтении переменной. Цвет не должен быть непрозрачным, чтобы не скрыть расположенные ниже элементы оформления.","Цвет фона для символа во время доступа на запись, например при записи в переменную. Цвет не должен быть непрозрачным, чтобы не скрыть расположенные ниже элементы оформления.","Цвет фона текстового вхождения символа. Этот цвет не должен быть непрозрачным, чтобы не скрывать расположенные ниже элементы оформления.","Цвет границы символа при доступе на чтение, например, при считывании переменной.","Цвет границы символа при доступе на запись, например, при записи переменной. ","Цвет границы текстового вхождения символа.","Цвет маркера обзорной линейки для выделения символов. Этот цвет не должен быть непрозрачным, чтобы не скрывать расположенные ниже элементы оформления.","Цвет маркера обзорной линейки для выделения символов доступа на запись. Цвет не должен быть непрозрачным, чтобы не скрыть расположенные ниже элементы оформления.","Цвет маркера обзорной линейки текстового вхождения символа. Этот цвет не должен быть непрозрачным, чтобы не скрывать расположенные ниже элементы оформления.","Перейти к следующему выделению символов","Перейти к предыдущему выделению символов","Включить или отключить выделение символов","Удалить слово","Ошибка в позиции","Ошибка","Предупреждение в позиции","Предупреждение","Ошибка в строке","Ошибка в строке","Предупреждение в строке","Предупреждение в строке","Сложенная область в строке","Свернуто","Точка останова в строке","Точка останова","Встроенная рекомендация в строке","Следующее предложение правки в строке","Следующее предложение правки","Быстрое исправление терминала","Быстрое исправление","Отладчик остановлен в точке останова","Точка останова","Отсутствие вложенных указаний в строке","Вложенные указания отсутствуют","Задача завершена","Задача завершена","Сбой задачи","Сбой задачи","Сбой команды терминала","Сбой команды","Команда терминала выполнена","Команда выполнена","Колокольчик терминала","Звонок терминала","Ячейка записной книжки выполнена","Ячейка записной книжки выполнена","Сбой ячейки записной книжки","Сбой ячейки записной книжки","Вставлена разностная строка","Удалена разностная строка","Изменена строка различий","Изменить измененный файл чата","Файл изменен из изменений чата","Отправлен запрос на чат","Отправлен запрос на чат","Получен ответ чата","Запрос на действие кода активирован","Запрос на действие кода активирован","Действие кода применено","Ход выполнения","Ход выполнения","Очистить","Очистка","Сохранить","Сохранить","Форма
Line truncated
|
||||
[{1}] {2}`,"{1} для {0}","{0} ({1})","Скрыть","Сбросить меню",'Скрыть "{0}"',"Настройка сочетания клавиш","{0}, чтобы применить, {1} для предварительного просмотра","{0}, чтобы применить","{0}, причина отключения: {1}","Мини-приложения действий","Цвет фона для переключаемых элементов действий на панели действий.","Отображается ли список мини-приложений действий","Скрыть мини-приложение действия","Выбрать предыдущее действие","Выбрать следующее действие","Принять выбранное действие","Предварительный просмотр выбранного действия","Переопределения конфигурации языка по умолчанию","Настройка переопределяемых параметров для {0}.","Настройка параметров редактора, переопределяемых для языка.","Этот параметр не поддерживает настройку для отдельных языков.","Настройка параметров редактора, переопределяемых для языка.","Этот параметр не поддерживает настройку для отдельных языков.","Не удается зарегистрировать пустое свойство",`Невозможно зарегистрировать "{0}". Оно соответствует шаблону свойства '\\\\[.*\\\\]$' для описания параметров редактора, определяемых языком. Используйте участие configurationDefaults.`,'Невозможно зарегистрировать "{0}". Это свойство уже зарегистрировано.','Невозможно зарегистрировать "{0}". Уже имеется регистрация {2} для связанной политики {1}.',"Команда, возвращающая сведения о ключах контекста","Пустое выражение ключа контекста",'Вы забыли записать выражение? Вы также можете поместить "false" или "true", чтобы всегда оценивать по значению false или true соответственно.','"in" после "not".','закрывающая круглая скобка ")"',"Непредвиденный маркер","Возможно, вы забыли поместить && или || перед маркером?","Неожиданный конец выражения","Возможно, вы забыли поместить ключ контекста?",`Ожидается: {0}\r
|
||||
Получено: "{1}".`,"Используется ли операционная система macOS","Используется ли операционная система Linux","Используется ли операционная система Windows","Является ли платформа браузерной","Используется ли операционная система macOS на платформе, отличной от браузерной","Используется ли операционная система IOS","Является ли платформа мобильным браузером","Тип качества VS Code","Находится ли фокус клавиатуры в поле ввода","Вы имели в виду {0}?","Вы имели в виду {0} или {1}?","Вы имели в виду {0}, {1} или {2}?","Вы забыли открыть или закрыть цитату?",'Вы забыли экранировать символ "/" (косая черта)? Чтобы экранировать, поместите перед символом две обратные косые черты, например "\\\\/".',"Отображаются ли предложения","Удерживайте клавишу {0}чтобы навести указатель мыши","Загрузка...","Была нажата клавиша {0}. Ожидание нажатия второй клавиши сочетания...","Была нажата клавиша ({0}). Ожидание нажатия следующей клавиши сочетания...","Сочетание клавиш ({0} и {1}) не является командой.","Сочетание клавиш ({0} и {1}) не является командой.","Рабочее место","Соответствует клавише CTRL в Windows и Linux и клавише COMMAND в macOS.","Соответствует клавише ALT в Windows и Linux и клавише OPTION в macOS.",'Модификатор, который будет использоваться для добавления элементов в деревьях и списках в элемент множественного выбора с помощью мыши (например, в проводнике, в открытых редакторах и в представлении scm). Жесты мыши "Открыть сбоку" (если они поддерживаются) будут изменены таким образом, чтобы они не конфликтовали с модификатором элемента множественного выбора.',"Управляет тем, как открывать элементы в деревьях и списках с помощью мыши (если поддерживается). Обратите внимание, что этот параметр может игнорироваться в некоторых деревьях и списках, если он не применяется к ним.","Определяет, поддерживают ли горизонтальную прокрутку списки и деревья на рабочем месте. Предупреждение! Включение этого параметра может повлиять на производительность.","Определяет, следует ли щелкать полосу прокрутки постранично.","Определяет отступ для дерева в пикселях.","Определяет, нужно ли в дереве отображать направляющие отступа.","Управляет тем, используется ли плавная прокрутка для списков и деревьев.","Множитель, используемый для параметров deltaX и deltaY событий прокрутки колесика мыши.","Коэффициент увеличения скорости прокрутки при нажатии клавиши ALT.","При поиске необходимо выделять элементы. При дальнейшей навигации вверх и вниз выполняется обход только выделенных элементов.","Фильтруйте элементы при поиске.","Управляет режимом поиска по умолчанию для списков и деревьев в Workbench.","Про простой навигации с клавиатуры выбираются элементы, соответствующие вводимым с клавиатуры данным. Сопоставление осуществляется только по префиксам.","Функция подсветки навигации с клавиатуры выделяет элементы, соответствующие вво
Line truncated
|
||||
@@ -0,0 +1,15 @@
|
||||
define("vs/nls.messages.tr.js",["./_commonjsHelpers-CT9FvmAN"],(function(a){"use strict";var e={};/*!-----------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Version: 0.55.1(516f350bdaf7a82f6731bd128a9ec86a6e5fa47d)
|
||||
* Released under the MIT license
|
||||
* https://github.com/microsoft/vscode/blob/main/LICENSE.txt
|
||||
*-----------------------------------------------------------*/var i;function n(){return i||(i=1,globalThis._VSCODE_NLS_MESSAGES=["{0} ({1})","giriş","Büyük/Küçük Harf Eşleştir","Sözcüğün Tamamını Eşleştir","Normal İfade Kullan","giriş","Büyük/Küçük Harfi Koru","Bunu {0} ile erişilebilir görünümde inceleyin.","Şu anda tuş bağlama ile tetiklenemeyen Erişilebilir Görünümü Aç komutu aracılığıyla bu öğeyi erişilebilir görünümde inceleyin.","Hata: {0}","Uyarı: {0}","Bilgi: {0}"," veya geçmiş için {0}"," (geçmiş için {0})","Temizlenen Giriş","Sınırsız","Kutu Seç","Diğer Eylemler...","Aramak için yazın","Kapat","Aramak için yazın","Hiçbir sonuç bulunamadı.","Sonuç yok","{0} sonuç","Filtrelemek için yazın","Aramak için yazın","Filtre","Benzer Öğe Eşleşmesi","(boş)","{0}: {1}","Sistem hatası oluştu ({0})","Beklenmeyen bir hata oluştu. Daha fazla ayrıntı için lütfen günlüğe bakın.","Beklenmeyen bir hata oluştu. Daha fazla ayrıntı için lütfen günlüğe bakın.","{0} (toplam {1} hata)","Beklenmeyen bir hata oluştu. Daha fazla ayrıntı için lütfen günlüğe bakın.","Ctrl","Shift","Alt","Windows","Ctrl","Shift","Alt","Super","Control","Shift","Seçenek","Command","Control","Shift","Alt","Windows","Control","Shift","Alt","Super","Uzantılar","Tümleşik Terminal","Sohbet","Telemetri","Güncelleştir","düzenleyici","Düzenleyiciye şu anda erişilemiyor.","{0} Ekran okuyucu için iyileştirilmiş modu etkinleştirmek için şunu kullanın{1}","{0} Ekran okuyucu için iyileştirilmiş modu etkinleştirmek için {1} ile hızlı seçimi açın ve şu anda klavye aracılığıyla tetiklenemeyen Ekran Okuyucusu Erişilebilirlik Modunu Aç/Kapat komutunu çalıştırın.","{0} Lütfen tuş bağlamaları düzenleyicisine erişerek Ekran Okuyucusu Erişilebilirlik Modunu Aç/Kapat komutu için bir tuş bağlaması atayın {1} ve çalıştırın.","düzenleyici","Daha uzun satırlara giderken bile sonda kal","Daha uzun satırlara giderken bile sonda kal","İkincil imleçler kaldırıldı","&&Geri Al","Geri Al","Geri Al","&&Yinele","Yinele","Yinele","&&Tümünü Seç","Tümünü Seç","Tümünü Seç","DOM tabanlı işleme kullan","Satır içi tamamlamaların şu anda ertelenip ertelenmediği","Satır İçi Öneriler için erteleme süresini seçin","Satır İçi Önerileri Ertele","Satır İçi Önerileri Ertelemeyi İptal Et","İmleç sayısı {0} ile sınırlandırıldı. Daha büyük değişiklikler için [bul ve değiştir](https://code.visualstudio.com/docs/editor/codebasics#_find-and-replace) kullanmayı veya düzenleyici çoklu imleç sınırı ayarını artırmayı düşünün.","Çoklu İmleç Sınırını Artırma","Değişmeyen Bölgeleri Daraltmayı Aç/Kapat","Taşınan Kod Bloklarını Göster/Gizle","Alan Sınırlı Olduğunda Satır İçi Görünümü Kullan'a Geç","Fark Düzenleyicisi","Diğer Yüze Geç","Taşımayı Karşılaştır'dan Çık","Değiştirilmemiş Tüm Bölgeleri Daralt","Değiştirilmemiş Tüm Bölgeleri Göster","Geri Dön","Erişilebilir Fark Görüntüleyicisi","Sonraki Farka Git","Önceki Farka Git","Erişilebilir fark görüntüleyicisinde 'Ekle' simgesi.","Erişilebilir fark görüntüleyicisinde 'Kaldır' simgesi.","Erişilebilir fark görüntüleyicisinde 'Kapat' simgesi.","Kapat","Erişilebilir Fark Görüntüleyicisi. Gezinmek için yukarı ve aşağı ok tuşlarını kullanın.","satır değiştirilmedi","1 satır değiştirildi","{0} satır değiştirildi","{0} / {1} fark: özgün satır: {2}, {3}, değiştirilen satır: {4}, {5}","boş","{0} değiştirilmemiş satır {1}","{0} özgün satır: {1} değiştirilen satır: {2}","+ {0} değiştirilmiş satır {1}","- {0} özgün satır {1}"," erişilebilirlik yardımını açmak için {0} kullanın.","Silinen satırları kopyala","Silinen satırı kopyala","Değiştirilen satırları kopyala","Değiştirilen satırı kopyala","Silinen satırı kopyala ({0})","Değiştirilen satırı kopyala ({0})","Bu değişikliği geri al","Alan Sınırlı Olduğunda Satır İçi Görünümü Kullan","Taşınan Kod Bloklarını Göster","Bloğu Geri Döndür","Seçimi Geri Döndür","Erişilebilir Fark Görüntüleyicisi'ni aç","Değişmeyen Bölgeyi Katlayın","{0} gizli satır","Yukarıda daha fazlasını göstermek için tıklayın veya sürükleyin","Değişmeyen Bölgeyi Göster","Aşağıda daha fazlasını göstermek için tıklayın veya sürükleyin","{0} gizli satır","Katlamayı kaldırmak için çift tıkla","Kod, değişikliklerle {0}-{1} satırına taşındı","Kod, değişikliklerle {0}-{1} satırından taşındı","Kod, {0}-{1} satırına taşındı","Kod, {0}-{1} satırından taşındı","Seçili Değişiklikleri Ger Döndür","Değişikliği Geri Döndür","Fark düzenleyicisinde taşınan metnin kenarlık rengi.","Fark düzenleyicisinde taşınan metnin aktif kenarlık rengi.","Değiştirilmemiş bölge pencere öğelerinin etrafınLine truncated
|
||||
- Satır yüksekliğini yazı tipi boyutundan otomatik olarak hesaplamak için 0 değerini kullanın.\r
|
||||
- 0 ile 8 arasındaki değerler, yazı tipi boyutuyla çarpan olarak kullanılır.\r
|
||||
- 8 ve daha büyük değerler etkin değerler olarak kullanılır.`,"Mini haritanın gösterilip gösterilmeyeceğini denetler.","Mini harita her zaman gösterilmektedir.","Fare mini haritanın üzerinde olmadığında mini harita gizlenir, fare mini haritanın üzerindeyken gösterilir.","Mini harita yalnızca düzenleyici kaydırıldığında gösterilir.","Mini haritanın otomatik olarak gizlenip gizlenmediğini kontrol eder.","Mini harita, düzenleyici içeriğiyle aynı boyuta sahip olur (ve kaydırılabilir).","Mini harita, düzenleyicinin yüksekliğini doldurmak için gerektiği gibi genişler veya daralır (kaydırma yoktur).","Mini harita, hiçbir zaman düzenleyiciden daha büyük olmamak için gerektiği kadar daralır (kaydırma yoktur).","Mini haritanın boyutunu denetler.","Mini haritanın oluşturulacağı tarafı denetler.","Mini harita kaydırıcısının ne zaman gösterileceğini denetler.","Mini harita içinde çizilen içeriğin ölçeği: 1, 2 veya 3.","Satırdaki renk blokları yerine gerçek karakterleri işleyin.","Mini haritanın genişliğini belirli sayıda sütuna kadar işlenecek şekilde sınırlayın.","Adlandırılmış bölgelerin mini haritada bölüm üst bilgileri olarak gösterilip gösterilmeyeceğini denetler.","MARK: açıklamalarının mini haritada bölüm üst bilgileri olarak gösterilip gösterilmeyeceğini denetler.","Açıklamalarda bölüm üst bilgilerini bulmak için kullanılan normal ifadeyi belirtir. Normal ifade, bölüm üst bilgisini kapsüllerken 'label' ('(?<label>.+)' olarak yazılmış) adlandırılmış bir eşleştirme grubu içermeli, aksi takdirde çalışmayacak. İsteğe bağlı olarak 'separator' adlı başka bir eşleşme grubu dahil edin. Çok \\n üst bilgileri eşleştirmek için desende bir metin kullanın.","Mini haritadaki bölüm üst bilgilerinin yazı tipi boyutunu denetler.","Bölüm üst bilgisinin karakterleri arasındaki boşluk miktarını (piksel cinsinden) denetler. Bu, küçük yazı tipi boyutlarındaki üst bilginin okunabilirliğine yardımcı olur.","Düzenleyicinin üst kenarı ile ilk satır arasındaki boşluk miktarını denetler.","Düzenleyicinin alt kenarı ile son satır arasındaki boşluk miktarını denetler.","Yazma sırasında parametre belgelerini ve tür bilgilerini gösteren bir açılır pencereyi etkinleştirir.","Parametre ipuçları menüsünde listenin sonuna ulaşıldığında menünün başına dönülmesi veya kapatılması tercihini denetler.","Hızlı öneriler, öner pencere öğesinin içinde görünür","Hızlı öneriler hayalet metin olarak görünür","Hızlı öneriler devre dışı bırakıldı","Dizelerin içinde hızlı önerileri etkinleştirin.","Açıklamaların içinde hızlı önerileri etkinleştirin.","Dizelerin ve açıklamaların dışında hızlı önerileri etkinleştirin.","Yazarken önerilerin otomatik olarak görünüp görünmeyeceğini denetler. Bu; açıklamalar, dizeler ve diğer kodlarda yazmak için denetlenebilir. Hızlı öneri, hayalet metin olarak veya öneri pencere öğesiyle gösterilecek şekilde yapılandırılabilir. Ayrıca, önerilerin özel karakterlerle tetiklenip tetiklenmeyeceğini denetleyen '{0}' ayarına dikkat edin.","Satır numaraları işlenmez.","Satır numaraları mutlak sayı olarak oluşturulur.","Satır numaraları imlecin bulunduğu konuma satır cinsinden uzaklık olarak oluşturulur.","Satır numaraları 10 satırda bir işlenir.","Satır numaralarının görüntülenmesini denetler.","Bu düzenleyici cetvelinin oluşturulacağı tek aralıklı karakter sayısı.","Bu düzenleyici cetvelinin rengi.","Dikey cetvelleri belirli sayıda tek aralıklı karakterden sonra işleyin. Birden çok cetvel için birden çok değer kullanın. Dizi boşsa cetvel çizilmez.","Dikey kaydırma çubuğu yalnızca gerektiğinde görünür.","Dikey kaydırma çubuğu her zaman görünür.","Dikey kaydırma çubuğu her zaman gizlenir.","Dikey kaydırma çubuğunun görünürlüğünü kontrol eder.","Yatay kaydırma çubuğu yalnızca gerektiğinde görünür.","Yatay kaydırma çubuğu her zaman görünür.","Yatay kaydırma çubuğu her zaman gizlenir.","Yatay kaydırma çubuğunun görünürlüğünü kontrol eder.","Dikey kaydırma çubuğunun genişliği.","Yatay kaydırma çubuğunun yüksekliği.","Tıklamayla sayfaya göre kaydırma mı yapılacağını yoksa tıklama konumuna mı atlanacağını kontrol eder.","Yatay kaydırma çubuğu ayarlandığında düzenleyicinin içeriğinin boyutunu artırmaz.","Temel olmayan tüm ASCII karakterlerinin vurgulanmış olup olmadığını kontrol eder. Yalnızca U+0020 ile U+007E arasındaki karakterler, sekme, satır ilerletme ve satır başı karakterleri temel ASCII olarak kabul edilir.","Yalnızca boşluk tutan veya genişliği olmayan karakterlerin vurgulanmış olup olmadığını kontrol eder.","Geçerli kullanıcı yerel ayarında yaygın olan karakterler dışında, temel ASCII karakterleriyle k
Line truncated
|
||||
Bu tür için birden fazla düzenleme varsa düzenleyici bir seçici gösterir. Bu türde düzenleme yoksa düzenleyici bir hata iletisi göstermelidir.`,`Uygulamayı denemek için tercih edilen yapıştırma düzenleme türü listesi.\r
|
||||
Tercihler ile eşleşen ilk düzenleme uygulanacak.`,"Farklı Yapıştır...","Metin olarak yapıştır","Yapıştırma pencere öğesinin gösterilip gösterilmediğini belirtir","Yapıştırma seçeneklerini göster...","boş","'{0}' için yapıştırma düzenlemesi bulunamadı","Uygulama için yapıştırma düzenlemesi '{0}'. İptal etmek için tıklayın","Yapıştırma işleyicileri çalıştırılıyor. İptal etmek ve temel yapıştırma uygulamak için tıklayın","Varsayılan yapıştırma eylemini yapılandır","Yapıştırma Eylemi Seç","Yapıştırma işleyicileri çalıştırılıyor","Düz Metin Ekle","URI’ler Ekle","URI Ekle","Yollar Ekle","Yol Ekle","Göreli Yollar Ekle","Göreli Yol Ekle","HTML ekle","Bırakma pencere öğesinin gösterilip gösterilmediğini belirtir","Bırakma seçeneklerini göster...","Bırakma işleyicileri çalıştırılıyor. İptal etmek için tıklayın",`Düzenleme '{0}' çözümlenirken hata oluştu:\r
|
||||
{1}`,`Düzenleme '{0}' uygulanırken hata oluştu:\r
|
||||
{1}`,"Düzenleyicinin iptal edilebilir bir işlem (ör. 'Başvurulara Göz Atma' gibi) çalıştırıp çalıştırmayacağını belirtir","Dosya, tümünü değiştirme işlemi gerçekleştirmek için çok büyük.","&&Bul","Eşleşme yok. Başka bir şey aramayı deneyin.","Belirli bir eşleşmeye gitmek için bir sayı yazın (1 ile {0}arasında)","Lütfen 1 ile {0} arasında bir sayı girin","Lütfen 1 ile {0} arasında bir sayı girin","&&Değiştir","Bul","Bağımsız Değişkenlerle Bul","Seçimle Bul","Sonrakini Bul","Öncekini Bul","Eşleşmeye git...","Sonraki Seçimi Bul","Önceki Seçimi Bul","Değiştir","Düzenleyicideki bulma arabirim öğesinin daraltıldığını gösteren simge.","Düzenleyicideki bulma arabirim öğesinin genişletildiğini gösteren simge.","Düzenleyicideki bulma arabirim öğesinde yer alan 'Seçimde Bul' simgesi.","Düzenleyicideki bul arabirim öğesinde yer alan 'Replace' simgesi.","Düzenleyicideki bulma arabirim öğesinde yer alan 'Tümünü Değiştir' simgesi.","Düzenleyicideki bulma arabirim öğesinde yer alan 'Öncekini Bul' simgesi.","Düzenleyicideki bulma arabirim öğesinde yer alan 'Sonrakini Bul' simgesi.","Bul / Değiştir","Bul","Bul","Önceki Eşleşme","Sonraki Eşleşme","Seçimde Bul","Kapat","Değiştir","Değiştir","Değiştir","Tümünü Değiştir","Değiştirmeyi Aç/Kapat","Yalnızca ilk {0} sonuç vurgulanır, ancak tüm bulma işlemleri metnin tamamında sonuç verir.","{0}/{1}","Sonuç yok","{0} bulundu","'{1}' için {0} bulundu","'{1}' için {2} konumunda {0} bulundu","'{1}' için {0} bulundu","Katlamayı Kaldır","Katlamayı Özyinelemeli Olarak Kaldır","Katla","Katlamayı Aç/Kapat","Özyinelemeli Katla","Özyinelemeli Katlamayı Aç/Kapat","Tüm Blok Açıklamaları Katla","Tüm Bölgeleri Katla","Tüm Bölgelerin Katlamasını Kaldır","Seçili Olanlar Hariç Tümünü Katla","Seçili Olanlar Hariç Tümünü Aç","Tümünü Katla","Tümünün Katlamasını Kaldır","Üst Katlamaya Git","Önceki Katlama Aralığına Git","Sonraki Katlama Aralığına Git","Seçimden Katlama Aralığı Oluştur","El ile Katlama Aralıklarını Kaldır","İçeri Aktarma Katlamasını Aç/Kapat","Katlama Düzeyi {0}","Katlanan aralıkların arka plan rengi. Alttaki süslemeleri gizlememesi için rengin opak olmaması gerekir.","Katlanmış aralığın ilk satırından sonra daraltılmış metnin rengi.","Düzenleyici cilt payı içindeki katlama denetiminin rengi.","Düzenleyici karakter dış boşluğundaki genişletilmiş aralıklar simgesi.","Düzenleyici karakter dış boşluğundaki daraltılmış aralıklar simgesi.","Düzenleyici karakter dış boşluğunda el ile daraltılmış aralıklar simgesi.","Düzenleyici karakter dış boşluğunda el ile genişletilmiş aralıklar simgesi.","Aralığı genişletmek için tıklayın.","Aralığı daraltmak için tıklayın.","Düzenleyici Yazı Tipi Boyutunu Artır","Düzenleyici Yazı Tipi Boyutunu Azalt","Düzenleyici Yazı Tipi Boyutunu Sıfırla","Belgeyi Biçimlendir","Biçim Seçimi","Sonraki işaretleyiciye git simgesi.","Önceki işaretleyiciye git simgesi.","Sonraki &&Sorun","Önceki &&Sorun","Sonraki Soruna Git (Hata, Uyarı, Bilgi)","Önceki Soruna Git (Hata, Uyarı, Bilgi)","Dosyalardaki Sonraki Soruna Git (Hata, Uyarı, Bilgi)","Dosyalardaki Önceki Soruna Git (Hata, Uyarı, Bilgi)","Hata","Uyarı","Bilgi","İpucu","{0}, konum: {1}. ","{1}/{0} sorun","{1} / {0} sorun","Düzenleyici işaretçi gezinmesi pencere öğesi hata rengi.","Düzenleyici işaretçi gezinmesi pencere öğesi hata başlığı arka planı.","Düzenleyici işaretleyici gezinmesi pencere öğesi uyarı rengi.","Düzenleyici işaretçi gezinmesi pencere öğesi uyarı başlığı arka planı.","Düzenleyici işaretleyici gezinmesi pencere öğesi bilgi rengi.","Düzenleyici işaretçi gezinmesi pencere öğesi bilgi başlığı arka planı.","Düzenleyici işaretçi gezinmesi pencere öğesi arka planı.","Gözat","Tanımlar","'{0}' için tanım bulunamadı","Tanım bulunamadı","&&Tanıma Git","Bildirimler","'{0}' için bildirim bulunamadı","Bildirim bulunamadı","&&Bildirime Git","'{0}' için bildirim bulunamadı","Bildirim bulunamadı","Tür Tanımları","'{0}' için tür tanımı bulunamadı","Tür tanımı bulunamadı","&&Tür Tanımına Git","Uygulamalar","'{0}' için uygulama bulunamadı","Uygulama bulunamadı","&&Uygulamalara Git","'{0}' için başvuru bulunamadı","Başvuru bulunamadı","&&Başvurulara Git","Başvurular","Başvurular","Konumlar","'{0}' için sonuç yok","Başvurular","Tanıma Git","Tanımı Yan Tarafta Aç","Tanıma Gözat","Bildirime Git","Bildirime Gözat","Tür Tanımına Git","Tür Tanımına Gözat","Uygulamalara Git","Uygulamalara Gözat","Başvurulara Git","Başvurulara Gözat","Herhangi Bir Sembole Git","{0} tanımı görüntülemek için tıklayın.","Başvuruya göz atmanın (ör. 'Başvurulara Göz Atma' veya 'Tanıma Göz Atma') görünür olup olmadığını belirtir","Yükleniyo
Line truncated
|
||||
[{1}] {2}`,"{1} - {0}","{0} ({1})","Gizle","Sıfırlama Menüsü","'{0}' öğesini gizle","Tuş Bağlamasını Yapılandır","Uygulamak için {0}, Önizlemek için {1}","Uygulamak için {0}","{0}, Devre Dışı Bırakılma Nedeni: {1}","Eylem Widget'ı","Eylem çubuğundaki iki durumlu eylem öğeleri için arka plan rengi.","Eylem widget listesinin görünür olup olmadığı","Eylem widget'ını gizle","Önceki eylemi seçin","Sonraki eylemi seç","Seçili eylemi kabul et","Seçilen eylemi önizle","Varsayılan Dil Yapılandırması Geçersiz Kılmaları","{0} için geçersiz kılınacak ayarları yapılandırın.","Bir dil için geçersiz kılınacak düzenleyici ayarlarını yapılandırın.","Bu ayar, dile özel yapılandırmayı desteklemez.","Bir dil için geçersiz kılınacak düzenleyici ayarlarını yapılandırın.","Bu ayar, dile özel yapılandırmayı desteklemez.","Boş bir özellik kaydedilemez","'{0}' kaydedilemiyor. Bu, dile özgü düzenleyici ayarlarını açıklayan '\\\\[.* \\\\]$' özellik deseniyle eşleşiyor. 'configurationDefaults' katkısını kullanın.","'{0}' kaydedilemiyor. Bu özellik zaten kayıtlı.","'{0}' kaydedilemiyor. İlişkili ilke {1}, zaten {2} ile kaydedilmiş.","Bağlam anahtarları hakkındaki bilgileri döndüren komut","Boş bağlam anahtarı ifadesi","İfade yazmayı mı unuttunuz? Sırasıyla false veya true olarak değerlendirmek için 'false' veya 'true' da koyabilirsiniz.","'not' sonrasında 'in'.","kapatma parantezi ')'","Beklenmeyen belirteç","Belirteçten önce && veya || koymayı mı unuttunuz?","Beklenmeyen ifade sonu.","Bağlam anahtarı koymayı mı unuttunuz?",`Beklenen: {0}\r
|
||||
Alınan: '{1}'.`,"İşletim sisteminin macOS olup olmadığını belirtir","İşletim sisteminin Linux olup olmadığını belirtir","İşletim sisteminin Windows olup olmadığını belirtir","Platformun bir web tarayıcısı olup olmadığını belirtir","İşletim sisteminin tarayıcı dışı bir platformda macOS olup olmadığını belirtir","İşletim sisteminin iOS olup olmadığını belirtir","Platformun bir web tarayıcısı olup olmadığını belirtir","VS Code’un Kalite türü","Klavye odağının giriş kutusunun içinde olup olmadığını belirtir","{0} öğesini mi demek istediniz?","{0} veya {1} öğesini mi demek istediniz?","{0}, {1} ve {2} öğesini mi demek istediniz?","Tırnak işaretini açmayı veya kapatmayı mı unuttunuz?","'/' (eğik çizgi) karakterinden çıkmayı mı unuttunuz? Çıkmak için önce iki ters eğik çizgi girin. Örneğin, '\\\\/'.","Önerinin görünür olup olmadığını belirtir","Fareyle üzerine gelmek için {0} tuşunu basılı tutun","Yükleniyor...","({0}) basıldı. Akorun ikinci tuşu bekleniyor...","({0}) düğmesine basıldı. Sonraki akor anahtarı bekleniyor...","({0}, {1}) tuş bileşimi bir komut değil.","({0}, {1}) tuş bileşimi bir komut değil.","Workbench","Windows ve Linux'ta `Control`, macOS'te `Command` ile eşlenir.","Windows ve Linux'ta `Alt`, macOS'te `Option` ile eşlenir.","Ağaçlara ve listelere fare ile çoklu seçim yapılabilecek bir öğe eklemek için kullanılacak değiştirici (örneğin gezginde, açık düzenleyicilerde ve SCM görünümünde). 'Yanda Aç' fare hareketleri destekleniyorsa, birden çok öğe seçme değiştiricisi ile çakışmayacak şekilde uyarlanır.","Ağaç ve listelerdeki öğelerin fare kullanılarak (destekleniyorsa) nasıl açılacağını denetler. Uygulanamıyorsa, bazı ağaçların ve listelerin bu ayarı yoksaymayı seçebileceğine dikkat edin.","Liste ve ağaçların workbench'te yatay kaydırmayı destekleyip desteklemeyeceğini denetler. Uyarı: Bu ayarı açmanın, performansa etkisi olur.","Kaydırma çubuğundaki tıklamaların sayfa sayfa kaydırılıp kaydırılmadığını denetler.","Piksel cinsinden ağaç girintilemesini denetler.","Ağacın girinti kılavuzlarını işleyip işlemeyeceğini denetler.","Liste ve ağaçlarda düzgün kaydırma olup olmayacağını denetler.","Fare tekerleği kaydırma olaylarının 'deltaX' ve 'deltaY' değerleri üzerinde kullanılacak çarpan.","`Alt` tuşuna basılırken kaydırma hızı çarpanı.","Arama yaparken öğeleri vurgulama. Daha fazla yukarı ve aşağı gezinti, yalnızca vurgulanan öğelerde geçiş sağlar.","Arama yaparken öğeleri filtreleme.","Çalışma masasındaki listeler ve ağaçlar için varsayılan bulma modunu denetler.","Basit klavye gezintisi, klavye girişiyle eşleşen öğelere odaklanır. Eşleşme yalnızca ön eklerde yapılır.","Vurgu klavye gezintisi, klavye girişiyle eşleşen öğeleri vurgular. Gezinti yukarı ve aşağı yönde sürdürüldüğünde yalnızca vurgulanan öğelerde dolaşılır.","Filtre klavye gezintisi, klavye girişiyle eşleşmeyen tüm öğeleri filtreler ve gizler.","Workbench'teki liste ve ağaçların klavye gezinti stilini denetler. Basit, vurgu ve filtre olabilir.","Lütfen bunun yerine 'workbench.list.defaultFindMode' ve 'workbench.list.typeNavigationMode' kullanın.","Arama yaparken benzer öğe eşleştirme kullanın.","Arama yaparken bitişik eşleştirme kullanın.","Çalışma masasında liste ve ağaç aranırken kullanılan eşleştirme türünü denetler.","Klasör adlarına tıklandığında ağaç klasörlerinin nasıl genişletileceğini denetler. Uygulanamıyorsa, bazı ağaçların ve listelerin bu ayarı yoksaymayı seçebileceğine dikkat edin.","Yapışkan kaydırmanın ağaçlarda etkin olup olmadığını denetler.","{0} etkinleştirildiğinde ağaçta görüntülenen yapışkan öğe sayısını denetler.","Tezgahtaki listelerde ve ağaçlarda tür gezintisinin nasıl çalıştığını denetler. `Trigger` olarak ayarlandığında, 'list.triggerTypeNavigation' komutu çalıştırıldığında türde gezinme başlar.","Hata","Uyarı","Bilgi","Hatalar","Uyarılar","Bilgiler",'Sorunlar duraklatıldı çünkü: "{0}"','Sorunlar duraklatıldı çünkü: "{0}" ve {1} daha fazla',"son kullanılanlar","benzer komutlar","sık kullanılan","diğer komutlar","benzer komutlar","{0}, {1}","'{0}' komutu bir hatayla sonuçlandı","{0}, {1}","Klavye odağının hızlı giriş denetiminin içinde olup olmadığını belirtir","Hızlı girişin hizalaması","Şu anda görünen hızlı girişin türü","Hızlı girişte imlecin giriş kutusunun sonunda olup olmadığını belirtir","Geri","Girişinizi onaylamak için 'Enter' tuşuna, iptal etmek için 'Escape' tuşuna basın","{0}/{1}","Sonuçları daraltmak için yazın.","Tamam","{0} (Onaylamak için 'Enter' tuşuna, iptal etmek için 'Escape' tuşuna basın)","Her türlü hızlı giriş bağlamında kullanılır. B
Line truncated
|
||||
Loaded 100 of 150 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user