@@ -40,10 +40,11 @@ def preload!
4040 end
4141 end
4242
43- def render ( filename , content = nil )
43+ def render ( filename , content = nil , symlink = nil )
4444 content ||= File . read ( filename )
45+ symlink = ( File . symlink? ( filename ) rescue false ) if symlink . nil?
4546
46- if impl = renderer ( filename , content )
47+ if impl = renderer ( filename , content , symlink )
4748 impl . render ( filename , content )
4849 else
4950 content
@@ -79,20 +80,20 @@ def command(symbol, command, regexp, languages, name, &block)
7980 markup_impl ( symbol , CommandImplementation . new ( regexp , languages , command , name , &block ) )
8081 end
8182
82- def can_render? ( filename , content )
83- !!renderer ( filename , content )
83+ def can_render? ( filename , content , symlink = false )
84+ !!renderer ( filename , content , symlink )
8485 end
8586
86- def renderer ( filename , content )
87- language = language ( filename , content )
87+ def renderer ( filename , content , symlink = false )
88+ language = language ( filename , content , symlink )
8889 markup_impls . find { |impl |
8990 impl . match? ( filename , language )
9091 }
9192 end
9293
93- def language ( filename , content )
94+ def language ( filename , content , symlink = false )
9495 if defined? ( ::Linguist )
95- blob = Linguist ::Blob . new ( filename , content )
96+ blob = Linguist ::Blob . new ( filename , content , symlink : symlink )
9697 return Linguist . detect ( blob , allow_empty : true )
9798 end
9899 end
0 commit comments