diff --git a/README.md b/README.md index 1188d60..235cc3f 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ # FlowOS Next - +
diff --git a/package-lock.json b/package-lock.json index c70befc..f1f5581 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,11 +12,11 @@ "@ptkdev/logger": "^1.8.0", "eruda": "^3.0.1", "filer": "^1.4.1", - "prism-code-editor": "^1.2.2", - "prismjs": "^1.29.0", + "prism-code-editor": "^2.0.1", "uuid": "^9.0.1" }, "devDependencies": { + "@types/node": "^20.8.7", "@types/uuid": "^9.0.5", "@types/web": "^0.0.117", "ts-standard": "^12.0.2", @@ -729,20 +729,18 @@ "dev": true }, "node_modules/@types/node": { - "version": "20.8.4", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.4.tgz", - "integrity": "sha512-ZVPnqU58giiCjSxjVUESDtdPk4QR5WQhhINbc9UBrKLU68MX5BF6kbQzTrkwbolyr0X8ChBpXfavr5mZFKZQ5A==", + "version": "20.8.7", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.7.tgz", + "integrity": "sha512-21TKHHh3eUHIi2MloeptJWALuCu5H7HQTdTrWIFReA8ad+aggoX+lRes3ex7/FtpC+sVUpFMQ+QTfYr74mruiQ==", "dev": true, - "optional": true, - "peer": true, "dependencies": { "undici-types": "~5.25.1" } }, "node_modules/@types/prismjs": { - "version": "1.26.1", - "resolved": "https://registry.npmjs.org/@types/prismjs/-/prismjs-1.26.1.tgz", - "integrity": "sha512-Q7jDsRbzcNHIQje15CS/piKhu6lMLb9jwjxSfEIi4KcFKXW23GoJMkwQiJ8VObyfx+VmUaDcJxXaWN+cTCjVog==" + "version": "1.26.2", + "resolved": "https://registry.npmjs.org/@types/prismjs/-/prismjs-1.26.2.tgz", + "integrity": "sha512-/r7Cp7iUIk7gts26mHXD66geUC+2Fo26TZYjQK6Nr4LDfi6lmdRmMqM0oPwfiMhUwoBAOFe8GstKi2pf6hZvwA==" }, "node_modules/@types/semver": { "version": "7.5.3", @@ -4768,19 +4766,11 @@ } }, "node_modules/prism-code-editor": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/prism-code-editor/-/prism-code-editor-1.2.2.tgz", - "integrity": "sha512-jmVlSNCp40BWauhzjv3GGFmXVaZkXcuVa7G/5RWV+iSPAugYfL1gQlOkXxC+E2gd/Z3/wbQIEr5RC1kyoohqlg==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/prism-code-editor/-/prism-code-editor-2.0.1.tgz", + "integrity": "sha512-93APxLnz6ow6TU8Mw2MC16d/Xb4k2FdjfrzIqb1finFPB/X4ejQyngEF1NkHKpggrIvR33QodW638KeN/gXEfA==", "dependencies": { - "@types/prismjs": "^1.26.0" - } - }, - "node_modules/prismjs": { - "version": "1.29.0", - "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz", - "integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==", - "engines": { - "node": ">=6" + "@types/prismjs": "^1.26.2" } }, "node_modules/process": { @@ -5807,9 +5797,7 @@ "version": "5.25.3", "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.25.3.tgz", "integrity": "sha512-Ga1jfYwRn7+cP9v8auvEXN1rX3sWqlayd4HP7OKk4mZWylEmu3KzXDUGrQUN6Ol7qo1gPvB2e5gX6udnyEPgdA==", - "dev": true, - "optional": true, - "peer": true + "dev": true }, "node_modules/universalify": { "version": "2.0.0", diff --git a/package.json b/package.json index afab852..0148d15 100644 --- a/package.json +++ b/package.json @@ -14,6 +14,7 @@ "author": "", "license": "MIT", "devDependencies": { + "@types/node": "^20.8.7", "@types/uuid": "^9.0.5", "@types/web": "^0.0.117", "ts-standard": "^12.0.2", @@ -26,8 +27,7 @@ "@ptkdev/logger": "^1.8.0", "eruda": "^3.0.1", "filer": "^1.4.1", - "prism-code-editor": "^1.2.2", - "prismjs": "^1.29.0", + "prism-code-editor": "^2.0.1", "uuid": "^9.0.1" } } diff --git a/src/apps/editor.ts b/src/apps/editor.ts index 334198a..ecac6c6 100644 --- a/src/apps/editor.ts +++ b/src/apps/editor.ts @@ -2,15 +2,11 @@ import icon from '../assets/icons/editor.png' import { App } from '../types.ts' import { fullEditor } from 'prism-code-editor/setups' -import Prism from 'prism-code-editor/prism-core' -import 'prismjs/components/prism-markup.js' -import 'prismjs/components/prism-clike.js' -import 'prismjs/components/prism-javascript.js' -import 'prismjs/components/prism-typescript.js' -import 'prismjs/components/prism-jsx.js' -import 'prismjs/components/prism-tsx.js' -import 'prism-code-editor/languages' -import 'prism-code-editor/prism-markdown' +// this will also import markup, clike, javascript, typescript and jsx +import 'prism-code-editor/grammars/tsx' +import 'prism-code-editor/grammars/css-extras' +import 'prism-code-editor/grammars/markdown' +import 'prism-code-editor/grammars/python' import { FlowWindow } from '../wm.ts' @@ -18,6 +14,26 @@ interface EditorConfig { path: string } +const fileLanguageMap: { + [key: string]: string +} = { + c: 'clike', + cpp: 'clike', + java: 'clike', + cs: 'clike', + ts: 'typescript', + js: 'javascript', + mjs: 'javascript', + cjs: 'javascript', + jsx: 'jsx', + tsx: 'tsx', + html: 'html', + md: 'markdown', + css: 'css', + xml: 'xml', + py: 'python' +} + export default class EditorApp implements App { meta = { name: 'Editor', @@ -58,7 +74,7 @@ export default class EditorApp implements App { -
+