From 9711207db13cc20a819f86ad2c8280aec588bd67 Mon Sep 17 00:00:00 2001 From: BrunoQuaresma Date: Fri, 16 Feb 2024 12:45:02 +0000 Subject: [PATCH] fix(site): fix language detection for Dockerfile --- .../templates/TemplateFiles/TemplateFiles.tsx | 36 +++++++++++-------- 1 file changed, 22 insertions(+), 14 deletions(-) diff --git a/site/src/modules/templates/TemplateFiles/TemplateFiles.tsx b/site/src/modules/templates/TemplateFiles/TemplateFiles.tsx index d9b4baf289faa..a46aef5bd76b3 100644 --- a/site/src/modules/templates/TemplateFiles/TemplateFiles.tsx +++ b/site/src/modules/templates/TemplateFiles/TemplateFiles.tsx @@ -9,17 +9,6 @@ import { TemplateFileTree } from "./TemplateFileTree"; import { Link } from "react-router-dom"; import EditOutlined from "@mui/icons-material/EditOutlined"; -const languageByExtension: Record = { - tf: "hcl", - hcl: "hcl", - md: "markdown", - mkd: "markdown", - Dockerfile: "dockerfile", - sh: "shell", - tpl: "tpl", - protobuf: "protobuf", - nix: "dockerfile", -}; interface TemplateFilesProps { currentFiles: TemplateVersionFiles; /** @@ -135,9 +124,7 @@ export const TemplateFiles: FC = ({ = ({ ); }; +const languageByExtension: Record = { + tf: "hcl", + hcl: "hcl", + md: "markdown", + mkd: "markdown", + sh: "shell", + tpl: "tpl", + protobuf: "protobuf", + nix: "dockerfile", + json: "json", +}; + +const getLanguage = (filename: string) => { + // Dockerfile can be like images/Dockerfile or Dockerfile.java + if (filename.includes("Dockerfile")) { + return "dockerfile"; + } + const extension = filename.split(".").pop(); + return languageByExtension[extension ?? ""]; +}; + const numberOfLines = (content: string) => { return content.split("\n").length; };