_sass/base/_syntax_highlighting.scss
@use 'sass:color';
@use '../abstracts/variables' as *;
@use '../abstracts/mixins' as *;

/* SYNTAX HIGHLIGHTING COLORS */

// comments
.highlight :is(.c, .ch, .cm, .cp, .cpf, .cs, .c1){
	color: #a0a1a7;
	font-family: $fontMonoItalic;
}

// keywords
.highlight :is(.k, .kc, .kd, .kn, .kr, .kt, .kv){
	color: #0098dd;
	font-family: $fontMonoBold;
}

// properties
.highlight :is(.py){
	color: #976F4D;
}

// numbers
.highlight :is(.m, .mf, .mh, .mi, .mo, .il){
	color: #ce33c0;
}

// foreground
.highlight :is(.g, .l, .no, .nd, .nx, .w, .nn, .n, .vg){
	color: #383a42;
}

// type names
.highlight :is(.nb, .bp, .vcb){
	color: #0098dd;
	font-family: $fontMonoBold;
}

// functions
.highlight :is(.nf, .nt, .na){
	color: #23974a;
	font-family: $fontMonoBold;
}

// attributes (used for placeholders)
.highlight :is(.ge){
	color: #d52753;
	font-family: $fontMonoItalicBold;
}

body.documentation .highlight code a{
	text-decoration-color: #23974a;
	text-underline-offset: .05em;
	text-underline-offset: 0.17em;
}

// class names
.highlight :is(.nc, .nv, .nl){
	color: #d52753;
}

// punctuation
.highlight :is(.p, .x){
	color: #7a82da;
}

// operators
.highlight :is(.o, .ow){
	color: #7a82da
}

// strings
.highlight :is(.ld, .s, .sb, .sc, .sd, .s2, .se, .sh, .si, .sx, .sr, .s1, .ss, .dl){
	color: #c5a332;
}

.language-batch code:before {
	content: '$ ';
}

.language-plsql code:before {
	content: 'D ';
}

// keywords in table headers
th .k {
	color: #fff;
	font-family: $fontMonoBold;
}

// background
.highlight {
	background: var(--doc-codebox-background-color, #F2F2F2);
}

// ??
.highlight :is(.gh, .gp){
}

.landing .highlight{
	padding: 15px;
	border: 1px solid var(--doc-codebox-border-color, #D9D9D9);
}



html.darkmode, 
.dark{
	// comments
	.highlight :is(.c, .ch, .cm, .cp, .cpf, .cs, .c1){
		color: #636d83;
		font-family: $fontMonoItalic;
	}
	
	// keywords
	.highlight :is(.k, .kc, .kd, .kn, .kr, .kt, .kv){
		color: #10b1fe;
		font-family: $fontMonoBold;
	}

	// properties
	.highlight :is(.py){
		color: #BA9678;
	}

	// numbers
	.highlight :is(.m, .mf, .mh, .mi, .mo, .il){
		color: #ff78f8;
	}
	
	// foreground
	.highlight :is(.g, .l, .no, .nd, .nx, .w, .nn, .n, .vg){
		color: $black300;
	}
	
	// type names
	.highlight :is(.nb, .bp, .vcb){
		color: #10b1fe;
		font-family: $fontMonoBold;
	}
	
	// functions
	.highlight :is(.nf, .nt, .na){
		color: #3fc56b;
		font-family: $fontMonoBold;
	}

	.highlight :is(.ge){
		color: #ff6480;
		font-family: $fontMonoItalicBold;
	}
	
	// class names
	.highlight :is(.nc, .nv){
		color: #ff6480;
	}
	
	// punctuation
	.highlight :is(.p, .x){
		color: #7a82da;
	}
	
	// operators
	.highlight :is(.o, .ow){
		color: #7a82da
	}
	
	// strings
	.highlight :is(.ld, .s, .sb, .sc, .sd, .s2, .se, .sh, .si, .sx, .sr, .s1, .ss, .dl, .nl){
		color: #f9c859;
	}
	
	// keywords in table headers
	th .k {
		color: #fff;
		font-family: $fontMonoBold;
	}
	
	// ??
	.highlight :is(.gh, .gp){
	}
	
}

