Class: Linguist::Strategy::Manpage
- Inherits:
-
Object
- Object
- Linguist::Strategy::Manpage
- Defined in:
- lib/linguist/strategy/manpage.rb
Overview
Detects man pages based on numeric file extensions with group suffixes.
Constant Summary collapse
- MANPAGE_EXTS =
Public: RegExp for matching conventional manpage extensions
This is the same expression as that used by ‘github/markup`
/\.(?:[1-9](?![0-9])[a-z_0-9]*|0p|n|man|mdoc)(?:\.in)?$/i
Class Method Summary collapse
-
.call(blob, candidates = []) ⇒ Object
Public: Use the file extension to match a possible man page, only if no other candidates were previously identified.
Class Method Details
.call(blob, candidates = []) ⇒ Object
Public: Use the file extension to match a possible man page, only if no other candidates were previously identified.
blob - An object that quacks like a blob. candidates - A list of candidate languages.
Examples
Manpage.call(FileBlob.new("path/to/file"))
Returns:
1. The list of candidates if it wasn't empty
2. An array of ["Roff", "Roff Manpage"] if the file's
extension matches a valid-looking man(1) section
3. An empty Array for anything else
27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/linguist/strategy/manpage.rb', line 27 def self.call(blob, candidates = []) return candidates if candidates.any? if blob.name =~ MANPAGE_EXTS return [ Language["Roff Manpage"], Language["Roff"], # Language["Text"] TODO: Uncomment once #4258 gets merged ]; end [] end |