[⬆️] Migrate to prism-code-editor 2.0.1

This commit is contained in:
FIameCaster 2023-10-22 23:38:41 +02:00
parent e716d4a76c
commit c96382b03d
3 changed files with 17 additions and 22 deletions

16
package-lock.json generated
View file

@ -12,7 +12,7 @@
"@ptkdev/logger": "^1.8.0", "@ptkdev/logger": "^1.8.0",
"eruda": "^3.0.1", "eruda": "^3.0.1",
"filer": "^1.4.1", "filer": "^1.4.1",
"prism-code-editor": "^1.2.2", "prism-code-editor": "^2.0.1",
"prismjs": "^1.29.0", "prismjs": "^1.29.0",
"uuid": "^9.0.1" "uuid": "^9.0.1"
}, },
@ -739,9 +739,9 @@
} }
}, },
"node_modules/@types/prismjs": { "node_modules/@types/prismjs": {
"version": "1.26.1", "version": "1.26.2",
"resolved": "https://registry.npmjs.org/@types/prismjs/-/prismjs-1.26.1.tgz", "resolved": "https://registry.npmjs.org/@types/prismjs/-/prismjs-1.26.2.tgz",
"integrity": "sha512-Q7jDsRbzcNHIQje15CS/piKhu6lMLb9jwjxSfEIi4KcFKXW23GoJMkwQiJ8VObyfx+VmUaDcJxXaWN+cTCjVog==" "integrity": "sha512-/r7Cp7iUIk7gts26mHXD66geUC+2Fo26TZYjQK6Nr4LDfi6lmdRmMqM0oPwfiMhUwoBAOFe8GstKi2pf6hZvwA=="
}, },
"node_modules/@types/semver": { "node_modules/@types/semver": {
"version": "7.5.3", "version": "7.5.3",
@ -4767,11 +4767,11 @@
} }
}, },
"node_modules/prism-code-editor": { "node_modules/prism-code-editor": {
"version": "1.2.2", "version": "2.0.1",
"resolved": "https://registry.npmjs.org/prism-code-editor/-/prism-code-editor-1.2.2.tgz", "resolved": "https://registry.npmjs.org/prism-code-editor/-/prism-code-editor-2.0.1.tgz",
"integrity": "sha512-jmVlSNCp40BWauhzjv3GGFmXVaZkXcuVa7G/5RWV+iSPAugYfL1gQlOkXxC+E2gd/Z3/wbQIEr5RC1kyoohqlg==", "integrity": "sha512-93APxLnz6ow6TU8Mw2MC16d/Xb4k2FdjfrzIqb1finFPB/X4ejQyngEF1NkHKpggrIvR33QodW638KeN/gXEfA==",
"dependencies": { "dependencies": {
"@types/prismjs": "^1.26.0" "@types/prismjs": "^1.26.2"
} }
}, },
"node_modules/prismjs": { "node_modules/prismjs": {

View file

@ -27,7 +27,7 @@
"@ptkdev/logger": "^1.8.0", "@ptkdev/logger": "^1.8.0",
"eruda": "^3.0.1", "eruda": "^3.0.1",
"filer": "^1.4.1", "filer": "^1.4.1",
"prism-code-editor": "^1.2.2", "prism-code-editor": "^2.0.1",
"prismjs": "^1.29.0", "prismjs": "^1.29.0",
"uuid": "^9.0.1" "uuid": "^9.0.1"
} }

View file

@ -2,15 +2,11 @@ import icon from '../assets/icons/editor.png'
import { App } from '../types.ts' import { App } from '../types.ts'
import { fullEditor } from 'prism-code-editor/setups' import { fullEditor } from 'prism-code-editor/setups'
import Prism from 'prism-code-editor/prism-core' // this will also import markup, clike, javascript, typescript and jsx
import 'prismjs/components/prism-markup.js' import 'prism-code-editor/grammars/tsx'
import 'prismjs/components/prism-clike.js' import 'prism-code-editor/grammars/css-extras'
import 'prismjs/components/prism-javascript.js' import 'prism-code-editor/grammars/markdown'
import 'prismjs/components/prism-typescript.js' import 'prism-code-editor/grammars/python'
import 'prismjs/components/prism-jsx.js'
import 'prismjs/components/prism-tsx.js'
import 'prism-code-editor/languages'
import 'prism-code-editor/prism-markdown'
import { FlowWindow } from '../wm.ts' import { FlowWindow } from '../wm.ts'
@ -193,8 +189,7 @@ export default class EditorApp implements App {
const value = (await window.fs.promises.readFile(data.path)).toString() const value = (await window.fs.promises.readFile(data.path)).toString()
const editor = fullEditor( const editor = fullEditor(
Prism, win.content.querySelector<HTMLElement>('.editor')!,
win.content.querySelector('.editor'),
{ {
language, language,
theme: 'github-dark', theme: 'github-dark',
@ -204,7 +199,7 @@ export default class EditorApp implements App {
const style = document.createElement('style') const style = document.createElement('style')
style.innerHTML = ` style.innerHTML = `
.prism-editor { .prism-code-editor {
border-radius: 10px 10px 0 0; border-radius: 10px 10px 0 0;
caret-color: var(--text); caret-color: var(--text);
font-family: Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace; font-family: Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;
@ -237,7 +232,7 @@ export default class EditorApp implements App {
` `
editor.scrollContainer.appendChild(style); editor.scrollContainer.appendChild(style);
(win.content.querySelector('#find') as HTMLElement).onclick = () => { (win.content.querySelector('#find') as HTMLElement).onclick = () => {
editor.extensions.searchWidget.open() editor.extensions.searchWidget!.open()
} }
(win.content.querySelector('#save') as HTMLElement).onclick = async () => { (win.content.querySelector('#save') as HTMLElement).onclick = async () => {
await window.fs.promises.writeFile(data.path, editor.value) await window.fs.promises.writeFile(data.path, editor.value)