forked from ajaxorg/ace
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathhaskell.snippets.js
83 lines (81 loc) · 1.81 KB
/
haskell.snippets.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
module.exports = `snippet lang
{-# LANGUAGE \${1:OverloadedStrings} #-}
snippet info
-- |
-- Module : \${1:Module.Namespace}
-- Copyright : \${2:Author} \${3:2011-2012}
-- License : \${4:BSD3}
--
-- Maintainer : \${5:[email protected]}
-- Stability : \${6:experimental}
-- Portability : \${7:unknown}
--
-- \${8:Description}
--
snippet import
import \${1:Data.Text}
snippet import2
import \${1:Data.Text} (\${2:head})
snippet importq
import qualified \${1:Data.Text} as \${2:T}
snippet inst
instance \${1:Monoid} \${2:Type} where
\${3}
snippet type
type \${1:Type} = \${2:Type}
snippet data
data \${1:Type} = \${2:\$1} \${3:Int}
snippet newtype
newtype \${1:Type} = \${2:\$1} \${3:Int}
snippet class
class \${1:Class} a where
\${2}
snippet module
module \`substitute(substitute(expand('%:r'), '[/\\\\]','.','g'),'^\\%(\\l*\\.\\)\\?','','')\` (
) where
\`expand('%') =~ 'Main' ? "\\n\\nmain = do\\n print \\"hello world\\"" : ""\`
snippet const
\${1:name} :: \${2:a}
\$1 = \${3:undefined}
snippet fn
\${1:fn} :: \${2:a} -> \${3:a}
\$1 \${4} = \${5:undefined}
snippet fn2
\${1:fn} :: \${2:a} -> \${3:a} -> \${4:a}
\$1 \${5} = \${6:undefined}
snippet ap
\${1:map} \${2:fn} \${3:list}
snippet do
do
snippet λ
\\\${1:x} -> \${2}
snippet \\
\\\${1:x} -> \${2}
snippet <-
\${1:a} <- \${2:m a}
snippet ←
\${1:a} <- \${2:m a}
snippet ->
\${1:m a} -> \${2:a}
snippet →
\${1:m a} -> \${2:a}
snippet tup
(\${1:a}, \${2:b})
snippet tup2
(\${1:a}, \${2:b}, \${3:c})
snippet tup3
(\${1:a}, \${2:b}, \${3:c}, \${4:d})
snippet rec
\${1:Record} { \${2:recFieldA} = \${3:undefined}
, \${4:recFieldB} = \${5:undefined}
}
snippet case
case \${1:something} of
\${2} -> \${3}
snippet let
let \${1} = \${2}
in \${3}
snippet where
where
\${1:fn} = \${2:undefined}
`;