fix: feat add rust lang
This commit is contained in:
parent
937fbb07bf
commit
e2ac9f27f0
@ -3,9 +3,11 @@ import AceEditor from "react-ace";
|
||||
import "ace-builds/src-noconflict/mode-c_cpp";
|
||||
import "ace-builds/src-noconflict/mode-python";
|
||||
import "ace-builds/src-noconflict/mode-golang";
|
||||
import "ace-builds/src-noconflict/mode-rust";
|
||||
import "ace-builds/src-noconflict/snippets/c_cpp";
|
||||
import "ace-builds/src-noconflict/snippets/python";
|
||||
import "ace-builds/src-noconflict/snippets/golang";
|
||||
import "ace-builds/src-noconflict/snippets/rust";
|
||||
|
||||
import "ace-builds/src-noconflict/theme-textmate";
|
||||
import "ace-builds/src-noconflict/ext-language_tools";
|
||||
|
27
src/components/lang.ts
Normal file
27
src/components/lang.ts
Normal file
@ -0,0 +1,27 @@
|
||||
export const AvailLang = [
|
||||
{ value: "cpp", label: "C++" },
|
||||
{ value: "c", label: "C" },
|
||||
{ value: "python3", label: "Python3" },
|
||||
{ value: "pypy3", label: "PyPy3" },
|
||||
{ value: "go", label: "Go" },
|
||||
{ value: "rust", label: "Rust" },
|
||||
];
|
||||
|
||||
export const LangToPrism: { [lang: string]: string } = {
|
||||
cpp: "cpp",
|
||||
c: "c",
|
||||
python3: "python",
|
||||
pypy3: "python",
|
||||
go: "go",
|
||||
rust: "rust",
|
||||
};
|
||||
|
||||
// also check includes in components/editor.tsx
|
||||
export const LangToAce: { [lang: string]: string } = {
|
||||
cpp: "c_cpp",
|
||||
c: "c_cpp",
|
||||
python3: "python",
|
||||
pypy3: "python",
|
||||
go: "golang",
|
||||
rust: "rust",
|
||||
};
|
@ -3,13 +3,7 @@ import { Link } from "react-router-dom";
|
||||
import { Collapse, CollapseProps, Descriptions, Select, Space, Tag } from "antd";
|
||||
|
||||
import { DetailsResp, RuntimeInfo } from "../api/problem.ts";
|
||||
|
||||
const AvailLang = [
|
||||
{ value: "cpp", label: "C++" },
|
||||
{ value: "c", label: "C" },
|
||||
{ value: "python", label: "Python" },
|
||||
{ value: "golang", label: "Go" },
|
||||
];
|
||||
import { AvailLang } from "./lang.ts";
|
||||
|
||||
interface ProblemDetailsProps {
|
||||
details: DetailsResp;
|
||||
|
@ -10,6 +10,7 @@ import { useAuth } from "../components/hook.ts";
|
||||
import { DetailsResp } from "../api/problem.ts";
|
||||
import { ProblemLoader } from "../api/loader.ts";
|
||||
import { StatusApi, StatusInfo, Verdict } from "../api/status.ts";
|
||||
import { LangToPrism } from "../components/lang.ts";
|
||||
|
||||
const { Title, Paragraph } = Typography;
|
||||
|
||||
@ -101,7 +102,7 @@ export default function DetailsPage() {
|
||||
const showSourceCode = status === undefined ? false : status.submission.code !== "";
|
||||
const sourceCode = (
|
||||
<PrismAsync
|
||||
language={showSourceCode ? status?.submission.language || "text" : "text"}
|
||||
language={showSourceCode && status !== undefined ? LangToPrism[status.submission.language] : "text"}
|
||||
wrapLines={true}
|
||||
showLineNumbers={true}
|
||||
wrapLongLines={true}
|
||||
|
@ -9,13 +9,7 @@ import ProblemDetails from "../components/problem-details.tsx";
|
||||
import { useAuth } from "../components/hook.ts";
|
||||
import { DetailsResp } from "../api/problem.ts";
|
||||
import { SubmissionApi } from "../api/submission.ts";
|
||||
|
||||
const LangToMode: { [lang: string]: string } = {
|
||||
cpp: "c_cpp",
|
||||
c: "c_cpp",
|
||||
python: "python",
|
||||
golang: "golang",
|
||||
};
|
||||
import { LangToAce } from "../components/lang.ts";
|
||||
|
||||
export default function SubmitPage() {
|
||||
const details = useLoaderData() as DetailsResp;
|
||||
@ -67,7 +61,7 @@ export default function SubmitPage() {
|
||||
];
|
||||
|
||||
const codeEditor = Editor({
|
||||
mode: LangToMode[lang],
|
||||
mode: LangToAce[lang],
|
||||
onChange: setCode,
|
||||
});
|
||||
|
||||
|
Reference in New Issue
Block a user