UNPKG

monaco-editor

Version:
1,719 lines (1,487 loc) 413 kB
/*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ /* Default standalone editor fonts */ .monaco-editor { font-family: -apple-system, BlinkMacSystemFont, "Segoe WPC", "Segoe UI", "HelveticaNeue-Light", system-ui, "Ubuntu", "Droid Sans", sans-serif; --monaco-monospace-font: "SF Mono", Monaco, Menlo, Consolas, "Ubuntu Mono", "Liberation Mono", "DejaVu Sans Mono", "Courier New", monospace; } .monaco-menu .monaco-action-bar.vertical .action-item .action-menu-item:focus .action-label { stroke-width: 1.2px; } .monaco-editor.vs-dark .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label, .monaco-editor.hc-black .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label, .monaco-editor.hc-light .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label { stroke-width: 1.2px; } .monaco-hover p { margin: 0; } /* See https://github.com/microsoft/monaco-editor/issues/2168#issuecomment-780078600 */ .monaco-aria-container { position: absolute !important; top: 0; /* avoid being placed underneath a sibling element */ height: 1px; width: 1px; margin: -1px; overflow: hidden; padding: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); } .monaco-editor .synthetic-focus, .monaco-diff-editor .synthetic-focus, .monaco-editor [tabindex="0"]:focus, .monaco-diff-editor [tabindex="0"]:focus, .monaco-editor [tabindex="-1"]:focus, .monaco-diff-editor [tabindex="-1"]:focus, .monaco-editor button:focus, .monaco-diff-editor button:focus, .monaco-editor input[type=button]:focus, .monaco-diff-editor input[type=button]:focus, .monaco-editor input[type=checkbox]:focus, .monaco-diff-editor input[type=checkbox]:focus, .monaco-editor input[type=search]:focus, .monaco-diff-editor input[type=search]:focus, .monaco-editor input[type=text]:focus, .monaco-diff-editor input[type=text]:focus, .monaco-editor select:focus, .monaco-diff-editor select:focus, .monaco-editor textarea:focus, .monaco-diff-editor textarea:focus { outline-width: 1px; outline-style: solid; outline-offset: -1px; outline-color: var(--vscode-focusBorder); opacity: 1 } /*--------------------------------------------------------------------------------------------- * 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. *--------------------------------------------------------------------------------------------*/ /* -------------------- IE10 remove auto clear button -------------------- */ ::-ms-clear { display: none; } /* All widgets */ /* I am not a big fan of this rule */ .monaco-editor .editor-widget input { color: inherit; } /* -------------------- Editor -------------------- */ .monaco-editor { position: relative; overflow: visible; -webkit-text-size-adjust: 100%; text-spacing-trim: space-all; 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; } /* -------------------- Misc -------------------- */ .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 .auto-closed-character { opacity: 0.3; } */ .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); } /*--------------------------------------------------------------------------------------------- * 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; } .disable-animations .monaco-scrollable-element > .visible, .disable-animations .monaco-scrollable-element > .invisible.fade { transition: none; } /* 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 { 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); } /*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ .monaco-editor .blockDecorations-container { position: absolute; top: 0; pointer-events: none; } .monaco-editor .blockDecorations-block { position: absolute; box-sizing: border-box; } /*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ .monaco-editor .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 { 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; } /*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ /* Keeping name short for faster parsing. cdr = core decorations rendering (div) */ .monaco-editor .lines-content .cdr { position: absolute; height: 100%; } /*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ .monaco-editor .glyph-margin { position: absolute; top: 0; } /* Keeping name short for faster parsing. cgmr = core glyph margin rendering (div) */ .monaco-editor .glyph-margin-widgets .cgmr { position: absolute; display: flex; align-items: center; justify-content: center; } /* Ensure spinning icons are pixel-perfectly centered and avoid wobble. This is only applied to icons that spin to avoid unnecessary GPU layers and blurry subpixel AA. */ .monaco-editor .glyph-margin-widgets .cgmr.codicon-modifier-spin::before { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); } /*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ .monaco-editor .lines-content .core-guide { position: absolute; box-sizing: border-box; height: 100%; } /*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ .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-numbers.active-line-number { color: var(--vscode-editorLineNumber-activeForeground); } /*--------------------------------------------------------------------------------------------- * 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. *--------------------------------------------------------------------------------------------*/ /* Uncomment to see lines flashing when they're painted */ /*.monaco-editor .view-lines > .view-line { background-color: none; animation-name: flash-background; animation-duration: 800ms; } @keyframes flash-background { 0% { background-color: lightgreen; } 100% { background-color: none } }*/ .mtkcontrol { color: rgb(255, 255, 255) !important; background: rgb(150, 0, 0) !important; } .mtkoverflow { background-color: var(--vscode-button-background, var(--vscode-editor-background)); color: var(--vscode-button-foreground, var(--vscode-editor-foreground)); border-width: 1px; border-style: solid; border-color: var(--vscode-contrastBorder); border-radius: 2px; padding: 4px; cursor: pointer; } .mtkoverflow:hover { background-color: var(--vscode-button-hoverBackground); } .monaco-editor.no-user-select .lines-content, .monaco-editor.no-user-select .view-line, .monaco-editor.no-user-select .view-lines { user-select: none; -webkit-user-select: none; } /* Use user-select: text for lookup feature on macOS */ /* https://github.com/microsoft/vscode/issues/85632 */ .monaco-editor.mac .lines-content:hover, .monaco-editor.mac .view-line:hover, .monaco-editor.mac .view-lines:hover { user-select: text; -webkit-user-select: text; -ms-user-select: text; } .monaco-editor.enable-user-select { user-select: initial; -webkit-user-select: initial; } .monaco-editor .view-lines { white-space: nowrap; } .monaco-editor .view-line { box-sizing: border-box; position: absolute; width: 100%; } /* There are view-lines in view-zones. We have to make sure this rule does not apply to them, as they don't set a line height */ .monaco-editor .lines-content > .view-lines > .view-line > span { top: 0; bottom: 0; position: absolute; } .monaco-editor .mtkw { color: var(--vscode-editorWhitespace-foreground) !important; } .monaco-editor .mtkz { display: inline-block; color: var(--vscode-editorWhitespace-foreground) !important; } /* TODO@tokenization bootstrap fix */ /*.monaco-editor .view-line > span > span { float: none; min-height: inherit; margin-left: inherit; }*/ /*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ .monaco-editor .lines-decorations { position: absolute; top: 0; background: white; } /* Keeping name short for faster parsing. cldr = core lines decorations rendering (div) */ .monaco-editor .margin-view-overlays .cldr { position: absolute; height: 100%; }/*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ .monaco-editor .margin { background-color: var(--vscode-editorGutter-background); } /*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ /* Keeping name short for faster parsing. cmdr = core margin decorations rendering (div) */ .monaco-editor .margin-view-overlays .cmdr { position: absolute; left: 0; width: 100%; height: 100%; }/*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ /* START cover the case that slider is visible on mouseover */ .monaco-editor .minimap.slider-mouseover .minimap-slider { opacity: 0; transition: opacity 100ms linear; } .monaco-editor .minimap.slider-mouseover:hover .minimap-slider { opacity: 1; } .monaco-editor .minimap.slider-mouseover .minimap-slider.active { opacity: 1; } /* END cover the case that slider is visible on mouseover */ .monaco-editor .minimap-slider .minimap-slider-horizontal { background: var(--vscode-minimapSlider-background); } .monaco-editor .minimap-slider:hover .minimap-slider-horizontal { background: var(--vscode-minimapSlider-hoverBackground); } .monaco-editor .minimap-slider.active .minimap-slider-horizontal { background: var(--vscode-minimapSlider-activeBackground); } .monaco-editor .minimap-shadow-visible { box-shadow: var(--vscode-shadow-md); } .monaco-editor .minimap-shadow-hidden { position: absolute; width: 0; } .monaco-editor .minimap-shadow-visible { position: absolute; left: -6px; width: 6px; pointer-events: none; } .monaco-editor.no-minimap-shadow .minimap-shadow-visible { position: absolute; left: -1px; width: 1px; } /* 0.5s fade in/out for the minimap */ .minimap.minimap-autohide-mouseover, .minimap.minimap-autohide-scroll { opacity: 0; transition: opacity 0.5s; } .minimap.minimap-autohide-scroll{ pointer-events: none; } .minimap.minimap-autohide-mouseover:hover, .minimap.minimap-autohide-scroll.active { opacity: 1; pointer-events: auto; } .monaco-editor .minimap { z-index: 5; } .monaco-editor .minimap canvas { opacity: 0.9; } /*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ .monaco-editor .overlayWidgets { position: absolute; top: 0; left:0; }/*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ .monaco-editor .view-ruler { position: absolute; top: 0; box-shadow: 1px 0 0 0 var(--vscode-editorRuler-foreground) inset; pointer-events: none; } /*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ .monaco-editor .scroll-decoration { position: absolute; top: 0; left: 0; height: 6px; box-shadow: var(--vscode-scrollbar-shadow) 0 6px 6px -6px inset; } /*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ /* Keeping name short for faster parsing. cslr = core selections layer rendering (div) */ .monaco-editor .lines-content .cslr { position: absolute; } .monaco-editor .focused .selected-text { background-color: var(--vscode-editor-selectionBackground); } .monaco-editor .selected-text { background-color: var(--vscode-editor-inactiveSelectionBackground); } .monaco-editor .top-left-radius { border-top-left-radius: 3px; } .monaco-editor .bottom-left-radius { border-bottom-left-radius: 3px; } .monaco-editor .top-right-radius { border-top-right-radius: 3px; } .monaco-editor .bottom-right-radius { border-bottom-right-radius: 3px; } .monaco-editor.hc-black .top-left-radius { border-top-left-radius: 0; } .monaco-editor.hc-black .bottom-left-radius { border-bottom-left-radius: 0; } .monaco-editor.hc-black .top-right-radius { border-top-right-radius: 0; } .monaco-editor.hc-black .bottom-right-radius { border-bottom-right-radius: 0; } .monaco-editor.hc-light .top-left-radius { border-top-left-radius: 0; } .monaco-editor.hc-light .bottom-left-radius { border-bottom-left-radius: 0; } .monaco-editor.hc-light .top-right-radius { border-top-right-radius: 0; } .monaco-editor.hc-light .bottom-right-radius { border-bottom-right-radius: 0; } /*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ .monaco-editor .cursors-layer { position: absolute; top: 0; } .monaco-editor .cursors-layer > .cursor { position: absolute; overflow: hidden; box-sizing: border-box; } /* -- smooth-caret-animation -- */ .monaco-editor .cursors-layer.cursor-smooth-caret-animation > .cursor { transition: all 80ms; } /* -- block-outline-style -- */ .monaco-editor .cursors-layer.cursor-block-outline-style > .cursor { background: transparent !important; border-style: solid; border-width: 1px; } /* -- underline-style -- */ .monaco-editor .cursors-layer.cursor-underline-style > .cursor { border-bottom-width: 2px; border-bottom-style: solid; background: transparent !important; } /* -- underline-thin-style -- */ .monaco-editor .cursors-layer.cursor-underline-thin-style > .cursor { border-bottom-width: 1px; border-bottom-style: solid; background: transparent !important; } @keyframes monaco-cursor-smooth { 0%, 20% { opacity: 1; } 60%, 100% { opacity: 0; } } @keyframes monaco-cursor-phase { 0%, 20% { opacity: 1; } 90%, 100% { opacity: 0; } } @keyframes monaco-cursor-expand { 0%, 20% { transform: scaleY(1); } 80%, 100% { transform: scaleY(0); } } .cursor-smooth { animation: monaco-cursor-smooth 0.5s ease-in-out 0s 20 alternate; } .cursor-phase { animation: monaco-cursor-phase 0.5s ease-in-out 0s 20 alternate; } .cursor-expand > .cursor { animation: monaco-cursor-expand 0.5s ease-in-out 0s 20 alternate; } /*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ .monaco-editor .mwh { position: absolute; color: var(--vscode-editorWhitespace-foreground) !important; } /*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ .monaco-editor .monaco-decoration-css-rule-extractor { visibility: hidden; pointer-events: none; } /*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ .monaco-editor .inputarea { min-width: 0; min-height: 0; margin: 0; padding: 0; position: absolute; outline: none !important; resize: none; border: none; overflow: hidden; color: transparent; background-color: transparent; z-index: -10; } /*.monaco-editor .inputarea { position: fixed !important; width: 800px !important; height: 500px !important; top: initial !important; left: initial !important; bottom: 0 !important; right: 0 !important; color: black !important; background: white !important; line-height: 15px !important; font-size: 14px !important; z-index: 10 !important; }*/ .monaco-editor .inputarea.ime-input { z-index: 10; caret-color: var(--vscode-editorCursor-foreground); color: var(--vscode-editor-foreground); } /*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ .monaco-editor .native-edit-context { margin: 0; padding: 0; position: absolute; overflow-y: scroll; scrollbar-width: none; z-index: -10; white-space: pre-wrap; } .monaco-editor .ime-text-area { min-width: 0; min-height: 0; margin: 0; padding: 0; position: absolute; outline: none !important; resize: none; border: none; overflow: hidden; color: transparent; background-color: transparent; z-index: -10; } .monaco-editor .edit-context-composition-none { background-color: transparent; border-bottom: none; } .monaco-editor :not(.hc-black, .hc-light) .edit-context-composition-secondary { border-bottom: 1px solid var(--vscode-editor-compositionBorder); } .monaco-editor :not(.hc-black, .hc-light) .edit-context-composition-primary { border-bottom: 2px solid var(--vscode-editor-compositionBorder); } .monaco-editor :is(.hc-black, .hc-light) .edit-context-composition-secondary { border: 1px solid var(--vscode-editor-compositionBorder); } .monaco-editor :is(.hc-black, .hc-light) .edit-context-composition-primary { border: 2px solid var(--vscode-editor-compositionBorder); } /*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ .monaco-editor .margin-view-overlays .gpu-mark { position: absolute; top: 0; bottom: 0; left: 0; width: 100%; display: inline-block; border-left: solid 2px var(--vscode-editorWarning-foreground); opacity: 0.2; transition: background-color 0.1s linear; } .monaco-editor .margin-view-overlays .gpu-mark:hover { background-color: var(--vscode-editorWarning-foreground) } /*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ /* stylelint-disable layer-checker */ .monaco-hover.workbench-hover { position: relative; font-size: 13px; line-height: 19px; /* Must be higher than sash's z-index and terminal canvases */ z-index: 40; overflow: hidden; max-width: 700px; background: var(--vscode-editorHoverWidget-background); border: 1px solid var(--vscode-editorHoverWidget-border); border-radius: 5px; color: var(--vscode-editorHoverWidget-foreground); box-shadow: var(--vscode-shadow-lg); } .monaco-hover.workbench-hover.with-pointer { border-radius: 3px; } .monaco-hover.workbench-hover .monaco-action-bar .action-item .codicon { /* Given our font-size, adjust action icons accordingly */ width: 13px; height: 13px; } .monaco-hover.workbench-hover hr { border-bottom: none; } .monaco-hover.workbench-hover.compact { font-size: 12px; } .monaco-hover.workbench-hover.compact .monaco-action-bar .action-item .codicon { /* Given our font-size, adjust action icons accordingly */ width: 12px; height: 12px; } .monaco-hover.workbench-hover.compact .hover-contents { padding: 2px 8px; } .workbench-hover-container.locked .monaco-hover.workbench-hover { outline: 1px solid var(--vscode-editorHoverWidget-border); } .workbench-hover-container:focus-within.locked .monaco-hover.workbench-hover { outline-color: var(--vscode-focusBorder); } .workbench-hover-pointer { position: absolute; /* Must be higher than workbench hover z-index */ z-index: 41; pointer-events: none; } .workbench-hover-pointer:after { content: ''; position: absolute; width: 5px; height: 5px; background-color: var(--vscode-editorHoverWidget-background); border-right: 1px solid var(--vscode-editorHoverWidget-border); border-bottom: 1px solid var(--vscode-editorHoverWidget-border); } .workbench-hover-container:not(:focus-within).locked .workbench-hover-pointer:after { width: 4px; height: 4px; border-right-width: 2px; border-bottom-width: 2px; } .workbench-hover-container:focus-within .workbench-hover-pointer:after { border-right: 1px solid var(--vscode-focusBorder); border-bottom: 1px solid var(--vscode-focusBorder); } .workbench-hover-pointer.left { left: -3px; } .workbench-hover-pointer.right { right: 3px; } .workbench-hover-pointer.top { top: -3px; } .workbench-hover-pointer.bottom { bottom: 3px; } .workbench-hover-pointer.left:after { transform: rotate(135deg); } .workbench-hover-pointer.right:after { transform: rotate(315deg); } .workbench-hover-pointer.top:after { transform: rotate(225deg); } .workbench-hover-pointer.bottom:after { transform: rotate(45deg); } .monaco-hover.workbench-hover a { color: var(--vscode-textLink-foreground); } .monaco-hover.workbench-hover a:focus { outline: 1px solid; outline-offset: -1px; text-decoration: underline; outline-color: var(--vscode-focusBorder); } .monaco-hover.workbench-hover a.codicon:focus, .monaco-hover.workbench-hover a.monaco-button:focus { text-decoration: none; } .monaco-hover.workbench-hover a:hover, .monaco-hover.workbench-hover a:active { color: var(--vscode-textLink-activeForeground); } .monaco-hover.workbench-hover code { background: var(--vscode-textCodeBlock-background); } .monaco-hover.workbench-hover .hover-row .actions { background: var(--vscode-editorHoverWidget-statusBarBackground); } .monaco-hover.workbench-hover.right-aligned { /* The context view service wraps strangely when it's right up against the edge without this */ left: 1px; } .monaco-hover.workbench-hover.right-aligned .hover-row.status-bar .actions { flex-direction: row-reverse; } .monaco-hover.workbench-hover.right-aligned .hover-row.status-bar .actions .action-container { margin-right: 0; margin-left: 16px; } /*--------------------------------------------------------------------------------------------- * 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; line-height: 1.5em; white-space: var(--vscode-hover-whiteSpace, normal); } .monaco-hover.fade-in { animation: fadein 100ms linear; } .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%; box-sizing: border-box; } .monaco-hover .hover-row.status-bar .actions .action-container { margin-right: 16px; cursor: pointer; overflow: hidden; text-wrap: nowrap; text-overflow: ellipsis; } .monaco-hover .hover-row.status-bar .actions .action-container .action .icon { padding-right: 4px; vertical-align: middle; font-size: inherit; } .monaco-hover .hover-row.status-bar .actions .action-container a { color: var(--vscode-textLink-foreground); text-decoration: var(--text-link-decoration); } .monaco-hover .hover-row.status-bar .actions .action-container a .icon.codicon { color: var(--vscode-textLink-foreground); } .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); } /** * Add a slight margin to try vertically align codicons with any text * https://github.com/microsoft/vscode/issues/221359 */ .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; } /* Prevent text selection in all button-like elements within hovers */ .monaco-hover .action-container, .monaco-hover .action, .monaco-hover button, .monaco-hover .monaco-button, .monaco-hover .monaco-text-button, .monaco-hover [role="button"] { -webkit-user-select: none; user-select: none; } /*--------------------------------------------------------------------------------------------- * 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-select-box { width: 100%; cursor: pointer; border-radius: var(--vscode-cornerRadius-small); } .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: var(--vscode-cornerRadius-small); min-height: 24px; } /*--------------------------------------------------------------------------------------------- * 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; overflow: hidden; } .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; } /* 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-drag-image { display: inline-block; padding: 1px 7px; border-radius: 10px; font-size: 12px; position: absolute; z-index: 1000; /* Default styles */ background-color: var(--vscode-list-activeSelectionBackground); color: var(--vscode-list-activeSelectionForeground); outline: 1px solid var(--vscode-list-focusOutline); outline-offset: -1px; /* * Browsers apply an effect to the drag image when the div becomes too * large which makes them unreadable. Use max width so it does not happen */ max-width: 120px; overflow: hidden; text-overflow: ellipsis; 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-select-box-dropdown-container { display: none; box-sizing: border-box; border-radius: var(--vscode-cornerRadius-large); box-shadow: var(--vscode-shadow-lg); } .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; } .monaco-select-box-dropdown-container > .select-box-dropdown-list-container { flex: 0 0 auto; align-self: flex-start; width: 100%; overflow: hidden; box-sizing: border-box; } .monaco-select-box-dropdown-container > .select-box-details-pane { padding: 5px 6px; } /* Remove list-level focus ring — individual rows show their own focus indicators */ .monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list:focus::before { outline: 0 !important; } .monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row { cursor: pointer; padding-left: 2px; } .monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row > .option-text { text-overflow: ellipsis; overflow: hidden; padding-left: 6px; 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: 6px; 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; } /* Separator styling */ .monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.option-separator { cursor: default; border-radius: 0; padding: 0; } .monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.option-separator > .option-text { visibility: hidden; width: 0; float: none; } .monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.option-separator > .option-detail { display: none; } .monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.option-separator > .option-decorator-right { color: var(--vscode-descriptionForeground); font-size: 12px; } .monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.option-separator::after { content: ''; position: absolute; left: 0; right: 0; top: 50%; height: 1px; background-color: var(--vscode-menu-separatorBackground); } /* 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: 8px; 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-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, .monaco-action-bar .action-item .keybinding { display: flex; font-size: 11px; padding: 3px; border-radius: var(--vscode-cornerRadius-medium); } .monaco-action-bar .action-item.disabled .action-label:not(.icon) , .monaco-action-bar .action-item.disabled .action-label:not(.icon)::before, .monaco-action-bar .action-item.disabled .action-label:not(.icon):hover { color: var(--vscode-disabledForeground); } /* Unable to change color of SVGs, hence opacity is used */ .monaco-action-bar .action-item.disabled .action-label.icon , .monaco-action-bar .action-item.disabled .action-label.icon::before, .monaco-action-bar .action-item.disabled .action-label.icon:hover { opacity: 0.6; } /* Vertical actions */ .monaco-action-bar.vertical { text-align: left; } .monaco-action-bar.vertical .action-item { display: block; } .monaco-action-bar.vertical .action-item .action-label.separator { display: block; border-bottom: 1px solid var(--vscode-menu-separatorBackground, var(--vscode-disabledForeground)); padding-top: 1px; margin: 4px .8em; width: 100%; height: 0; background-color: transparent; } .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: var(--vscode-disabledForeground); } .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-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 .dropdown-menu { border-radius: var(--vscode-cornerRadius-large); box-shadow: var(--vscode-shadow-lg); } .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 reserv