livebook/assets/css/editor.css
Jonatan Kłosko e2490c0f7f
Implement signature intellisense (#640)
* Remove Code.Fragment backport

* Fix tests compatibility with Elixir 1.13

* Implement signature intellisense

* Don't show signatures on module attributes

* Add tests for calls with do-end block

* Unify spec formatting

* Insert parentheses when completing a function call

* Send all text until cursor in signature request

* Add configuration for completion/signature popups (#693)

* Add editor settings form

* Add configuration for intellisense defaults

* Read fresh settings when editor mounts

* Scope attribute names

* Fix disabled button styling

* Simplify signature box and enable by default

* Split settings into system and user sections

* Update lib/livebook_web/live/settings_live.ex

Co-authored-by: José Valim <jose.valim@dashbit.co>

* Update lib/livebook_web/live/settings_live.ex

Co-authored-by: José Valim <jose.valim@dashbit.co>

Co-authored-by: José Valim <jose.valim@dashbit.co>

* Fix spacing in documentation tests

Co-authored-by: José Valim <jose.valim@dashbit.co>
2021-12-03 21:57:21 +01:00

153 lines
3.2 KiB
CSS

/* === Monaco overrides === */
/*
CSS normalization removes the default styles of HTML elements,
so we need to adjust styles of Monaco-rendered Markdown docs.
Also some spacing adjustments.
*/
.monaco-hover p,
.suggest-details p,
.parameter-hints-widget p {
@apply my-2 !important;
}
.suggest-details h1,
.monaco-hover h1,
.parameter-hints-widget h1 {
@apply text-xl font-semibold mt-4 mb-2;
}
.suggest-details h2,
.monaco-hover h2,
.parameter-hints-widget h2 {
@apply text-lg font-medium mt-4 mb-2;
}
.suggest-details h3,
.monaco-hover h3,
.parameter-hints-widget h3 {
@apply font-medium mt-4 mb-2;
}
.suggest-details ul,
.monaco-hover ul,
.parameter-hints-widget ul {
@apply list-disc;
}
.suggest-details ol,
.monaco-hover ol,
.parameter-hints-widget ol {
@apply list-decimal;
}
.suggest-details hr,
.monaco-hover hr,
.parameter-hints-widget hr {
@apply my-2 !important;
}
.suggest-details blockquote,
.monaco-hover blockquote,
.parameter-hints-widget blockquote {
@apply border-l-4 border-gray-200 pl-4 py-0.5 my-2;
}
/* Add some spacing to code snippets in completion suggestions */
.suggest-details div.monaco-tokenized-source,
.monaco-hover div.monaco-tokenized-source,
.parameter-hints-widget div.monaco-tokenized-source {
@apply my-2 whitespace-pre-wrap;
}
/* Use z-index over cell icons */
.suggest-details,
.monaco-hover,
.parameter-hints-widget {
z-index: 100 !important;
}
/* Adjust header spacing in completion details */
.suggest-details .header p {
@apply pb-0 pt-3 !important;
}
/* Adjust divider in signature help widget */
.parameter-hints-widget .markdown-docs hr {
border-top: 1px solid rgba(69, 69, 69, 0.5);
margin-right: -8px;
margin-left: -8px;
}
/* Increase the hover box limits */
.monaco-hover-content {
max-width: 1000px !important;
max-height: 300px !important;
}
/* Increase the completion details box limits */
.suggest-details-container,
.suggest-details {
width: fit-content !important;
height: fit-content !important;
max-width: 420px !important;
max-height: 250px !important;
}
/* Adjust completion details spacing */
.suggest-details .header .type {
padding-top: 0 !important;
}
/* The content already has some padding */
.docs.markdown-docs {
margin: 0 !important;
}
/* === Monaco cursor widget === */
.monaco-cursor-widget-container {
pointer-events: none;
z-index: 100;
}
.monaco-cursor-widget-container .monaco-cursor-widget-cursor {
pointer-events: initial;
width: 2px;
}
.monaco-cursor-widget-container .monaco-cursor-widget-label {
pointer-events: initial;
transform: translateY(-200%);
white-space: nowrap;
padding: 1px 8px;
font-size: 12px;
color: #f8fafc;
visibility: hidden;
transition-property: visibility;
transition-duration: 0s;
transition-delay: 1.5s;
}
.monaco-cursor-widget-container .monaco-cursor-widget-label:hover {
visibility: visible;
}
.monaco-cursor-widget-container
.monaco-cursor-widget-cursor:hover
+ .monaco-cursor-widget-label {
visibility: visible;
transition-delay: 0s;
}
/* When in the first line, we want to display cursor and label in the same line */
.monaco-cursor-widget-container.inline {
display: flex;
}
.monaco-cursor-widget-container.inline .monaco-cursor-widget-label {
margin-left: 2px;
transform: none;
}