Closed
Description
I'm trying to reuse the github themes with the lezer/highlight API highlightTree
. However, right now all the theme packages bundle the EditorView.theme together with the HighlightStyle.define so I can't use the styles independently.
As precedence, it is what https://github.com/codemirror/theme-one-dark/blob/main/src/one-dark.ts does.
Would love if for the github theme and possibly other themes as well if
export const githubLightStyles = [
{ tag: [t.standard(t.tagName), t.tagName], color: '#116329' },
{ tag: [t.comment, t.bracket], color: '#6a737d' },
{ tag: [t.className, t.propertyName], color: '#6f42c1' },
{ tag: [t.variableName, t.attributeName, t.number, t.operator], color: '#005cc5' },
{ tag: [t.keyword, t.typeName, t.typeOperator, t.typeName], color: '#d73a49' },
{ tag: [t.string, t.meta, t.regexp], color: '#032f62' },
{ tag: [t.name, t.quote], color: '#22863a' },
{ tag: [t.heading, t.strong], color: '#24292e', fontWeight: 'bold' },
{ tag: [t.emphasis], color: '#24292e', fontStyle: 'italic' },
{ tag: [t.deleted], color: '#b31d28', backgroundColor: 'ffeef0' },
{ tag: [t.atom, t.bool, t.special(t.variableName)], color: '#e36209' },
{ tag: [t.url, t.escape, t.regexp, t.link], color: '#032f62' },
{ tag: t.link, textDecoration: 'underline' },
{ tag: t.strikethrough, textDecoration: 'line-through' },
{ tag: t.invalid, color: '#cb2431' },
]
export const githubLightInit = (options?: Partial<CreateThemeOptions>) => {
const { theme = 'light', settings = {}, styles = [] } = options || {};
return createTheme({
theme: theme,
settings: {
...defaultSettingsGithubLight,
...settings,
},
styles: [...githubLightStyles, ...styles]
});
};
Metadata
Metadata
Assignees
Labels
No labels