class HaskellQueryHook

Public Instance Methods

command_line(filename) click to toggle source
# File lib/query_hook.rb, line 12
def command_line(filename)
  ['bash', '-c', "ghci #{filename} <<< $0", request.query]
end
compile_file_content(req) click to toggle source
# File lib/query_hook.rb, line 2
  def compile_file_content(req)
    <<EOF
{-# OPTIONS_GHC -fdefer-type-errors #-}
import Text.Show.Functions
import Data.List
#{req.content}
#{req.extra}
EOF
  end
passed_query_regex() click to toggle source
# File lib/query_hook.rb, line 26
def passed_query_regex
  /(?:\*Main|Prelude)> (.*)/
end
post_process_file(_file, result, status) click to toggle source
# File lib/query_hook.rb, line 16
def post_process_file(_file, result, status)
  result = result.split("\n")[3..-2].join("\n")

  if passed_query_regex =~ result
    [$1, status]
  else
    [result, :failed]
  end
end