WIP snake_case 2/?

This commit is contained in:
Nate Butler 2023-06-29 01:48:40 -04:00
parent b015f506da
commit ba17fae8d9
23 changed files with 317 additions and 356 deletions

View file

@ -7,17 +7,17 @@ import {
foreground,
text,
} from "./components"
import hoverPopover from "./hover_popover"
import hover_popover from "./hover_popover"
import { buildSyntax } from "../theme/syntax"
import { build_syntax } from "../theme/syntax"
import { interactive, toggleable } from "../element"
export default function editor(colorScheme: ColorScheme): any {
const { is_light } = colorScheme
export default function editor(theme: ColorScheme): any {
const { is_light } = theme
const layer = colorScheme.highest
const layer = theme.highest
const autocompleteItem = {
const autocomplete_item = {
corner_radius: 6,
padding: {
bottom: 2,
@ -29,7 +29,7 @@ export default function editor(colorScheme: ColorScheme): any {
function diagnostic(layer: Layer, styleSet: StyleSets) {
return {
textScaleFactor: 0.857,
text_scale_factor: 0.857,
header: {
border: border(layer, {
top: true,
@ -37,7 +37,7 @@ export default function editor(colorScheme: ColorScheme): any {
},
message: {
text: text(layer, "sans", styleSet, "default", { size: "sm" }),
highlightText: text(layer, "sans", styleSet, "default", {
highlight_text: text(layer, "sans", styleSet, "default", {
size: "sm",
weight: "bold",
}),
@ -45,16 +45,16 @@ export default function editor(colorScheme: ColorScheme): any {
}
}
const syntax = buildSyntax(colorScheme)
const syntax = build_syntax(theme)
return {
textColor: syntax.primary.color,
text_color: syntax.primary.color,
background: background(layer),
activeLineBackground: withOpacity(background(layer, "on"), 0.75),
highlightedLineBackground: background(layer, "on"),
active_line_background: withOpacity(background(layer, "on"), 0.75),
highlighted_line_background: background(layer, "on"),
// Inline autocomplete suggestions, Co-pilot suggestions, etc.
suggestion: syntax.predictive,
codeActions: {
code_actions: {
indicator: toggleable({
base: interactive({
base: {
@ -84,12 +84,12 @@ export default function editor(colorScheme: ColorScheme): any {
},
}),
verticalScale: 0.55,
vertical_scale: 0.55,
},
folds: {
iconMarginScale: 2.5,
foldedIcon: "icons/chevron_right_8.svg",
foldableIcon: "icons/chevron_down_8.svg",
icon_margin_scale: 2.5,
folded_icon: "icons/chevron_right_8.svg",
foldable_icon: "icons/chevron_down_8.svg",
indicator: toggleable({
base: interactive({
base: {
@ -116,20 +116,20 @@ export default function editor(colorScheme: ColorScheme): any {
},
}),
ellipses: {
textColor: colorScheme.ramps.neutral(0.71).hex(),
corner_radiusFactor: 0.15,
text_color: theme.ramps.neutral(0.71).hex(),
corner_radius_factor: 0.15,
background: {
// Copied from hover_popover highlight
default: {
color: colorScheme.ramps.neutral(0.5).alpha(0.0).hex(),
color: theme.ramps.neutral(0.5).alpha(0.0).hex(),
},
hovered: {
color: colorScheme.ramps.neutral(0.5).alpha(0.5).hex(),
color: theme.ramps.neutral(0.5).alpha(0.5).hex(),
},
clicked: {
color: colorScheme.ramps.neutral(0.5).alpha(0.7).hex(),
color: theme.ramps.neutral(0.5).alpha(0.7).hex(),
},
},
},
@ -137,14 +137,14 @@ export default function editor(colorScheme: ColorScheme): any {
},
diff: {
deleted: is_light
? colorScheme.ramps.red(0.5).hex()
: colorScheme.ramps.red(0.4).hex(),
? theme.ramps.red(0.5).hex()
: theme.ramps.red(0.4).hex(),
modified: is_light
? colorScheme.ramps.yellow(0.5).hex()
: colorScheme.ramps.yellow(0.5).hex(),
? theme.ramps.yellow(0.5).hex()
: theme.ramps.yellow(0.5).hex(),
inserted: is_light
? colorScheme.ramps.green(0.4).hex()
: colorScheme.ramps.green(0.5).hex(),
? theme.ramps.green(0.4).hex()
: theme.ramps.green(0.5).hex(),
removedWidthEm: 0.275,
widthEm: 0.15,
corner_radius: 0.05,
@ -156,7 +156,7 @@ export default function editor(colorScheme: ColorScheme): any {
foreground(layer, "accent"),
0.1
),
documentHighlightWriteBackground: colorScheme.ramps
documentHighlightWriteBackground: theme.ramps
.neutral(0.5)
.alpha(0.4)
.hex(), // TODO: This was blend * 2
@ -167,98 +167,98 @@ export default function editor(colorScheme: ColorScheme): any {
lineNumberActive: foreground(layer),
renameFade: 0.6,
unnecessaryCodeFade: 0.5,
selection: colorScheme.players[0],
whitespace: colorScheme.ramps.neutral(0.5).hex(),
selection: theme.players[0],
whitespace: theme.ramps.neutral(0.5).hex(),
guestSelections: [
colorScheme.players[1],
colorScheme.players[2],
colorScheme.players[3],
colorScheme.players[4],
colorScheme.players[5],
colorScheme.players[6],
colorScheme.players[7],
theme.players[1],
theme.players[2],
theme.players[3],
theme.players[4],
theme.players[5],
theme.players[6],
theme.players[7],
],
autocomplete: {
background: background(colorScheme.middle),
background: background(theme.middle),
corner_radius: 8,
padding: 4,
margin: {
left: -14,
},
border: border(colorScheme.middle),
shadow: colorScheme.popoverShadow,
matchHighlight: foreground(colorScheme.middle, "accent"),
item: autocompleteItem,
border: border(theme.middle),
shadow: theme.popoverShadow,
matchHighlight: foreground(theme.middle, "accent"),
item: autocomplete_item,
hoveredItem: {
...autocompleteItem,
...autocomplete_item,
matchHighlight: foreground(
colorScheme.middle,
theme.middle,
"accent",
"hovered"
),
background: background(colorScheme.middle, "hovered"),
background: background(theme.middle, "hovered"),
},
selectedItem: {
...autocompleteItem,
...autocomplete_item,
matchHighlight: foreground(
colorScheme.middle,
theme.middle,
"accent",
"active"
),
background: background(colorScheme.middle, "active"),
background: background(theme.middle, "active"),
},
},
diagnosticHeader: {
background: background(colorScheme.middle),
background: background(theme.middle),
icon_widthFactor: 1.5,
textScaleFactor: 0.857,
border: border(colorScheme.middle, {
border: border(theme.middle, {
bottom: true,
top: true,
}),
code: {
...text(colorScheme.middle, "mono", { size: "sm" }),
...text(theme.middle, "mono", { size: "sm" }),
margin: {
left: 10,
},
},
source: {
text: text(colorScheme.middle, "sans", {
text: text(theme.middle, "sans", {
size: "sm",
weight: "bold",
}),
},
message: {
highlightText: text(colorScheme.middle, "sans", {
highlightText: text(theme.middle, "sans", {
size: "sm",
weight: "bold",
}),
text: text(colorScheme.middle, "sans", { size: "sm" }),
text: text(theme.middle, "sans", { size: "sm" }),
},
},
diagnosticPathHeader: {
background: background(colorScheme.middle),
background: background(theme.middle),
textScaleFactor: 0.857,
filename: text(colorScheme.middle, "mono", { size: "sm" }),
filename: text(theme.middle, "mono", { size: "sm" }),
path: {
...text(colorScheme.middle, "mono", { size: "sm" }),
...text(theme.middle, "mono", { size: "sm" }),
margin: {
left: 12,
},
},
},
errorDiagnostic: diagnostic(colorScheme.middle, "negative"),
warningDiagnostic: diagnostic(colorScheme.middle, "warning"),
informationDiagnostic: diagnostic(colorScheme.middle, "accent"),
hintDiagnostic: diagnostic(colorScheme.middle, "warning"),
invalidErrorDiagnostic: diagnostic(colorScheme.middle, "base"),
invalidHintDiagnostic: diagnostic(colorScheme.middle, "base"),
invalidInformationDiagnostic: diagnostic(colorScheme.middle, "base"),
invalidWarningDiagnostic: diagnostic(colorScheme.middle, "base"),
hoverPopover: hoverPopover(colorScheme),
errorDiagnostic: diagnostic(theme.middle, "negative"),
warningDiagnostic: diagnostic(theme.middle, "warning"),
informationDiagnostic: diagnostic(theme.middle, "accent"),
hintDiagnostic: diagnostic(theme.middle, "warning"),
invalidErrorDiagnostic: diagnostic(theme.middle, "base"),
invalidHintDiagnostic: diagnostic(theme.middle, "base"),
invalidInformationDiagnostic: diagnostic(theme.middle, "base"),
invalidWarningDiagnostic: diagnostic(theme.middle, "base"),
hover_popover: hover_popover(theme),
linkDefinition: {
color: syntax.linkUri.color,
underline: syntax.linkUri.underline,
color: syntax.link_uri.color,
underline: syntax.link_uri.underline,
},
jumpIcon: interactive({
base: {
@ -299,14 +299,14 @@ export default function editor(colorScheme: ColorScheme): any {
},
git: {
deleted: is_light
? withOpacity(colorScheme.ramps.red(0.5).hex(), 0.8)
: withOpacity(colorScheme.ramps.red(0.4).hex(), 0.8),
? withOpacity(theme.ramps.red(0.5).hex(), 0.8)
: withOpacity(theme.ramps.red(0.4).hex(), 0.8),
modified: is_light
? withOpacity(colorScheme.ramps.yellow(0.5).hex(), 0.8)
: withOpacity(colorScheme.ramps.yellow(0.4).hex(), 0.8),
? withOpacity(theme.ramps.yellow(0.5).hex(), 0.8)
: withOpacity(theme.ramps.yellow(0.4).hex(), 0.8),
inserted: is_light
? withOpacity(colorScheme.ramps.green(0.5).hex(), 0.8)
: withOpacity(colorScheme.ramps.green(0.4).hex(), 0.8),
? withOpacity(theme.ramps.green(0.5).hex(), 0.8)
: withOpacity(theme.ramps.green(0.4).hex(), 0.8),
},
},
compositionMark: {