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 {
-