feat(admin): surface Go and Rust on the runner page
SUPPORTED_LANGS 追加 go / rust,并为两者补 default_source 示例源码, 使新增语言在 /admin/runner 试运行沙箱的语言切换按钮中可见、可用。 前端语言集合此前是注册表的手动镜像副本(注释已声明需对齐), 本次保持该约定;runner.rs:15 的注释依然准确。
This commit is contained in:
parent
e48e992ca1
commit
75767661ac
@ -13,13 +13,15 @@ use crate::components::ui::{ADMIN_CARD_CLASS, BTN_PRIMARY_SM};
|
|||||||
use crate::infra::runner_config::ResourceLimits;
|
use crate::infra::runner_config::ResourceLimits;
|
||||||
|
|
||||||
/// 受支持的语言集合(与 LANGUAGES 注册表 / CODE_RUNNER_LANGUAGES 对齐)。
|
/// 受支持的语言集合(与 LANGUAGES 注册表 / CODE_RUNNER_LANGUAGES 对齐)。
|
||||||
const SUPPORTED_LANGS: &[&str] = &["python", "node"];
|
const SUPPORTED_LANGS: &[&str] = &["python", "node", "go", "rust"];
|
||||||
|
|
||||||
/// 默认示例源码(按语言)。
|
/// 默认示例源码(按语言)。
|
||||||
fn default_source(lang: &str) -> String {
|
fn default_source(lang: &str) -> String {
|
||||||
match lang {
|
match lang {
|
||||||
"python" => "print('Hello from author sandbox')\nfor i in range(3):\n print(f'line {i}')\n".to_string(),
|
"python" => "print('Hello from author sandbox')\nfor i in range(3):\n print(f'line {i}')\n".to_string(),
|
||||||
"node" => "console.log('Hello from author sandbox');\n[0,1,2].forEach(i => console.log(`line ${i}`));\n".to_string(),
|
"node" => "console.log('Hello from author sandbox');\n[0,1,2].forEach(i => console.log(`line ${i}`));\n".to_string(),
|
||||||
|
"go" => "package main\n\nimport \"fmt\"\n\nfunc main() {\n\tfmt.Println(\"Hello from author sandbox\")\n\tfor i := 0; i < 3; i++ {\n\t\tfmt.Printf(\"line %d\\n\", i)\n\t}\n}\n".to_string(),
|
||||||
|
"rust" => "fn main() {\n println!(\"Hello from author sandbox\");\n for i in 0..3 {\n println!(\"line {}\", i);\n }\n}\n".to_string(),
|
||||||
_ => String::new(),
|
_ => String::new(),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user