4.22.0 • Published 8 days ago

@uiw/codemirror-themes v4.22.0

Weekly downloads
-
License
MIT
Repository
github
Last release
8 days ago

Custom Codemirror Themes

Buy me a coffee npm version

Themes for CodeMirror.

Install

npm install @uiw/codemirror-themes --save

Usage

import { EditorView } from '@codemirror/view';
import { EditorState } from '@codemirror/state';
import { createTheme } from '@uiw/codemirror-themes';
import { javascript } from '@codemirror/lang-javascript';
import { tags as t } from '@lezer/highlight';

const myTheme = createTheme({
  theme: 'light',
  settings: {
    background: '#ffffff',
    backgroundImage: '',
    foreground: '#75baff',
    caret: '#5d00ff',
    selection: '#036dd626',
    selectionMatch: '#036dd626',
    lineHighlight: '#8a91991a',
    gutterBorder: '1px solid #ffffff10',
    gutterBackground: '#fff',
    gutterForeground: '#8a919966',
  },
  styles: [
    { tag: t.comment, color: '#787b8099' },
    { tag: t.variableName, color: '#0080ff' },
    { tag: [t.string, t.special(t.brace)], color: '#5c6166' },
    { tag: t.number, color: '#5c6166' },
    { tag: t.bool, color: '#5c6166' },
    { tag: t.null, color: '#5c6166' },
    { tag: t.keyword, color: '#5c6166' },
    { tag: t.operator, color: '#5c6166' },
    { tag: t.className, color: '#5c6166' },
    { tag: t.definition(t.typeName), color: '#5c6166' },
    { tag: t.typeName, color: '#5c6166' },
    { tag: t.angleBracket, color: '#5c6166' },
    { tag: t.tagName, color: '#5c6166' },
    { tag: t.attributeName, color: '#5c6166' },
  ],
});

const state = EditorState.create({
  doc: 'my source code',
  extensions: [myTheme, javascript({ jsx: true })],
});

const view = new EditorView({
  parent: document.querySelector('#editor'),
  state,
});
import CodeMirror from '@uiw/react-codemirror';
import { createTheme } from '@uiw/codemirror-themes';
import { javascript } from '@codemirror/lang-javascript';
import { tags as t } from '@lezer/highlight';

const myTheme = createTheme({
  theme: 'light',
  settings: {
    background: '#ffffff',
    backgroundImage: '',
    foreground: '#75baff',
    caret: '#5d00ff',
    selection: '#036dd626',
    selectionMatch: '#036dd626',
    lineHighlight: '#8a91991a',
    gutterBackground: '#fff',
    gutterForeground: '#8a919966',
  },
  styles: [
    { tag: t.comment, color: '#787b8099' },
    { tag: t.variableName, color: '#0080ff' },
    { tag: [t.string, t.special(t.brace)], color: '#5c6166' },
    { tag: t.number, color: '#5c6166' },
    { tag: t.bool, color: '#5c6166' },
    { tag: t.null, color: '#5c6166' },
    { tag: t.keyword, color: '#5c6166' },
    { tag: t.operator, color: '#5c6166' },
    { tag: t.className, color: '#5c6166' },
    { tag: t.definition(t.typeName), color: '#5c6166' },
    { tag: t.typeName, color: '#5c6166' },
    { tag: t.angleBracket, color: '#5c6166' },
    { tag: t.tagName, color: '#5c6166' },
    { tag: t.attributeName, color: '#5c6166' },
  ],
});

function App() {
  return (
    <CodeMirror
      value="console.log('hello world!');"
      height="200px"
      theme={myTheme}
      extensions={[javascript({ jsx: true })]}
      onChange={(value, viewUpdate) => {
        console.log('value:', value);
      }}
    />
  );
}
export default App;

Themes

abcdef

android studio

atom one

aura

bbedit

bespin

darcula

dracula

duotone

eclipse

github

gruvbox

material

noctis-lilac

nord

okaidia

solarized

sublime

tokyo-night

tokyo-night-day

tokyo-night-storm

vscode

xcode

Props

import { Extension } from '@codemirror/state';
import { TagStyle } from '@codemirror/language';
export interface CreateThemeOptions {
  /**
   * Theme inheritance. Determines which styles CodeMirror will apply by default.
   */
  theme: Theme;
  /**
   * Settings to customize the look of the editor, like background, gutter, selection and others.
   */
  settings: Settings;
  /** Syntax highlighting styles. */
  styles: TagStyle[];
}
type Theme = 'light' | 'dark';
export interface Settings {
  /** Editor background color. */
  background?: string;
  /** Editor background image. */
  backgroundImage?: string;
  /** Default text color. */
  foreground?: string;
  /** Caret color. */
  caret?: string;
  /** Selection background. */
  selection?: string;
  /** Selection match background. */
  selectionMatch?: string;
  /** Background of highlighted lines. */
  lineHighlight?: string;
  /** Gutter background. */
  gutterBackground?: string;
  /** Text color inside gutter. */
  gutterForeground?: string;
  /** Text active color inside gutter. */
  gutterActiveForeground?: string;
  /** Gutter right border color. */
  gutterBorder?: string;
  /** set editor font */
  fontFamily?: string;
}
export declare const createTheme: ({ theme, settings, styles }: CreateThemeOptions) => Extension;
export default createTheme;

