diff --git a/styles/src/themes/common/syntax.ts b/styles/src/themes/common/syntax.ts index 6faf48852f01d5d8cabd829480118eeed0aadb4e..28600c4df4ac9293d474135862e6ec443d8e1efb 100644 --- a/styles/src/themes/common/syntax.ts +++ b/styles/src/themes/common/syntax.ts @@ -8,10 +8,13 @@ const defaultSyntaxHighlightStyle: Omit = { } function buildDefaultSyntax(colorScheme: ColorScheme): Syntax { + // Make a temporary object that is allowed to be missing + // the "color" property for each style const syntax: { [key: string]: Omit } = {} + // then spread the default to each style for (const key of Object.keys({} as Syntax)) { syntax[key as keyof Syntax] = { ...defaultSyntaxHighlightStyle @@ -22,6 +25,7 @@ function buildDefaultSyntax(colorScheme: ColorScheme): Syntax { comment: colorScheme.ramps.neutral(0.71).hex() } + // Then assign colors and use Syntax to enforce each style getting it's own color const defaultSyntax: Syntax = { ...syntax, comment: {