/* JitterLisp: default -*- CSS -*- style for Libtextstyle.

   Copyright (C) 2020, 2021 Luca Saiu
   Written by Luca Saiu

   This file is part of the JitterLisp language implementation, distributed as
   an example along with GNU Jitter under the same license.

   GNU Jitter is free software: you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation, either version 3 of the License, or
   (at your option) any later version.

   GNU Jitter is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   GNU General Public License for more details.

   You should have received a copy of the GNU General Public License
   along with GNU Jitter.  If not, see <https://www.gnu.org/licenses/>. */


/* Introduction.
 * ************************************************************************** */

/* This is a default style for JitterLisp, reasonable for terminals with a black
   background.  It looks much better with at least 256 colors, which is supported
   in practice by most modern terminals even when they do not set the TERM variable
   accordingly: the user is invited to try
     TERM=xterm-256color
   . */




/* Interaction and debugging.
 * ************************************************************************** */

.jitterlisp-banner                  { color: lightgreen;
                                      font-style: italic;
                                      font-weight: bold; }
.jitterlisp-banner-feature-name     { color: lightyellow;
                                      font-style: italic; }
.jitterlisp-banner-feature-value    { color: lightyellow;
                                      font-style: italic;
                                      /*text-decoration: underline;*/ }
.jitterlisp-banner-feature-warning  { color: red;
                                      font-style: italic;
                                      /*text-decoration: underline;*/ }
.jitterlisp-log                     { background-color: gray;
                                      color: black;
                                      font-style: italic; }




/* Errors and warnings.
 * ************************************************************************** */

.jitterlispvm-invalid,
.jitterlispvm-error,
.jitterlisp-error,
.jitterlisp-invalid,
.jitterlisp-warning    { background-color: red;
                         color: black;
                         font-style: italic;
                         text-decoration: underline; }
.jitterlispvm-warning  { background-color: purple;
                         color: white;
                         font-style: italic;
                         text-decoration: underline; }




/* JitterLispVM routines.
 * ************************************************************************** */

.jitterlispvm-comment      { color: brown;
                             font-style: italic; }
.jitterlispvm-punctuation  { color: white; }

.jitterlispvm-instruction  { color: cyan;
                             font-weight: bold; }
.jitterlispvm-label        { color: yellow;
                             font-style: italic;
                             font-weight: bold; }
.jitterlispvm-register     { color: green;
                             font-style: italic;
                             font-weight: bold; }
.jitterlispvm-number       { color: lightgreen; }




/* Native-code disassemblying of JitterLispVM routines.
 * ************************************************************************** */

.jitterlispvm-memory-address          { color: yellow;
                                        font-style: italic; }
.jitterlispvm-native-instruction-hex  { color: cyan; }
.jitterlispvm-disassembly             { color: green;
                                        font-style: italic; }




/* Lisp data.
 * ************************************************************************** */

.jitterlisp-fixnum               { color: green; }
.jitterlisp-unique               { color: lightgreen;
                                   font-weight: bold; }
.jitterlisp-interned-symbol      { color: orange; }
.jitterlisp-uninterned-symbol    { color: orange;
                                   text-decoration: underline; }
.jitterlisp-character            { color: purple;
                                   font-style: italic;
                                   text-decoration: underline; }
.jitterlisp-cons                 { color: white; }
.jitterlisp-vector               { color: white;
                                   font-weight: bold; }
.jitterlisp-box                  { color: green;
                                   font-weight: bold; }
.jitterlisp-primitive            { color: orange;
                                   font-weight: bold;
                                   font-style: italic;
                                   text-decoration: underline; }
.jitterlisp-closure              { color: purple;
                                   font-weight: bold;
                                   font-style: italic; }
.jitterlisp-primitive-macro      { color: pink;
                                   font-style: italic;
                                   text-decoration: underline; }
.jitterlisp-non-primitive-macro  { color: pink;
                                   font-weight: bold;
                                   font-style: italic; }
.jitterlisp-ast                  { color: cyan;
                                   font-style: italic;
                                   text-decoration: underline; }
.jitterlisp-circular             { color: white;
                                   font-weight: bold;
                                   background-color: red; }




/* Profiling.
 * ************************************************************************** */

.jitterlispvm-profile-instruction      { color: cyan;
                                         font-weight: bold; }
.jitterlispvm-profile-execution-count  { color: brown; }
.jitterlispvm-profile-run-time         { color: lightgreen;
                                         font-style: italic; }
.jitterlispvm-profile-time-ratio       { color: gray;
                                         font-weight: bold; }
