 '.source.haskell':
   'Definition':
     'prefix': '='
-    'body': '${1:name} ${2:pattern}${2/.+/ /}= ${0:definition}'
+    'body': '${1:name} ${2:pattern} = ${0:definition}'
   'Function':
     'prefix': 'fun'
-    'body': '${1:name} :: ${2:Type}\n${1} ${3:pattern}${3/.+/ /}${4/.+/= /}${4:definition}'
+    'body': '''
+      ${1:name} :: ${2:Type}
+      ${1} ${3:pattern} = ${4:definition}
+      '''
   '#!/usr/bin/env…':
     'prefix': '#!'
     'body': '#!/usr/bin/env ${1:runhaskell}\n'

    'body': 'type ${1:Type} = ${0:Other}'
  'where …':
    'prefix': 'where'
    'body': 'where\n\t${0:definitions}'
'.source.haskell:not(.comment)':
  'Guard':
    'prefix': '|'

'.source.haskell .constant.language.nil':
  'List Comprehension':
    'prefix': '['
    'body': '[ ${1:expression} | ${2:${3:name} <- ${4:expression}}$0]'
'.source.haskell .meta.function.type':
  'Type Constraint':
    'prefix': '='
