diff --git a/lib/linguist.rb b/lib/linguist.rb index c6733a67..c2065bf8 100644 --- a/lib/linguist.rb +++ b/lib/linguist.rb @@ -15,9 +15,9 @@ class << Linguist # see Linguist::LazyBlob and Linguist::FileBlob for examples # # Returns Language or nil. - def detect(blob) + def detect(blob, allow_empty: false) # Bail early if the blob is binary or empty. - return nil if blob.likely_binary? || blob.binary? || blob.empty? + return nil if blob.likely_binary? || blob.binary? || (!allow_empty && blob.empty?) Linguist.instrument("linguist.detection", :blob => blob) do # Call each strategy until one candidate is returned. diff --git a/lib/linguist/heuristics.rb b/lib/linguist/heuristics.rb index ab8c4599..35052ad3 100644 --- a/lib/linguist/heuristics.rb +++ b/lib/linguist/heuristics.rb @@ -264,6 +264,8 @@ module Linguist Language["Markdown"] elsif /^(;;|\(define_)/.match(data) Language["GCC machine description"] + else + Language["Markdown"] end end diff --git a/samples/Markdown/minimal.md b/samples/Markdown/minimal.md new file mode 100644 index 00000000..0f39e489 --- /dev/null +++ b/samples/Markdown/minimal.md @@ -0,0 +1 @@ +_This_ is a **Markdown** readme. \ No newline at end of file