Browse Source

Slight improvement to last commit

master
eidheim 3 months ago
parent
commit
18c119f651
  1. 11
      src/source.cpp

11
src/source.cpp

@ -106,16 +106,11 @@ Glib::RefPtr<Gsv::Language> Source::guess_language(const boost::filesystem::path
else if(language->get_id() == "octave" && extension == ".m") {
// .m is used for both Octave and Objective-C, so try to differentiate
std::ifstream input(file_path.string(), std::ios::binary);
std::string buffer(256, '\0');
input.read(&buffer[0], static_cast<std::streamsize>(buffer.size()));
buffer.resize(static_cast<std::size_t>(input.gcount()));
if(input && (buffer.find("#import ") != std::string::npos ||
buffer.find("@interface ") != std::string::npos ||
buffer.find("/*") != std::string::npos ||
buffer.find("//") != std::string::npos)) {
std::string line;
if(input && std::getline(input, line) &&
(starts_with(line, "#import ") || starts_with(line, "@interface ") || starts_with(line, "/*") || starts_with(line, "//")))
language = language_manager->get_language("objc");
}
}
return language;
}

Loading…
Cancel
Save