#!/usr/bin/env ruby require 'linguist' require 'pygments' stdin = ARGF.file filename = stdin.readline.strip # Read first line (filename). contents = stdin.read # Read rest (code). detected = Linguist::FileBlob.new(filename).language # Debugging #puts "File #{filename}" #puts "Code: #{contents}" #print "Language: " #pp detected html = Pygments.highlight(contents, :lexer => detected.name, :formatter => 'html', :options => { :encoding => 'utf-8', :linenos => 'table', :lineanchors => 'loc', :anchorlinenos => true}) puts html