-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtypeFile.cpp
More file actions
63 lines (58 loc) · 1.68 KB
/
typeFile.cpp
File metadata and controls
63 lines (58 loc) · 1.68 KB
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#include "typeFile.h"
#include <QFileInfo>
#include <QStringList>
QString MonacoLanguage::fromExtension(const QString& filenameOrExtension)
{
QString ext = QFileInfo(filenameOrExtension).suffix().toLower();
static QHash<QString, QString> extToLang = initMapping();
return extToLang.value(ext, "plaintext");
}
bool MonacoLanguage::isVideo(const QString& filenameOrExtension)
{
QString ext = QFileInfo(filenameOrExtension).suffix().toLower();
QStringList movieext;
movieext << "mov" << "mp4" << "mpg" <<"mpeg" <<"ogg" <<"wav"<<"mp3" ;
return movieext.contains(ext);
}
bool MonacoLanguage::isMarkdown(const QString& filenameOrExtension)
{
QString ext = QFileInfo(filenameOrExtension).suffix().toLower();
return ext == "md";
}
QHash<QString, QString> MonacoLanguage::initMapping()
{
return {
{ "cpp", "cpp" },
{ "c", "c" },
{ "h", "cpp" },
{ "hpp", "cpp" },
{ "py", "python" },
{ "js", "javascript" },
{ "ts", "typescript" },
{ "json", "json" },
{ "html", "html" },
{ "htm", "html" },
{ "css", "css" },
{ "java", "java" },
{ "cs", "csharp" },
{ "xml", "xml" },
{ "yaml", "yaml" },
{ "yml", "yaml" },
{ "md", "markdown" },
{ "sh", "shell" },
{ "bat", "bat" },
{ "txt", "plaintext" },
{ "sql", "sql" },
{ "ini", "ini" },
{ "go", "go" },
{ "rs", "rust" },
{ "lua", "lua" },
{ "php", "php" },
{ "py", "python" },
{ "html", "html" },
{ "swift", "swift" },
{ "kt", "kotlin" },
{ "scala", "scala" },
{ "dart", "dart" }
};
}