Dateien nach "/" hochladen
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
use crate::language::Language;
|
||||
use std::path::Path;
|
||||
|
||||
const DOCKERFILE_KEY_WORD: &str = "Dockerfile";
|
||||
const DOCKER_COMPOSE_KEYWORD: &str = "docker-compose.yml";
|
||||
|
||||
pub fn detect_language(filename: &str) -> Language {
|
||||
if filename.is_empty() {
|
||||
return Language::Plain;
|
||||
}
|
||||
let path = Path::new(filename);
|
||||
if let Some(ext) = path.extension().and_then(|s| s.to_str()) {
|
||||
match ext {
|
||||
"py" => return Language::Python,
|
||||
"js" => return Language::JavaScript,
|
||||
"c" | "h" | "cpp" | "ino" => return Language::Clang,
|
||||
"md" => return Language::Markdown,
|
||||
"html" | "htm" | "xml" => return Language::Html,
|
||||
"sh" => return Language::Shell,
|
||||
"asm" => return Language::AsmX86,
|
||||
"a51" => return Language::Asm8051,
|
||||
"sql" => return Language::Sql,
|
||||
"rs" => return Language::Rust,
|
||||
"log" => return Language::LogFile,
|
||||
"java" => return Language::LangJava,
|
||||
_ => {}
|
||||
}
|
||||
}
|
||||
let base = path.file_name().and_then(|s| s.to_str()).unwrap_or(filename);
|
||||
if base.eq_ignore_ascii_case(DOCKERFILE_KEY_WORD) {
|
||||
return Language::Docker;
|
||||
}
|
||||
if base.eq_ignore_ascii_case(DOCKER_COMPOSE_KEYWORD) {
|
||||
return Language::LangDockerCompose;
|
||||
}
|
||||
Language::Plain
|
||||
}
|
||||
Reference in New Issue
Block a user