slim code highlight.

This commit is contained in:
2023-04-18 13:59:52 +08:00
parent 76618660d5
commit 80c20a8d08
7 changed files with 14 additions and 68 deletions

View File

@@ -8,6 +8,11 @@
<script>
this.globalThis || (this.globalThis = window)
</script>
<style>
body {
height: 100vh;
}
</style>
</head>
<body>
<div id="app"></div>

43
package-lock.json generated
View File

@@ -9,8 +9,6 @@
"version": "0.0.1",
"dependencies": {
"@codemirror/lang-cpp": "^6.0.2",
"@codemirror/lang-java": "^6.0.1",
"@codemirror/lang-javascript": "^6.1.5",
"@codemirror/lang-python": "^6.1.2",
"@element-plus/icons-vue": "^2.1.0",
"@vueuse/core": "^9.13.0",
@@ -1764,29 +1762,6 @@
"@lezer/cpp": "^1.0.0"
}
},
"node_modules/@codemirror/lang-java": {
"version": "6.0.1",
"resolved": "https://registry.npmmirror.com/@codemirror/lang-java/-/lang-java-6.0.1.tgz",
"integrity": "sha512-OOnmhH67h97jHzCuFaIEspbmsT98fNdhVhmA3zCxW0cn7l8rChDhZtwiwJ/JOKXgfm4J+ELxQihxaI7bj7mJRg==",
"dependencies": {
"@codemirror/language": "^6.0.0",
"@lezer/java": "^1.0.0"
}
},
"node_modules/@codemirror/lang-javascript": {
"version": "6.1.5",
"resolved": "https://registry.npmmirror.com/@codemirror/lang-javascript/-/lang-javascript-6.1.5.tgz",
"integrity": "sha512-BS2SmI1IXxWqMPhbJ0DC3eAHAK9V9XvdHMSqwvTBnmh5xFALt+cVDg7XE/A1dxdxzXYXyeqGddgqx1rQv7AYaw==",
"dependencies": {
"@codemirror/autocomplete": "^6.0.0",
"@codemirror/language": "^6.6.0",
"@codemirror/lint": "^6.0.0",
"@codemirror/state": "^6.0.0",
"@codemirror/view": "^6.0.0",
"@lezer/common": "^1.0.0",
"@lezer/javascript": "^1.0.0"
}
},
"node_modules/@codemirror/lang-python": {
"version": "6.1.2",
"resolved": "https://registry.npmmirror.com/@codemirror/lang-python/-/lang-python-6.1.2.tgz",
@@ -2358,24 +2333,6 @@
"@lezer/common": "^1.0.0"
}
},
"node_modules/@lezer/java": {
"version": "1.0.3",
"resolved": "https://registry.npmmirror.com/@lezer/java/-/java-1.0.3.tgz",
"integrity": "sha512-kKN17wmgP1cgHb8juR4pwVSPMKkDMzY/lAPbBsZ1fpXwbk2sg3N1kIrf0q+LefxgrANaQb/eNO7+m2QPruTFng==",
"dependencies": {
"@lezer/highlight": "^1.0.0",
"@lezer/lr": "^1.0.0"
}
},
"node_modules/@lezer/javascript": {
"version": "1.4.2",
"resolved": "https://registry.npmmirror.com/@lezer/javascript/-/javascript-1.4.2.tgz",
"integrity": "sha512-77qdAD4zanmImPiAu4ibrMUzRc79UHoccdPa+Ey5iwS891TAkhnMAodUe17T7zV7tnF7e9HXM0pfmjoGEhrppg==",
"dependencies": {
"@lezer/highlight": "^1.1.3",
"@lezer/lr": "^1.3.0"
}
},
"node_modules/@lezer/lr": {
"version": "1.3.3",
"resolved": "https://registry.npmmirror.com/@lezer/lr/-/lr-1.3.3.tgz",

View File

@@ -11,8 +11,6 @@
},
"dependencies": {
"@codemirror/lang-cpp": "^6.0.2",
"@codemirror/lang-java": "^6.0.1",
"@codemirror/lang-javascript": "^6.1.5",
"@codemirror/lang-python": "^6.1.2",
"@element-plus/icons-vue": "^2.1.0",
"@vueuse/core": "^9.13.0",

View File

@@ -4,20 +4,12 @@ import { zhCN, dateZhCN, darkTheme } from "naive-ui"
import { isDark } from "./shared/composables/dark"
import hljs from "highlight.js/lib/core"
import c from "highlight.js/lib/languages/c"
import cpp from "highlight.js/lib/languages/c"
import java from "highlight.js/lib/languages/java"
import python from "highlight.js/lib/languages/python"
import javascript from "highlight.js/lib/languages/javascript"
import go from "highlight.js/lib/languages/go"
const theme = computed(() => (isDark.value ? darkTheme : null))
hljs.registerLanguage("c", c)
hljs.registerLanguage("cpp", cpp)
hljs.registerLanguage("java", java)
hljs.registerLanguage("python", python)
hljs.registerLanguage("javascript", javascript)
hljs.registerLanguage("go", go)
</script>
<template>

View File

@@ -88,10 +88,6 @@ const difficultyOptions: SelectOption[] = [
const languageOptions = [
{ label: LANGUAGE_SHOW_VALUE["C"], value: "C" },
{ label: LANGUAGE_SHOW_VALUE["Python3"], value: "Python3" },
{ label: LANGUAGE_SHOW_VALUE["C++"], value: "C++" },
{ label: LANGUAGE_SHOW_VALUE["Java"], value: "Java" },
{ label: LANGUAGE_SHOW_VALUE["JavaScript"], value: "JavaScript" },
{ label: LANGUAGE_SHOW_VALUE["Golang"], value: "Golang" },
]
const tagOptions = computed(() =>
@@ -461,7 +457,7 @@ watch([fromExistingTags, newTags], (tags) => {
</template>
</n-alert>
<n-space justify="space-between">
<n-form inline label-placement="left">
<n-form inline label-placement="left" :show-feedback="false">
<n-form-item label="语言">
<n-checkbox-group v-model:value="problem.languages">
<n-space align="center">

View File

@@ -248,10 +248,10 @@ const columns = computed(() => {
<n-input clearable @change="search" />
</n-form-item>
<n-form-item>
<n-space>
<n-button @click="search(query.username)">搜索</n-button>
<n-button @click="clear">重置</n-button>
</n-space>
<n-button @click="search(query.username)">搜索</n-button>
</n-form-item>
<n-form-item>
<n-button @click="clear">重置</n-button>
</n-form-item>
</n-form>
</n-space>

View File

@@ -2,8 +2,6 @@
import { Codemirror } from "vue-codemirror"
import { cpp } from "@codemirror/lang-cpp"
import { python } from "@codemirror/lang-python"
import { java } from "@codemirror/lang-java"
import { javascript } from "@codemirror/lang-javascript"
import { EditorView } from "@codemirror/view"
import { oneDark } from "./themes/oneDark"
import { smoothy } from "./themes/smoothy"
@@ -42,10 +40,10 @@ watch(
const emit = defineEmits(["update:modelValue"])
const lang = computed(() => {
if (props.language === "C" || props.language === "C++") return cpp()
if (props.language === "Java") return java()
if (props.language === "JavaScript") return javascript()
return python()
if (props.language === "Python3" || props.language === "Python2") {
return python()
}
return cpp()
})
function onChange(v: string) {