Skip to content

Commit 3d861e8

Browse files
committed
Pass through symlink info
See github-linguist/linguist#3946
1 parent 968ba4e commit 3d861e8

File tree

2 files changed

+10
-9
lines changed

2 files changed

+10
-9
lines changed

lib/github/markup.rb

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -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

test/markup_test.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ def test_raises_error_if_command_exits_non_zero
104104
GitHub::Markup.command(:doesntmatter, 'test/fixtures/fail.sh', /fail/, ['Java'], 'fail')
105105
assert GitHub::Markup.can_render?('README.java', 'stop swallowing errors')
106106
begin
107-
GitHub::Markup.render('README.java', "stop swallowing errors")
107+
GitHub::Markup.render('README.java', "stop swallowing errors", false)
108108
rescue GitHub::Markup::CommandError => e
109109
assert_equal "failure message", e.message
110110
else

0 commit comments

Comments
 (0)