UNPKG

monaco-editor-core

Version:

A browser based code editor

1,936 lines (1,607 loc) • 193 kB
/*!----------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1) * Released under the MIT license * https://github.com/microsoft/vscode/blob/main/LICENSE.txt *-----------------------------------------------------------*/ /*--------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. *--------------------------------------------------------*/ /*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ .monaco-action-bar { white-space: nowrap; height: 100%; } .monaco-action-bar .actions-container { display: flex; margin: 0 auto; padding: 0; height: 100%; width: 100%; align-items: center; } .monaco-action-bar.vertical .actions-container { display: inline-block; } .monaco-action-bar .action-item { display: block; align-items: center; justify-content: center; cursor: pointer; position: relative; /* DO NOT REMOVE - this is the key to preventing the ghosting icon bug in Chrome 42 */ } .monaco-action-bar .action-item.disabled { cursor: default; } .monaco-action-bar .action-item .icon, .monaco-action-bar .action-item .codicon { display: block; } .monaco-action-bar .action-item .codicon { display: flex; align-items: center; width: 16px; height: 16px; } .monaco-action-bar .action-label { display: flex; font-size: 11px; padding: 3px; border-radius: 5px; } .monaco-action-bar .action-item.disabled .action-label, .monaco-action-bar .action-item.disabled .action-label::before, .monaco-action-bar .action-item.disabled .action-label:hover { color: var(--vscode-disabledForeground); } /* Vertical actions */ .monaco-action-bar.vertical { text-align: left; } .monaco-action-bar.vertical .action-item { display: block; } .monaco-action-bar.vertical .action-label.separator { display: block; border-bottom: 1px solid #bbb; padding-top: 1px; margin-left: .8em; margin-right: .8em; } .monaco-action-bar .action-item .action-label.separator { width: 1px; height: 16px; margin: 5px 4px !important; cursor: default; min-width: 1px; padding: 0; background-color: #bbb; } .secondary-actions .monaco-action-bar .action-label { margin-left: 6px; } /* Action Items */ .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-action-bar .action-item.action-dropdown-item { display: flex; } .monaco-action-bar .action-item.action-dropdown-item > .action-dropdown-item-separator { display: flex; align-items: center; cursor: default; } .monaco-action-bar .action-item.action-dropdown-item > .action-dropdown-item-separator > div { width: 1px; } /*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ .monaco-aria-container { position: absolute; /* try to hide from window but not from screen readers */ left:-999em; } /*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ .monaco-text-button { box-sizing: border-box; display: flex; width: 100%; padding: 4px; border-radius: 2px; text-align: center; cursor: pointer; justify-content: center; align-items: center; border: 1px solid var(--vscode-button-border, transparent); line-height: 18px; } .monaco-text-button:focus { outline-offset: 2px !important; } .monaco-text-button:hover { text-decoration: none !important; } .monaco-button.disabled:focus, .monaco-button.disabled { opacity: 0.4 !important; cursor: default; } .monaco-text-button .codicon { margin: 0 0.2em; color: inherit !important; } .monaco-text-button.monaco-text-button-with-short-label { flex-direction: row; flex-wrap: wrap; padding: 0 4px; overflow: hidden; height: 28px; } .monaco-text-button.monaco-text-button-with-short-label > .monaco-button-label { flex-basis: 100%; } .monaco-text-button.monaco-text-button-with-short-label > .monaco-button-label-short { flex-grow: 1; width: 0; overflow: hidden; } .monaco-text-button.monaco-text-button-with-short-label > .monaco-button-label, .monaco-text-button.monaco-text-button-with-short-label > .monaco-button-label-short { display: flex; justify-content: center; align-items: center; font-weight: normal; font-style: inherit; padding: 4px 0; } .monaco-button-dropdown { display: flex; cursor: pointer; } .monaco-button-dropdown.disabled { cursor: default; } .monaco-button-dropdown > .monaco-button:focus { outline-offset: -1px !important; } .monaco-button-dropdown.disabled > .monaco-button.disabled, .monaco-button-dropdown.disabled > .monaco-button.disabled:focus, .monaco-button-dropdown.disabled > .monaco-button-dropdown-separator { opacity: 0.4 !important; } .monaco-button-dropdown > .monaco-button.monaco-text-button { border-right-width: 0 !important; } .monaco-button-dropdown .monaco-button-dropdown-separator { padding: 4px 0; cursor: default; } .monaco-button-dropdown .monaco-button-dropdown-separator > div { height: 100%; width: 1px; } .monaco-button-dropdown > .monaco-button.monaco-dropdown-button { border: 1px solid var(--vscode-button-border, transparent); border-left-width: 0 !important; border-radius: 0 2px 2px 0; display: flex; align-items: center; } .monaco-button-dropdown > .monaco-button.monaco-text-button { border-radius: 2px 0 0 2px; } .monaco-description-button { display: flex; flex-direction: column; align-items: center; margin: 4px 5px; /* allows button focus outline to be visible */ } .monaco-description-button .monaco-button-description { font-style: italic; font-size: 11px; padding: 4px 20px; } .monaco-description-button .monaco-button-label, .monaco-description-button .monaco-button-description { display: flex; justify-content: center; align-items: center; } .monaco-description-button .monaco-button-label > .codicon, .monaco-description-button .monaco-button-description > .codicon { margin: 0 0.2em; color: inherit !important; } /* default color styles - based on CSS variables */ .monaco-button.default-colors, .monaco-button-dropdown.default-colors > .monaco-button{ color: var(--vscode-button-foreground); background-color: var(--vscode-button-background); } .monaco-button.default-colors:hover, .monaco-button-dropdown.default-colors > .monaco-button:hover { background-color: var(--vscode-button-hoverBackground); } .monaco-button.default-colors.secondary, .monaco-button-dropdown.default-colors > .monaco-button.secondary { color: var(--vscode-button-secondaryForeground); background-color: var(--vscode-button-secondaryBackground); } .monaco-button.default-colors.secondary:hover, .monaco-button-dropdown.default-colors > .monaco-button.secondary:hover { background-color: var(--vscode-button-secondaryHoverBackground); } .monaco-button-dropdown.default-colors .monaco-button-dropdown-separator { background-color: var(--vscode-button-background); border-top: 1px solid var(--vscode-button-border); border-bottom: 1px solid var(--vscode-button-border); } .monaco-button-dropdown.default-colors .monaco-button.secondary + .monaco-button-dropdown-separator { background-color: var(--vscode-button-secondaryBackground); } .monaco-button-dropdown.default-colors .monaco-button-dropdown-separator > div { background-color: var(--vscode-button-separator); } /*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ @font-face { font-family: "codicon"; font-display: block; src: url(../base/browser/ui/codicons/codicon/codicon.ttf) format("truetype"); } .codicon[class*='codicon-'] { font: normal normal normal 16px/1 codicon; display: inline-block; text-decoration: none; text-rendering: auto; text-align: center; text-transform: none; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; user-select: none; -webkit-user-select: none; } /* icon rules are dynamically created by the platform theme service (see iconsStyleSheet.ts) */ /*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ .codicon-wrench-subaction { opacity: 0.5; } @keyframes codicon-spin { 100% { transform:rotate(360deg); } } .codicon-sync.codicon-modifier-spin, .codicon-loading.codicon-modifier-spin, .codicon-gear.codicon-modifier-spin, .codicon-notebook-state-executing.codicon-modifier-spin { /* Use steps to throttle FPS to reduce CPU usage */ animation: codicon-spin 1.5s steps(30) infinite; } .codicon-modifier-disabled { opacity: 0.4; } /* custom speed & easing for loading icon */ .codicon-loading, .codicon-tree-item-loading::before { animation-duration: 1s !important; animation-timing-function: cubic-bezier(0.53, 0.21, 0.29, 0.67) !important; } /*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ .context-view { position: absolute; } .context-view.fixed { all: initial; font-family: inherit; font-size: 13px; position: fixed; color: inherit; } /*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ .monaco-count-badge { padding: 3px 6px; border-radius: 11px; font-size: 11px; min-width: 18px; min-height: 18px; line-height: 11px; font-weight: normal; text-align: center; display: inline-block; box-sizing: border-box; } .monaco-count-badge.long { padding: 2px 3px; border-radius: 2px; min-height: auto; line-height: normal; } /*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ .monaco-dropdown { height: 100%; padding: 0; } .monaco-dropdown > .dropdown-label { cursor: pointer; height: 100%; display: flex; align-items: center; justify-content: center; } .monaco-dropdown > .dropdown-label > .action-label.disabled { cursor: default; } .monaco-dropdown-with-primary { display: flex !important; flex-direction: row; border-radius: 5px; } .monaco-dropdown-with-primary > .action-container > .action-label { margin-right: 0; } .monaco-dropdown-with-primary > .dropdown-action-container > .monaco-dropdown > .dropdown-label .codicon[class*='codicon-'] { font-size: 12px; padding-left: 0px; padding-right: 0px; line-height: 16px; margin-left: -3px; } .monaco-dropdown-with-primary > .dropdown-action-container > .monaco-dropdown > .dropdown-label > .action-label { display: block; background-size: 16px; background-position: center center; background-repeat: no-repeat; } /*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ /* ---------- Find input ---------- */ .monaco-findInput { position: relative; } .monaco-findInput .monaco-inputbox { font-size: 13px; width: 100%; } .monaco-findInput > .controls { position: absolute; top: 3px; right: 2px; } .vs .monaco-findInput.disabled { background-color: #E1E1E1; } /* Theming */ .vs-dark .monaco-findInput.disabled { background-color: #333; } /* Highlighting */ .monaco-findInput.highlight-0 .controls, .hc-light .monaco-findInput.highlight-0 .controls { animation: monaco-findInput-highlight-0 100ms linear 0s; } .monaco-findInput.highlight-1 .controls, .hc-light .monaco-findInput.highlight-1 .controls { animation: monaco-findInput-highlight-1 100ms linear 0s; } .hc-black .monaco-findInput.highlight-0 .controls, .vs-dark .monaco-findInput.highlight-0 .controls { animation: monaco-findInput-highlight-dark-0 100ms linear 0s; } .hc-black .monaco-findInput.highlight-1 .controls, .vs-dark .monaco-findInput.highlight-1 .controls { animation: monaco-findInput-highlight-dark-1 100ms linear 0s; } @keyframes monaco-findInput-highlight-0 { 0% { background: rgba(253, 255, 0, 0.8); } 100% { background: transparent; } } @keyframes monaco-findInput-highlight-1 { 0% { background: rgba(253, 255, 0, 0.8); } /* Made intentionally different such that the CSS minifier does not collapse the two animations into a single one*/ 99% { background: transparent; } } @keyframes monaco-findInput-highlight-dark-0 { 0% { background: rgba(255, 255, 255, 0.44); } 100% { background: transparent; } } @keyframes monaco-findInput-highlight-dark-1 { 0% { background: rgba(255, 255, 255, 0.44); } /* Made intentionally different such that the CSS minifier does not collapse the two animations into a single one*/ 99% { background: transparent; } } /*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ .monaco-hover { cursor: default; position: absolute; overflow: hidden; user-select: text; -webkit-user-select: text; box-sizing: border-box; animation: fadein 100ms linear; line-height: 1.5em; white-space: var(--vscode-hover-whiteSpace, normal); } .monaco-hover.hidden { display: none; } .monaco-hover a:hover:not(.disabled) { cursor: pointer; } .monaco-hover .hover-contents:not(.html-hover-contents) { padding: 4px 8px; } .monaco-hover .markdown-hover > .hover-contents:not(.code-hover-contents) { max-width: var(--vscode-hover-maxWidth, 500px); word-wrap: break-word; } .monaco-hover .markdown-hover > .hover-contents:not(.code-hover-contents) hr { min-width: 100%; } .monaco-hover p, .monaco-hover .code, .monaco-hover ul, .monaco-hover h1, .monaco-hover h2, .monaco-hover h3, .monaco-hover h4, .monaco-hover h5, .monaco-hover h6 { margin: 8px 0; } .monaco-hover h1, .monaco-hover h2, .monaco-hover h3, .monaco-hover h4, .monaco-hover h5, .monaco-hover h6 { line-height: 1.1; } .monaco-hover code { font-family: var(--monaco-monospace-font); } .monaco-hover hr { box-sizing: border-box; border-left: 0px; border-right: 0px; margin-top: 4px; margin-bottom: -4px; margin-left: -8px; margin-right: -8px; height: 1px; } .monaco-hover p:first-child, .monaco-hover .code:first-child, .monaco-hover ul:first-child { margin-top: 0; } .monaco-hover p:last-child, .monaco-hover .code:last-child, .monaco-hover ul:last-child { margin-bottom: 0; } /* MarkupContent Layout */ .monaco-hover ul { padding-left: 20px; } .monaco-hover ol { padding-left: 20px; } .monaco-hover li > p { margin-bottom: 0; } .monaco-hover li > ul { margin-top: 0; } .monaco-hover code { border-radius: 3px; padding: 0 0.4em; } .monaco-hover .monaco-tokenized-source { white-space: var(--vscode-hover-sourceWhiteSpace, pre-wrap); } .monaco-hover .hover-row.status-bar { font-size: 12px; line-height: 22px; } .monaco-hover .hover-row.status-bar .info { font-style: italic; padding: 0px 8px; } .monaco-hover .hover-row.status-bar .actions { display: flex; padding: 0px 8px; width: 100%; } .monaco-hover .hover-row.status-bar .actions .action-container { margin-right: 16px; cursor: pointer; } .monaco-hover .hover-row.status-bar .actions .action-container .action .icon { padding-right: 4px; } .monaco-hover .hover-row.status-bar .actions .action-container a { color: var(--vscode-textLink-foreground); text-decoration: var(--text-link-decoration); } .monaco-hover .markdown-hover .hover-contents .codicon { color: inherit; font-size: inherit; vertical-align: middle; } .monaco-hover .hover-contents a.code-link:hover, .monaco-hover .hover-contents a.code-link { color: inherit; } .monaco-hover .hover-contents a.code-link:before { content: '('; } .monaco-hover .hover-contents a.code-link:after { content: ')'; } .monaco-hover .hover-contents a.code-link > span { text-decoration: underline; /** Hack to force underline to show **/ border-bottom: 1px solid transparent; text-underline-position: under; color: var(--vscode-textLink-foreground); } .monaco-hover .hover-contents a.code-link > span:hover { color: var(--vscode-textLink-activeForeground); } /** Spans in markdown hovers need a margin-bottom to avoid looking cramped: https://github.com/microsoft/vscode/issues/101496 **/ .monaco-hover .markdown-hover .hover-contents:not(.code-hover-contents):not(.html-hover-contents) span { margin-bottom: 4px; display: inline-block; } .monaco-hover .markdown-hover .hover-contents:not(.code-hover-contents):not(.html-hover-contents) span.codicon { margin-bottom: 2px; } .monaco-hover-content .action-container a { -webkit-user-select: none; user-select: none; } .monaco-hover-content .action-container.disabled { pointer-events: none; opacity: 0.4; cursor: default; } /*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ /* ---------- Icon label ---------- */ .monaco-icon-label { display: flex; /* required for icons support :before rule */ overflow: hidden; text-overflow: ellipsis; } .monaco-icon-label::before { /* svg icons rendered as background image */ background-size: 16px; background-position: left center; background-repeat: no-repeat; padding-right: 6px; width: 16px; height: 22px; line-height: inherit !important; display: inline-block; /* fonts icons */ -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; vertical-align: top; flex-shrink: 0; /* fix for https://github.com/microsoft/vscode/issues/13787 */ } .monaco-icon-label-iconpath { width: 16px; height: 16px; padding-left: 2px; margin-top: 2px; display: flex; } .monaco-icon-label-container.disabled { color: var(--vscode-disabledForeground); } .monaco-icon-label > .monaco-icon-label-container { min-width: 0; overflow: hidden; text-overflow: ellipsis; flex: 1; } .monaco-icon-label > .monaco-icon-label-container > .monaco-icon-name-container > .label-name { color: inherit; white-space: pre; /* enable to show labels that include multiple whitespaces */ } .monaco-icon-label > .monaco-icon-label-container > .monaco-icon-name-container > .label-name > .label-separator { margin: 0 2px; opacity: 0.5; } .monaco-icon-label > .monaco-icon-label-container > .monaco-icon-suffix-container > .label-suffix { opacity: .7; white-space: pre; } .monaco-icon-label > .monaco-icon-label-container > .monaco-icon-description-container > .label-description { opacity: .7; margin-left: 0.5em; font-size: 0.9em; white-space: pre; /* enable to show labels that include multiple whitespaces */ } .monaco-icon-label.nowrap > .monaco-icon-label-container > .monaco-icon-description-container > .label-description{ white-space: nowrap } .vs .monaco-icon-label > .monaco-icon-label-container > .monaco-icon-description-container > .label-description { opacity: .95; } .monaco-icon-label.italic > .monaco-icon-label-container > .monaco-icon-name-container > .label-name, .monaco-icon-label.italic > .monaco-icon-label-container > .monaco-icon-description-container > .label-description { font-style: italic; } .monaco-icon-label.deprecated { text-decoration: line-through; opacity: 0.66; } /* make sure apply italic font style to decorations as well */ .monaco-icon-label.italic::after { font-style: italic; } .monaco-icon-label.strikethrough > .monaco-icon-label-container > .monaco-icon-name-container > .label-name, .monaco-icon-label.strikethrough > .monaco-icon-label-container > .monaco-icon-description-container > .label-description { text-decoration: line-through; } .monaco-icon-label::after { opacity: 0.75; font-size: 90%; font-weight: 600; margin: auto 16px 0 5px; /* https://github.com/microsoft/vscode/issues/113223 */ text-align: center; } /* make sure selection color wins when a label is being selected */ .monaco-list:focus .selected .monaco-icon-label, /* list */ .monaco-list:focus .selected .monaco-icon-label::after { color: inherit !important; } .monaco-list-row.focused.selected .label-description, .monaco-list-row.selected .label-description { opacity: .8; } /*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ .monaco-inputbox { position: relative; display: block; padding: 0; box-sizing: border-box; border-radius: 2px; /* Customizable */ font-size: inherit; } .monaco-inputbox > .ibwrapper > .input, .monaco-inputbox > .ibwrapper > .mirror { /* Customizable */ padding: 4px 6px; } .monaco-inputbox > .ibwrapper { position: relative; width: 100%; height: 100%; } .monaco-inputbox > .ibwrapper > .input { display: inline-block; box-sizing: border-box; width: 100%; height: 100%; line-height: inherit; border: none; font-family: inherit; font-size: inherit; resize: none; color: inherit; } .monaco-inputbox > .ibwrapper > input { text-overflow: ellipsis; } .monaco-inputbox > .ibwrapper > textarea.input { display: block; scrollbar-width: none; /* Firefox: hide scrollbars */ outline: none; } .monaco-inputbox > .ibwrapper > textarea.input::-webkit-scrollbar { display: none; /* Chrome + Safari: hide scrollbar */ } .monaco-inputbox > .ibwrapper > textarea.input.empty { white-space: nowrap; } .monaco-inputbox > .ibwrapper > .mirror { position: absolute; display: inline-block; width: 100%; top: 0; left: 0; box-sizing: border-box; white-space: pre-wrap; visibility: hidden; word-wrap: break-word; } /* Context view */ .monaco-inputbox-container { text-align: right; } .monaco-inputbox-container .monaco-inputbox-message { display: inline-block; overflow: hidden; text-align: left; width: 100%; box-sizing: border-box; padding: 0.4em; font-size: 12px; line-height: 17px; margin-top: -1px; word-wrap: break-word; } /* Action bar support */ .monaco-inputbox .monaco-action-bar { position: absolute; right: 2px; top: 4px; } .monaco-inputbox .monaco-action-bar .action-item { margin-left: 2px; } .monaco-inputbox .monaco-action-bar .action-item .codicon { background-repeat: no-repeat; width: 16px; height: 16px; } /*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ .monaco-keybinding { display: flex; align-items: center; line-height: 10px; } .monaco-keybinding > .monaco-keybinding-key { display: inline-block; border-style: solid; border-width: 1px; border-radius: 3px; vertical-align: middle; font-size: 11px; padding: 3px 5px; margin: 0 2px; } .monaco-keybinding > .monaco-keybinding-key:first-child { margin-left: 0; } .monaco-keybinding > .monaco-keybinding-key:last-child { margin-right: 0; } .monaco-keybinding > .monaco-keybinding-key-separator { display: inline-block; } .monaco-keybinding > .monaco-keybinding-key-chord-separator { width: 6px; } /*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ .monaco-list { position: relative; height: 100%; width: 100%; white-space: nowrap; } .monaco-list.mouse-support { user-select: none; -webkit-user-select: none; } .monaco-list > .monaco-scrollable-element { height: 100%; } .monaco-list-rows { position: relative; width: 100%; height: 100%; } .monaco-list.horizontal-scrolling .monaco-list-rows { width: auto; min-width: 100%; } .monaco-list-row { position: absolute; box-sizing: border-box; overflow: hidden; width: 100%; } .monaco-list.mouse-support .monaco-list-row { cursor: pointer; touch-action: none; } /* Make sure the scrollbar renders above overlays (sticky scroll) */ .monaco-list .monaco-scrollable-element > .scrollbar.vertical, .monaco-pane-view > .monaco-split-view2.vertical > .monaco-scrollable-element > .scrollbar.vertical { z-index: 14; } /* for OS X ballistic scrolling */ .monaco-list-row.scrolling { display: none !important; } /* Focus */ .monaco-list.element-focused, .monaco-list.selection-single, .monaco-list.selection-multiple { outline: 0 !important; } /* Dnd */ .monaco-drag-image { display: inline-block; padding: 1px 7px; border-radius: 10px; font-size: 12px; position: absolute; z-index: 1000; } /* Filter */ .monaco-list-type-filter-message { position: absolute; box-sizing: border-box; width: 100%; height: 100%; top: 0; left: 0; padding: 40px 1em 1em 1em; text-align: center; white-space: normal; opacity: 0.7; pointer-events: none; } .monaco-list-type-filter-message:empty { display: none; } /*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ .monaco-mouse-cursor-text { cursor: text; } /*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ .monaco-progress-container { width: 100%; height: 2px; overflow: hidden; /* keep progress bit in bounds */ } .monaco-progress-container .progress-bit { width: 2%; height: 2px; position: absolute; left: 0; display: none; } .monaco-progress-container.active .progress-bit { display: inherit; } .monaco-progress-container.discrete .progress-bit { left: 0; transition: width 100ms linear; } .monaco-progress-container.discrete.done .progress-bit { width: 100%; } .monaco-progress-container.infinite .progress-bit { animation-name: progress; animation-duration: 4s; animation-iteration-count: infinite; transform: translate3d(0px, 0px, 0px); animation-timing-function: linear; } .monaco-progress-container.infinite.infinite-long-running .progress-bit { /* The more smooth `linear` timing function can cause higher GPU consumption as indicated in https://github.com/microsoft/vscode/issues/97900 & https://github.com/microsoft/vscode/issues/138396 */ animation-timing-function: steps(100); } /** * The progress bit has a width: 2% (1/50) of the parent container. The animation moves it from 0% to 100% of * that container. Since translateX is relative to the progress bit size, we have to multiple it with * its relative size to the parent container: * parent width: 5000% * bit width: 100% * translateX should be as follow: * 50%: 5000% * 50% - 50% (set to center) = 2450% * 100%: 5000% * 100% - 100% (do not overflow) = 4900% */ @keyframes progress { from { transform: translateX(0%) scaleX(1) } 50% { transform: translateX(2500%) scaleX(3) } to { transform: translateX(4900%) scaleX(1) } } /*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ :root { --vscode-sash-size: 4px; --vscode-sash-hover-size: 4px; } .monaco-sash { position: absolute; z-index: 35; touch-action: none; } .monaco-sash.disabled { pointer-events: none; } .monaco-sash.mac.vertical { cursor: col-resize; } .monaco-sash.vertical.minimum { cursor: e-resize; } .monaco-sash.vertical.maximum { cursor: w-resize; } .monaco-sash.mac.horizontal { cursor: row-resize; } .monaco-sash.horizontal.minimum { cursor: s-resize; } .monaco-sash.horizontal.maximum { cursor: n-resize; } .monaco-sash.disabled { cursor: default !important; pointer-events: none !important; } .monaco-sash.vertical { cursor: ew-resize; top: 0; width: var(--vscode-sash-size); height: 100%; } .monaco-sash.horizontal { cursor: ns-resize; left: 0; width: 100%; height: var(--vscode-sash-size); } .monaco-sash:not(.disabled) > .orthogonal-drag-handle { content: " "; height: calc(var(--vscode-sash-size) * 2); width: calc(var(--vscode-sash-size) * 2); z-index: 100; display: block; cursor: all-scroll; position: absolute; } .monaco-sash.horizontal.orthogonal-edge-north:not(.disabled) > .orthogonal-drag-handle.start, .monaco-sash.horizontal.orthogonal-edge-south:not(.disabled) > .orthogonal-drag-handle.end { cursor: nwse-resize; } .monaco-sash.horizontal.orthogonal-edge-north:not(.disabled) > .orthogonal-drag-handle.end, .monaco-sash.horizontal.orthogonal-edge-south:not(.disabled) > .orthogonal-drag-handle.start { cursor: nesw-resize; } .monaco-sash.vertical > .orthogonal-drag-handle.start { left: calc(var(--vscode-sash-size) * -0.5); top: calc(var(--vscode-sash-size) * -1); } .monaco-sash.vertical > .orthogonal-drag-handle.end { left: calc(var(--vscode-sash-size) * -0.5); bottom: calc(var(--vscode-sash-size) * -1); } .monaco-sash.horizontal > .orthogonal-drag-handle.start { top: calc(var(--vscode-sash-size) * -0.5); left: calc(var(--vscode-sash-size) * -1); } .monaco-sash.horizontal > .orthogonal-drag-handle.end { top: calc(var(--vscode-sash-size) * -0.5); right: calc(var(--vscode-sash-size) * -1); } .monaco-sash:before { content: ''; pointer-events: none; position: absolute; width: 100%; height: 100%; background: transparent; } .monaco-workbench:not(.reduce-motion) .monaco-sash:before { transition: background-color 0.1s ease-out; } .monaco-sash.hover:before, .monaco-sash.active:before { background: var(--vscode-sash-hoverBorder); } .monaco-sash.vertical:before { width: var(--vscode-sash-hover-size); left: calc(50% - (var(--vscode-sash-hover-size) / 2)); } .monaco-sash.horizontal:before { height: var(--vscode-sash-hover-size); top: calc(50% - (var(--vscode-sash-hover-size) / 2)); } .pointer-events-disabled { pointer-events: none !important; } /** Debug **/ .monaco-sash.debug { background: cyan; } .monaco-sash.debug.disabled { background: rgba(0, 255, 255, 0.2); } .monaco-sash.debug:not(.disabled) > .orthogonal-drag-handle { background: red; } /*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ /* 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; /* In front of peek view */ z-index: 11; } .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%; 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 > .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); } /*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ .monaco-select-box { width: 100%; cursor: pointer; border-radius: 2px; } .monaco-select-box-dropdown-container { font-size: 13px; font-weight: normal; text-transform: none; } /** Actions */ .monaco-action-bar .action-item.select-container { cursor: default; } .monaco-action-bar .action-item .monaco-select-box { cursor: pointer; min-width: 100px; min-height: 18px; padding: 2px 23px 2px 8px; } .mac .monaco-action-bar .action-item .monaco-select-box { font-size: 11px; border-radius: 5px; } /*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ /* Use custom CSS vars to expose padding into parent select for padding calculation */ .monaco-select-box-dropdown-padding { --dropdown-padding-top: 1px; --dropdown-padding-bottom: 1px; } .hc-black .monaco-select-box-dropdown-padding, .hc-light .monaco-select-box-dropdown-padding { --dropdown-padding-top: 3px; --dropdown-padding-bottom: 4px; } .monaco-select-box-dropdown-container { display: none; box-sizing: border-box; } .monaco-select-box-dropdown-container > .select-box-details-pane > .select-box-description-markdown * { margin: 0; } .monaco-select-box-dropdown-container > .select-box-details-pane > .select-box-description-markdown a:focus { outline: 1px solid -webkit-focus-ring-color; outline-offset: -1px; } .monaco-select-box-dropdown-container > .select-box-details-pane > .select-box-description-markdown code { line-height: 15px; /** For some reason, this is needed, otherwise <code> will take up 20px height */ font-family: var(--monaco-monospace-font); } .monaco-select-box-dropdown-container.visible { display: flex; flex-direction: column; text-align: left; width: 1px; overflow: hidden; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; } .monaco-select-box-dropdown-container > .select-box-dropdown-list-container { flex: 0 0 auto; align-self: flex-start; padding-top: var(--dropdown-padding-top); padding-bottom: var(--dropdown-padding-bottom); padding-left: 1px; padding-right: 1px; width: 100%; overflow: hidden; box-sizing: border-box; } .monaco-select-box-dropdown-container > .select-box-details-pane { padding: 5px; } .hc-black .monaco-select-box-dropdown-container > .select-box-dropdown-list-container { padding-top: var(--dropdown-padding-top); padding-bottom: var(--dropdown-padding-bottom); } .monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row { cursor: pointer; } .monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row > .option-text { text-overflow: ellipsis; overflow: hidden; padding-left: 3.5px; white-space: nowrap; float: left; } .monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row > .option-detail { text-overflow: ellipsis; overflow: hidden; padding-left: 3.5px; white-space: nowrap; float: left; opacity: 0.7; } .monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row > .option-decorator-right { text-overflow: ellipsis; overflow: hidden; padding-right: 10px; white-space: nowrap; float: right; } /* Accepted CSS hiding technique for accessibility reader text */ /* https://webaim.org/techniques/css/invisiblecontent/ */ .monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row > .visually-hidden { position: absolute; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; } .monaco-select-box-dropdown-container > .select-box-dropdown-container-width-control { flex: 1 1 auto; align-self: flex-start; opacity: 0; } .monaco-select-box-dropdown-container > .select-box-dropdown-container-width-control > .width-control-div { overflow: hidden; max-height: 0px; } .monaco-select-box-dropdown-container > .select-box-dropdown-container-width-control > .width-control-div > .option-text-width-control { padding-left: 4px; padding-right: 8px; white-space: nowrap; } /*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ .monaco-split-view2 { position: relative; width: 100%; height: 100%; } .monaco-split-view2 > .sash-container { position: absolute; width: 100%; height: 100%; pointer-events: none; } .monaco-split-view2 > .sash-container > .monaco-sash { pointer-events: initial; } .monaco-split-view2 > .monaco-scrollable-element { width: 100%; height: 100%; } .monaco-split-view2 > .monaco-scrollable-element > .split-view-container { width: 100%; height: 100%; white-space: nowrap; position: relative; } .monaco-split-view2 > .monaco-scrollable-element > .split-view-container > .split-view-view { white-space: initial; position: absolute; } .monaco-split-view2 > .monaco-scrollable-element > .split-view-container > .split-view-view:not(.visible) { display: none; } .monaco-split-view2.vertical > .monaco-scrollable-element > .split-view-container > .split-view-view { width: 100%; } .monaco-split-view2.horizontal > .monaco-scrollable-element > .split-view-container > .split-view-view { height: 100%; } .monaco-split-view2.separator-border > .monaco-scrollable-element > .split-view-container > .split-view-view:not(:first-child)::before { content: ' '; position: absolute; top: 0; left: 0; z-index: 5; pointer-events: none; background-color: var(--separator-border); } .monaco-split-view2.separator-border.horizontal > .monaco-scrollable-element > .split-view-container > .split-view-view:not(:first-child)::before { height: 100%; width: 1px; } .monaco-split-view2.separator-border.vertical > .monaco-scrollable-element > .split-view-container > .split-view-view:not(:first-child)::before { height: 1px; width: 100%; } /*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ .monaco-table { display: flex; flex-direction: column; position: relative; height: 100%; width: 100%; white-space: nowrap; overflow: hidden; } .monaco-table > .monaco-split-view2 { border-bottom: 1px solid transparent; } .monaco-table > .monaco-list { flex: 1; } .monaco-table-tr { display: flex; height: 100%; } .monaco-table-th { width: 100%; height: 100%; font-weight: bold; overflow: hidden; text-overflow: ellipsis; } .monaco-table-th, .monaco-table-td { box-sizing: border-box; flex-shrink: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; } .monaco-table > .monaco-split-view2 .monaco-sash.vertical::before { content: ""; position: absolute; left: calc(var(--vscode-sash-size) / 2); width: 0; border-left: 1px solid transparent; } .monaco-workbench:not(.reduce-motion) .monaco-table > .monaco-split-view2, .monaco-workbench:not(.reduce-motion) .monaco-table > .monaco-split-view2 .monaco-sash.vertical::before { transition: border-color 0.2s ease-out; } /*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ .monaco-custom-toggle { margin-left: 2px; float: left; cursor: pointer; overflow: hidden; width: 20px; height: 20px; border-radius: 3px; border: 1px solid transparent; padding: 1px; box-sizing: border-box; user-select: none; -webkit-user-select: none; } .monaco-custom-toggle:hover { background-color: var(--vscode-inputOption-hoverBackground); } .hc-black .monaco-custom-toggle:hover, .hc-light .monaco-custom-toggle:hover { border: 1px dashed var(--vscode-focusBorder); } .hc-black .monaco-custom-toggle, .hc-light .monaco-custom-toggle { background: none; } .hc-black .monaco-custom-toggle:hover, .hc-light .monaco-custom-toggle:hover { background: none; } .monaco-custom-toggle.monaco-checkbox { height: 18px; width: 18px; border: 1px solid transparent; border-radius: 3px; margin-right: 9px; margin-left: 0px; padding: 0px; opacity: 1; background-size: 16px !important; } .monaco-action-bar .checkbox-action-item { display: flex; align-items: center; border-radius: 2px; padding-right: 2px; } .monaco-action-bar .checkbox-action-item:hover { background-color: var(--vscode-toolbar-hoverBackground); } .monaco-action-bar .checkbox-action-item > .monaco-custom-toggle.monaco-checkbox { margin-right: 4px; } .monaco-action-bar .checkbox-action-item > .checkbox-label { font-size: 12px; } /* hide check when unchecked */ .monaco-custom-toggle.monaco-checkbox:not(.checked)::before { visibility: hidden; } /*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ .monaco-toolbar { height: 100%; } .monaco-toolbar .toolbar-toggle-more { display: inline-block; padding: 0; } /*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ .monaco-tl-row { display: flex; height: 100%; align-items: center; position: relative; } .monaco-tl-row.disabled { cursor: default; } .monaco-tl-indent { height: 100%; position: absolute; top: 0; left: 16px; pointer-events: none; } .hide-arrows .monaco-tl-indent { left: 12px; } .monaco-tl-indent > .indent-guide { display: inline-block; box-sizing: border-box; height: 100%; border-left: 1px solid transparent; } .monaco-workbench:not(.reduce-motion) .monaco-tl-indent > .indent-guide { transition: border-color 0.1s linear; } .monaco-tl-twistie, .monaco-tl-contents { height: 100%; } .monaco-tl-twistie { font-size: 10px; text-align: right; padding-right: 6px; flex-shrink: 0; width: 16px; display: flex !important; align-items: center; justify-content: center; transform: translateX(3px); } .monaco-tl-contents { flex: 1; overflow: hidden; } .monaco-tl-twistie::before { border-radius: 20px; } .monaco-tl-twistie.collapsed::before { transform: rotate(-90deg); } .monaco-tl-twistie.codicon-tree-item-loading::before { /* Use steps to throttle FPS to reduce CPU usage */ animation: codicon-spin 1.25s steps(30) infinite; } .monaco-tree-type-filter { position: absolute; top: 0; display: flex; padding: 3px; max-width: 200px; z-index: 100; margin: 0 6px; border: 1px solid var(--vscode-widget-border); border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; } .monaco-workbench:not(.reduce-motion) .monaco-tree-type-filter { transition: top 0.3s; } .monaco-tree-type-filter.disabled { top: -40px !important; } .monaco-tree-type-filter-grab { display: flex !important; align-items: center; justify-content: center; cursor: grab; margin-right: 2px; } .monaco-tree-type-filter-grab.grabbing { cursor: grabbing; } .monaco-tree-type-filter-input { flex: 1; } .monaco-tree-type-filter-input .monaco-inputbox { height: 23px; } .monaco-tree-type-filter-input .monaco-inputbox > .ibwrapper > .input, .monaco-tree-type-filter-input .monaco-inputbox > .ibwrapper > .mirror { padding: 2px 4px; } .monaco-tree-type-filter-input .monaco-findInput > .controls { top: 2px; } .monaco-tree-type-filter-actionbar { margin-left: 4px; } .monaco-tree-type-filter-actionbar .monaco-action-bar .action-label { padding: 2px; } .monaco-list .monaco-scrollable-element .monaco-tree-sticky-container{ position: absolute; top: 0; left: 0; width: 100%; height: 0; z-index: 13; /* Settings editor uses z-index: 12 */ /* Backup color in case the tree does not provide the background color */ background-color: var(--vscode-sideBar-background); } .monaco-list .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-row.monaco-list-row{ position: absolute; width: 100%; opacity: 1 !important; /* Settings editor uses opacity < 1 */ overflow: hidden; /* Backup color in case the tree does not provide the background color */ background-color: var(--vscode-sideBar-background); } .monaco-list .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-row:hover{ background-color: var(--vscode-list-hoverBackground) !important; cursor: pointer; } .monaco-list .monaco-scrollable-element .monaco-tree-sticky-container.empty, .monaco-list .monaco-scrollable-element .monaco-tree-sticky-container.empty .monaco-tree-sticky-container-shadow { display: none; } .monaco-list .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-container-shadow { position: absolute; bottom: -3px; left: 0px; height: 0px; /* heigt is 3px and only set when there is a treeStickyScrollShadow color */ width: 100%; } .monaco-list .monaco-scrollable-element .monaco-tree-sticky-container[tabindex="0"]:focus{ outline: none; } /*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for licens