Add 'users/glittershark/emacs.d/' from commit '69ee53bffa'

git-subtree-dir: users/glittershark/emacs.d
git-subtree-mainline: 2edb963b97
git-subtree-split: 69ee53bffa
This commit is contained in:
Vincent Ambo 2020-06-16 01:06:03 +01:00
commit 4fe4e3d9a2
74 changed files with 5656 additions and 0 deletions

View file

@ -0,0 +1,5 @@
# key: ann
# name: annotation
# expand-env: ((yas-indent-line 'fixed))
# --
{-# ANN ${1:module} ("${2:HLint: ignore ${3:Reduce duplication}}" :: String) #-}

View file

@ -0,0 +1,26 @@
# key: bench
# name: benchmark-module
# expand-env: ((yas-indent-line (quote fixed)))
# --
--------------------------------------------------------------------------------
module ${1:`(if (not buffer-file-name) "Module"
(let ((name (file-name-sans-extension (buffer-file-name)))
(case-fold-search nil))
(if (cl-search "bench/" name)
(replace-regexp-in-string "/" "."
(replace-regexp-in-string "^\/[^A-Z]*" ""
(car (last (split-string name "src")))))
(file-name-nondirectory name))))`} ( benchmark, main ) where
--------------------------------------------------------------------------------
import Bench.Prelude
--------------------------------------------------------------------------------
import ${1:$(s-chop-suffix "Bench" yas-text)}
--------------------------------------------------------------------------------
main :: IO ()
main = defaultMain [benchmark]
--------------------------------------------------------------------------------
benchmark :: Benchmark
benchmark = bgroup "${1:$(->> yas-text (s-chop-suffix "Bench") (s-split ".") -last-item)}" [bench "something dumb" $ nf (1 +) (1 :: Int)]

View file

@ -0,0 +1,5 @@
# key: hh
# name: header
# expand-env: ((yas-indent-line 'fixed))
# --
--------------------------------------------------------------------------------$2

View file

@ -0,0 +1,8 @@
# key: gen
# name: Hedgehog Generator
# expand-env: ((yas-indent-line (quote fixed)))
# --
gen${1:Foo} :: Gen $1
gen$1 = do
$2
pure $1{..}

View file

@ -0,0 +1,9 @@
# -*- mode: snippet -*-
# name: Hedgehog Property
# key: hprop
# expand-env: ((yas-indent-line 'fixed))
# --
hprop_${1:somethingIsAlwaysTrue} :: Property
hprop_$1 = property $ do
${2:x} <- forAll ${3:Gen.int $ Range.linear 1 100}
${4:x === x}

View file

@ -0,0 +1,8 @@
# -*- mode: snippet -*-
# name: hlint
# uuid:
# expand-env: ((yas-indent-line 'fixed))
# key: hlint
# condition: t
# --
{-# ANN module ("Hlint: ignore $1" :: String) #- }

View file

@ -0,0 +1,4 @@
# key: i
# name: import-i
# --
import ${1:Prelude}

View file

@ -0,0 +1,6 @@
# -*- mode: snippet -*-
# name: inl
# key: inl
# expand-env: ((yas-indent-line 'fixed))
# --
{-# INLINE $1 #-}

View file

@ -0,0 +1,5 @@
# key: inline
# name: inline
# expand-env: ((yas-indent-line 'fixed))
# --
{-# INLINE $1 #-}

View file

@ -0,0 +1,6 @@
# -*- mode: snippet -*-
# name: language pragma
# key: lang
# expand-env: ((yas-indent-line 'fixed))
# --
{-# LANGUAGE $1 #-}

View file

@ -0,0 +1,7 @@
# -*- mode: snippet -*-
# name: lens.field
# key: lens
# expand-env: ((yas-indent-line 'fixed))
# --
${1:field} :: Lens' ${2:Source} ${3:Target}
$1 = lens _${4:sourceField} $ \\${2:$(-> yas-text s-word-initials s-downcase)} ${4:$(-> yas-text s-word-initials s-downcase)} -> ${2:$(-> yas-text s-word-initials s-downcase)} { _$4 = ${4:$(-> yas-text s-word-initials s-downcase)} }

View file

@ -0,0 +1,32 @@
# -*- mode: snippet -*-
# key: module
# name: module
# condition: (= (length "module") (current-column))
# expand-env: ((yas-indent-line 'fixed))
# contributor: Luke Hoersten <luke@hoersten.org>
# --
--------------------------------------------------------------------------------
-- |
-- Module : $1
-- Description : $2
-- Maintainer : Griffin Smith <grfn@urbint.com>
-- Maturity : ${3:Draft, Usable, Maintained, OR MatureAF}
--
-- $4
--------------------------------------------------------------------------------
module ${1:`(if (not buffer-file-name) "Module"
(let ((name (file-name-sans-extension (buffer-file-name)))
(case-fold-search nil))
(if (or (cl-search "src/" name)
(cl-search "test/" name))
(replace-regexp-in-string "/" "."
(replace-regexp-in-string "^\/[^A-Z]*" ""
(car (last (split-string name "src")))))
(file-name-nondirectory name))))`}
(
) where
--------------------------------------------------------------------------------
import Prelude
--------------------------------------------------------------------------------
$0

View file

@ -0,0 +1,6 @@
# -*- mode: snippet -*-
# name: shut up, hlint
# key: dupl
# expand-env: ((yas-indent-line 'fixed))
# --
{-# ANN module ("HLint: ignore Reduce duplication" :: String) #-}

View file

@ -0,0 +1,22 @@
# -*- mode: snippet -*-
# name: test-module
# key: test
# expand-env: ((yas-indent-line 'fixed))
# --
{-# LANGUAGE ApplicativeDo #-}
--------------------------------------------------------------------------------
module ${1:`(if (not buffer-file-name) "Module"
(let ((name (file-name-sans-extension (buffer-file-name)))
(case-fold-search nil))
(if (cl-search "test/" name)
(replace-regexp-in-string "/" "."
(replace-regexp-in-string "^\/[^A-Z]*" ""
(car (last (split-string name "src")))))
(file-name-nondirectory name))))`} where
--------------------------------------------------------------------------------
import Test.Prelude
import qualified Hedgehog.Gen as Gen
import qualified Hedgehog.Range as Range
--------------------------------------------------------------------------------
import ${1:$(s-chop-suffix "Test" yas-text)}
--------------------------------------------------------------------------------

View file

@ -0,0 +1,6 @@
# -*- mode: snippet -*-
# name: undefined
# key: u
# expand-env: ((yas-indent-line 'fixed) (yas-wrap-around-region 'nil))
# --
undefined$1