1{-# OPTIONS_GHC -Wall #-}
2{-# LANGUAGE OverloadedStrings #-}
5 , basics, char, string, debug
8 , jsonDecode, jsonEncode
9 , webgl, vector2, vector3, vector4, matrix4
11 , isKernel, getKernel, canonicalIsKernel
16import Prelude hiding (maybe)
17import Control.Monad (liftM2)
19import qualified Data.Text as Text
20import Data.Text (Text)
22import qualified Elm.Name as N
23import qualified Elm.Package as Pkg
32 { _package :: !Pkg.Name
38instance Eq Canonical where
39 (==) (Canonical pkg home) (Canonical pkg' home') =
40 home == home' && pkg == pkg'
47{-# NOINLINE basics #-}
49basics = Canonical Pkg.core "Basics"
54char = Canonical Pkg.core N.char
57{-# NOINLINE string #-}
59string = Canonical Pkg.core N.string
64debug = Canonical Pkg.core N.debug
73maybe = Canonical Pkg.core N.maybe
78list = Canonical Pkg.core N.list
83array = Canonical Pkg.core N.array
90{-# NOINLINE platform #-}
92platform = Canonical Pkg.core "Platform"
97cmd = Canonical Pkg.core "Platform.Cmd"
102sub = Canonical Pkg.core "Platform.Sub"
109{-# NOINLINE jsonDecode #-}
110jsonDecode :: Canonical
111jsonDecode = Canonical Pkg.core "Json.Decode"
114{-# NOINLINE jsonEncode #-}
115jsonEncode :: Canonical
116jsonEncode = Canonical Pkg.core "Json.Encode"
123{-# NOINLINE webgl #-}
125webgl = Canonical Pkg.webgl "WebGL"
128{-# NOINLINE vector2 #-}
130vector2 = Canonical Pkg.linearAlgebra "Math.Vector2"
133{-# NOINLINE vector3 #-}
135vector3 = Canonical Pkg.linearAlgebra "Math.Vector3"
138{-# NOINLINE vector4 #-}
140vector4 = Canonical Pkg.linearAlgebra "Math.Vector4"
143{-# NOINLINE matrix4 #-}
145matrix4 = Canonical Pkg.linearAlgebra "Math.Matrix4"
152canonicalToText :: Canonical -> Text
153canonicalToText (Canonical _ name) =
161isKernel :: N.Name -> Bool
163 Text.isPrefixOf "Elm.Kernel." name
166getKernel :: N.Name -> Text
171canonicalIsKernel :: Canonical -> Bool
172canonicalIsKernel (Canonical _ name) =
180instance Binary Canonical where
181 put (Canonical a b) =
185 liftM2 Canonical get get
keysesc to close
- j k
- move down, up
- enter
- open
- esc
- back, or up a level
- 1 2 3 4
- readme, files, commits, refs
- /
- filter
- y
- copy the clone command
- c
- compare the chosen commit with another (or shift-click both)
- ?
- show or hide this list