From 13072a00a1888606ca9dfc16a33618a586cfbe6a Mon Sep 17 00:00:00 2001 From: landaiqing Date: Thu, 19 Jun 2025 20:23:20 +0800 Subject: [PATCH] :sparkles: Add formatting method --- frontend/package-lock.json | 16 ++ frontend/package.json | 1 + .../toolbar/BlockLanguageSelector.vue | 210 +++++++++++++++++- frontend/src/components/toolbar/Toolbar.vue | 210 +++++++++++++++--- frontend/src/i18n/locales/en-US.ts | 4 +- frontend/src/i18n/locales/zh-CN.ts | 4 +- frontend/src/stores/themeStore.ts | 2 +- .../editor/extensions/codeblock/commands.ts | 37 ++- .../editor/extensions/codeblock/formatCode.ts | 96 ++++++++ .../editor/extensions/codeblock/index.ts | 10 + .../codeblock/lang-parser/codeblock.grammar | 7 +- .../codeblock/lang-parser/languages.ts | 53 ++++- .../codeblock/lang-parser/parser.js | 8 +- .../language-detection/autodetect.ts | 42 +--- .../editor/extensions/codeblock/types.ts | 2 + 15 files changed, 596 insertions(+), 106 deletions(-) create mode 100644 frontend/src/views/editor/extensions/codeblock/formatCode.ts diff --git a/frontend/package-lock.json b/frontend/package-lock.json index a7de5e1..5937771 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -49,6 +49,7 @@ "hsl-matcher": "^1.2.4", "lezer": "^0.13.5", "pinia": "^3.0.3", + "prettier": "^3.5.3", "sass": "^1.89.2", "uuid": "^11.1.0", "vue": "^3.5.17", @@ -4288,6 +4289,21 @@ "node": ">= 0.8.0" } }, + "node_modules/prettier": { + "version": "3.5.3", + "resolved": "https://registry.npmmirror.com/prettier/-/prettier-3.5.3.tgz", + "integrity": "sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw==", + "license": "MIT", + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, "node_modules/punycode": { "version": "2.3.1", "resolved": "https://registry.npmmirror.com/punycode/-/punycode-2.3.1.tgz", diff --git a/frontend/package.json b/frontend/package.json index 48afbe8..3a1c606 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -53,6 +53,7 @@ "hsl-matcher": "^1.2.4", "lezer": "^0.13.5", "pinia": "^3.0.3", + "prettier": "^3.5.3", "sass": "^1.89.2", "uuid": "^11.1.0", "vue": "^3.5.17", diff --git a/frontend/src/components/toolbar/BlockLanguageSelector.vue b/frontend/src/components/toolbar/BlockLanguageSelector.vue index 3a58fe9..ccf07cb 100644 --- a/frontend/src/components/toolbar/BlockLanguageSelector.vue +++ b/frontend/src/components/toolbar/BlockLanguageSelector.vue @@ -1,9 +1,13 @@