mirror of
				https://github.com/KevinMidboe/linguist.git
				synced 2025-10-29 17:50:22 +00:00 
			
		
		
		
	Soften memory pressure
This commit is contained in:
		| @@ -241,22 +241,26 @@ module Linguist | ||||
|       return lines[0].include?("Code generated by") | ||||
|     end | ||||
|  | ||||
|     PROTOBUF_EXTENSIONS = ['.py', '.java', '.h', '.cc', '.cpp'] | ||||
|  | ||||
|     # Internal: Is the blob a C++, Java or Python source file generated by the | ||||
|     # Protocol Buffer compiler? | ||||
|     # | ||||
|     # Returns true of false. | ||||
|     def generated_protocol_buffer? | ||||
|       return false unless ['.py', '.java', '.h', '.cc', '.cpp'].include?(extname) | ||||
|       return false unless PROTOBUF_EXTENSIONS.include?(extname) | ||||
|       return false unless lines.count > 1 | ||||
|  | ||||
|       return lines[0].include?("Generated by the protocol buffer compiler.  DO NOT EDIT!") | ||||
|     end | ||||
|  | ||||
|     APACHE_THRIFT_EXTENSIONS = ['.rb', '.py', '.go', '.js', '.m', '.java', '.h', '.cc', '.cpp'] | ||||
|  | ||||
|     # Internal: Is the blob generated by Apache Thrift compiler? | ||||
|     # | ||||
|     # Returns true or false | ||||
|     def generated_apache_thrift? | ||||
|       return false unless ['.rb', '.py', '.go', '.js', '.m', '.java', '.h', '.cc', '.cpp'].include?(extname) | ||||
|       return false unless APACHE_THRIFT_EXTENSIONS.include?(extname) | ||||
|       return false unless lines.count > 1 | ||||
|  | ||||
|       return lines[0].include?("Autogenerated by Thrift Compiler") || lines[1].include?("Autogenerated by Thrift Compiler") | ||||
|   | ||||
| @@ -56,7 +56,8 @@ module Linguist | ||||
|  | ||||
|     # Internal: Check if this heuristic matches the candidate languages. | ||||
|     def matches?(filename) | ||||
|       @extensions.any? { |ext| filename.downcase.end_with?(ext) } | ||||
|       filename = filename.downcase | ||||
|       @extensions.any? { |ext| filename.end_with?(ext) } | ||||
|     end | ||||
|  | ||||
|     # Internal: Perform the heuristic | ||||
|   | ||||
| @@ -79,6 +79,10 @@ module Linguist | ||||
|       @size | ||||
|     end | ||||
|  | ||||
|     def cleanup! | ||||
|       @data.clear if @data | ||||
|     end | ||||
|  | ||||
|     protected | ||||
|  | ||||
|     # Returns true if the attribute is present and not the string "false". | ||||
|   | ||||
| @@ -157,8 +157,11 @@ module Linguist | ||||
|  | ||||
|           blob = Linguist::LazyBlob.new(repository, delta.new_file[:oid], new, mode.to_s(8)) | ||||
|  | ||||
|           next unless blob.include_in_language_stats? | ||||
|           file_map[new] = [blob.language.group.name, blob.size] | ||||
|           if blob.include_in_language_stats? | ||||
|             file_map[new] = [blob.language.group.name, blob.size] | ||||
|           end | ||||
|  | ||||
|           blob.cleanup! | ||||
|         end | ||||
|       end | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user