-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathget_lang.py
45 lines (41 loc) · 1.07 KB
/
get_lang.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
from pygments.lexers import guess_lexer
from pygments.util import ClassNotFound
def detect_language(code):
try:
lexer = guess_lexer(code)
return lexer.name
except ClassNotFound:
return "unknown"
def get_extension(code):
language_extensions = {
"Python": ".py",
"Java": ".java",
"JavaScript": ".js",
"C": ".c",
"C++": ".cpp",
"C#": ".cs",
"Ruby": ".rb",
"PHP": ".php",
"Go": ".go",
"Swift": ".swift",
"Kotlin": ".kt",
"Rust": ".rs",
"HTML": ".html",
"CSS": ".css",
"TypeScript": ".ts",
"Shell Script": ".sh",
"Perl": ".pl",
"R": ".R",
"Scala": ".scala",
"Lua": ".lua",
"Dart": ".dart",
"Objective-C": ".m",
"Elixir": ".ex",
"Haskell": ".hs",
"MATLAB": ".m",
"Groovy": ".groovy",
"Visual Basic": ".vb",
"Assembly": ".asm",
}
# return language_extensions.get(detect_language(code), "unknown1")
return '.plaintext'