Related

Contributors

As always, thanks to our amazing contributors!

Made with github-action-contributors.

License

Licensed under the MIT License.

@infinitebrahmanuniverse/nolb-_ui@use-gpu/inspect-gpu@uiw/codemirror-theme-vscode@uiw/codemirror-theme-white@uiw/codemirror-theme-xcode@uiw/codemirror-themes-all@uiw/codemirror-theme-abcdef@uiw/codemirror-theme-monokai-dimmed@uiw/codemirror-theme-noctis-lilac@uiw/codemirror-theme-nord@uiw/codemirror-theme-okaidia@uiw/codemirror-theme-quietlight@uiw/codemirror-theme-red@uiw/codemirror-theme-solarized@uiw/codemirror-theme-sublime@uiw/codemirror-theme-tokyo-night@uiw/codemirror-theme-tokyo-night-day@uiw/codemirror-theme-tokyo-night-storm@uiw/codemirror-theme-tomorrow-night-blue@uiw/codemirror-theme-darcula@uiw/codemirror-theme-dracula@uiw/codemirror-theme-duotone@uiw/codemirror-theme-eclipse@uiw/codemirror-theme-github@uiw/codemirror-theme-gruvbox-dark@uiw/codemirror-theme-kimbie@uiw/codemirror-theme-material@uiw/codemirror-theme-monokai@uiw/codemirror-theme-abyss@uiw/codemirror-theme-androidstudio@uiw/codemirror-theme-andromeda@uiw/codemirror-theme-atomone@uiw/codemirror-theme-aura@uiw/codemirror-theme-basic@uiw/codemirror-theme-bbedit@uiw/codemirror-theme-bespin@uiw/codemirror-theme-console@uiw/codemirror-theme-copilot@zhongyiio/react-markdown-editoracciojob-packages@zalastax/nolb-_ui@fuse-finance/ui-librarycarbon-react-code-mirror@uiw/react-markdown-editor@neon.id/field@markflowy/editor@libsqlstudio/gui@sanity/code-input@scalar/use-codemirror@strudel/codemirror@strudel.cycles/react@conda-store/conda-store-uitripdocstripdocs-js-sdk@coursebuilder/uithe-rest-api-clientreact-haku-code-labvzcodewc-studio
4.22.0

8 days ago

4.21.25

1 month ago

4.21.24

2 months ago

4.21.23

3 months ago

4.21.22

3 months ago

4.21.11

9 months ago

4.21.10

9 months ago

4.21.13

8 months ago

4.21.12

8 months ago

4.21.19

7 months ago

4.21.18

8 months ago

4.21.15

8 months ago

4.21.14

8 months ago

4.21.17

8 months ago

4.21.16

8 months ago

4.21.9

9 months ago

4.21.8

10 months ago

4.21.21

5 months ago

4.21.20

7 months ago

4.21.6

11 months ago

4.21.7

11 months ago

4.21.4

11 months ago

4.21.5

11 months ago

4.21.1

11 months ago

4.21.2

11 months ago

4.21.3

11 months ago

4.21.0

11 months ago

4.20.2

12 months ago

4.20.3

11 months ago

4.20.4

11 months ago

4.20.0

12 months ago

4.20.1

12 months ago

4.19.14

1 year ago

4.19.13

1 year ago

4.19.12

1 year ago

4.19.11

1 year ago

4.19.10

1 year ago

4.19.16

1 year ago

4.19.15

1 year ago

4.19.8

1 year ago

4.19.9

1 year ago

4.19.5

1 year ago

4.19.6

1 year ago

4.19.7

1 year ago

4.19.3

1 year ago

4.19.4

1 year ago

4.19.0

1 year ago

4.18.1

1 year ago

4.19.1

1 year ago

4.18.2

1 year ago

4.19.2

1 year ago

4.16.0

1 year ago

4.17.0

1 year ago

4.18.0

1 year ago

4.17.1

1 year ago

4.15.0

1 year ago

4.14.1

1 year ago

4.13.2

1 year ago

4.15.1

1 year ago

4.14.2

1 year ago

4.12.4

2 years ago

4.14.3

1 year ago

4.13.0

1 year ago

4.14.0

1 year ago

4.13.1

1 year ago

4.12.3

2 years ago

4.12.2

2 years ago

4.11.5

2 years ago

4.11.6

2 years ago

4.12.0

2 years ago

4.12.1

2 years ago

4.11.4

2 years ago

4.9.4

2 years ago

4.9.3

2 years ago

4.9.6

2 years ago

4.9.5

2 years ago

4.9.2

2 years ago

4.11.0

2 years ago

4.10.1

2 years ago

4.11.1

2 years ago

4.10.2

2 years ago

4.11.2

2 years ago

4.10.3

2 years ago

4.11.3

2 years ago

4.10.4

2 years ago

4.10.0

2 years ago

4.9.1

2 years ago

4.9.0

2 years ago

4.8.1

2 years ago