Browse Source

Implemented removal of .bak .in file extensions for language detection

This allows e.g. to detect my_code.cpp.bak as cpp and Makefile.in as makefile.
merge-requests/413/head
doe300 3 years ago
parent
commit
4307048ed8
  1. 9
      src/source.cpp

9
src/source.cpp

@ -57,8 +57,13 @@ Glib::RefPtr<Gsv::Language> Source::guess_language(const boost::filesystem::path
if(result_uncertain)
content_type.clear();
auto language = language_manager->guess_language(filename, content_type);
auto extension = file_path.extension().string();
if(!language && (extension == ".in" || extension == ".bak")) {
auto path_copy = file_path;
path_copy.replace_extension();
return guess_language(path_copy);
}
if(!language) {
auto extension = file_path.extension().string();
if(filename == "CMakeLists.txt")
language = language_manager->get_language("cmake");
else if(filename == "meson.build")
@ -90,7 +95,7 @@ Glib::RefPtr<Gsv::Language> Source::guess_language(const boost::filesystem::path
}
}
else if(language->get_id() == "cuda") {
if(file_path.extension() == ".cuh")
if(extension == ".cuh")
language = language_manager->get_language("cpphdr");
else
language = language_manager->get_language("cpp");

Loading…
Cancel
Save