@import url('./variables/base.css');
@import url('./variables/cm-themes.css');
@import url('./variables/jupyterlab-dark.css');
@import url('./variables/jupyterlab-light.css');

.cm-lsp-diagnostic-tag-Unnecessary {
  /*
   * LSP: "Clients are allowed to render diagnostics with this tag faded out instead of having an error squiggle."
   */
  filter: grayscale(1);
  opacity: 0.7;
  text-decoration: none !important;
}

.cm-lsp-diagnostic-tag-Deprecated {
  /*
   * LSP: "Clients are allowed to rendered diagnostics with this tag strike through."
   */
  text-decoration: line-through !important;
}

/* hover */
.cm-lsp-hover-available {
  text-decoration: var(--jp-editor-mirror-lsp-hover-decoration-style);
  text-decoration-color: var(--jp-editor-mirror-lsp-hover-decoration-color);
  text-decoration-line: underline;
  text-decoration-skip-ink: none;
}

/* highlight */
.cm-lsp-highlight-Read {
  /* highlight on places where variable is accessed, e.g. `print(var)` */
  background-color: var(--jp-editor-mirror-lsp-highlight-background-color);
  outline: 1px solid var(--jp-editor-mirror-lsp-highlight-background-color);
}

.cm-lsp-highlight-Write {
  /* highlight on places where variable is defined, e.g. `var = 1` */
  background-color: var(--jp-editor-mirror-lsp-highlight-background-color);
  outline: 1px solid var(--jp-editor-mirror-lsp-highlight-border-color);
}

.cm-lsp-highlight-Text {
  /* highlight on places where variable was matched based on text rather than semantics */
  background-color: var(--jp-editor-mirror-lsp-highlight-background-color);
}
