add color highlighting to code editor

This commit is contained in:
SethBurkart123
2024-03-31 11:42:33 +11:00
parent 0be761ce62
commit 08b7698093
2 changed files with 4 additions and 2 deletions
+1
View File
@@ -44,6 +44,7 @@
"@types/react-dom": "^18.2.19", "@types/react-dom": "^18.2.19",
"@types/sortablejs": "^1.15.7", "@types/sortablejs": "^1.15.7",
"@types/webextension-polyfill": "^0.10.7", "@types/webextension-polyfill": "^0.10.7",
"@uiw/codemirror-extensions-color": "^4.21.25",
"@uiw/codemirror-theme-github": "^4.21.25", "@uiw/codemirror-theme-github": "^4.21.25",
"@uiw/react-codemirror": "^4.21.25", "@uiw/react-codemirror": "^4.21.25",
"@vitejs/plugin-react": "^4.2.1", "@vitejs/plugin-react": "^4.2.1",
+3 -2
View File
@@ -1,11 +1,12 @@
import CodeMirror, { ViewUpdate } from '@uiw/react-codemirror' import CodeMirror, { ViewUpdate } from '@uiw/react-codemirror'
import { githubDark, githubLight } from '@uiw/codemirror-theme-github' import { githubDark, githubLight } from '@uiw/codemirror-theme-github'
import { color, colorView, colorTheme } from '@uiw/codemirror-extensions-color';
import { less } from '@codemirror/lang-less' import { less } from '@codemirror/lang-less'
import { useCallback, useEffect, useState } from 'react'; import { useCallback, useEffect, useState } from 'react';
export default function CodeEditor({ callback, initialState }: { callback: (value: string) => void, initialState: string }) { export default function CodeEditor({ callback, initialState }: { callback: (value: string) => void, initialState: string }) {
const [value, setValue] = useState(initialState) const [value, setValue] = useState(initialState)
const [darkMode, setDarkMode] = useState(true) const [darkMode, setDarkMode] = useState(false)
useEffect(() => { useEffect(() => {
if (document.body.classList.contains('dark')) { if (document.body.classList.contains('dark')) {
@@ -25,6 +26,6 @@ export default function CodeEditor({ callback, initialState }: { callback: (valu
foldGutter: false, foldGutter: false,
dropCursor: true, dropCursor: true,
tabSize: 2 tabSize: 2
}} theme={ darkMode ? githubDark : githubLight } placeholder={"It's time to dream up some code!"} value={value} height="200px" extensions={[less()]} onChange={onChange} /> }} theme={ darkMode ? githubDark : githubLight } placeholder={"It's time to dream up some code!"} value={value} height="200px" extensions={[less(), color]} onChange={onChange} />
) )
} }