@@ -6,13 +6,17 @@ import { SyntaxHighlighter } from "components/SyntaxHighlighter/SyntaxHighlighte
6
6
import { UseTabResult } from "hooks/useTab" ;
7
7
import { FC } from "react" ;
8
8
import { combineClasses } from "utils/combineClasses" ;
9
- import { TemplateVersionFiles } from "utils/templateVersion" ;
9
+ import { AllowedExtension , TemplateVersionFiles } from "utils/templateVersion" ;
10
+ import InsertDriveFileOutlined from "@mui/icons-material/InsertDriveFileOutlined" ;
10
11
11
- const iconByExtension : Record < string , JSX . Element > = {
12
+ const iconByExtension : Record < AllowedExtension , JSX . Element > = {
12
13
tf : < TerraformIcon /> ,
13
14
md : < MarkdownIcon /> ,
14
15
mkd : < MarkdownIcon /> ,
15
16
Dockerfile : < DockerIcon /> ,
17
+ protobuf : < InsertDriveFileOutlined /> ,
18
+ sh : < InsertDriveFileOutlined /> ,
19
+ tpl : < InsertDriveFileOutlined /> ,
16
20
} ;
17
21
18
22
const getExtension = ( filename : string ) => {
@@ -24,11 +28,14 @@ const getExtension = (filename: string) => {
24
28
return filename ;
25
29
} ;
26
30
27
- const languageByExtension : Record < string , string > = {
31
+ const languageByExtension : Record < AllowedExtension , string > = {
28
32
tf : "hcl" ,
29
33
md : "markdown" ,
30
34
mkd : "markdown" ,
31
35
Dockerfile : "dockerfile" ,
36
+ sh : "bash" ,
37
+ tpl : "tpl" ,
38
+ protobuf : "protobuf" ,
32
39
} ;
33
40
34
41
export const TemplateFiles : FC < {
@@ -47,7 +54,7 @@ export const TemplateFiles: FC<{
47
54
< div className = { styles . tabs } >
48
55
{ filenames . map ( ( filename , index ) => {
49
56
const tabValue = index . toString ( ) ;
50
- const extension = getExtension ( filename ) ;
57
+ const extension = getExtension ( filename ) as AllowedExtension ;
51
58
const icon = iconByExtension [ extension ] ;
52
59
const hasDiff =
53
60
previousFiles &&
@@ -76,7 +83,11 @@ export const TemplateFiles: FC<{
76
83
< SyntaxHighlighter
77
84
value = { currentFile }
78
85
compareWith = { previousFile }
79
- language = { languageByExtension [ getExtension ( selectedFilename ) ] }
86
+ language = {
87
+ languageByExtension [
88
+ getExtension ( selectedFilename ) as AllowedExtension
89
+ ]
90
+ }
80
91
/>
81
92
</ div >
82
93
) ;
0 commit comments