feat(aspen/emacs): Begin a complete emacs config revamp
I'm still on doom, but without all the cruft I've accumulated over the last ~6 years it's actually good and fast and nice. Also, the config is literate now! The old emacs is still in .emacs.d, since occasionally I want to reference it, but eventually I'll just get rid of it Change-Id: Icda840d798594f7e6b188dba044494597d5f6043 Reviewed-on: https://cl.tvl.fyi/c/depot/+/10999 Reviewed-by: aspen <root@gws.fyi> Tested-by: BuildkiteCI
This commit is contained in:
parent
7ecf43a1bd
commit
acc2433b65
66 changed files with 2245 additions and 0 deletions
2
users/aspen/emacs/.gitignore
vendored
Normal file
2
users/aspen/emacs/.gitignore
vendored
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
custom.el
|
||||||
|
config.el
|
1375
users/aspen/emacs/config.org
Normal file
1375
users/aspen/emacs/config.org
Normal file
File diff suppressed because it is too large
Load diff
197
users/aspen/emacs/init.el
Normal file
197
users/aspen/emacs/init.el
Normal file
|
@ -0,0 +1,197 @@
|
||||||
|
;;; init.el -*- lexical-binding: t; -*-
|
||||||
|
|
||||||
|
;; This file controls what Doom modules are enabled and what order they load
|
||||||
|
;; in. Remember to run 'doom sync' after modifying it!
|
||||||
|
|
||||||
|
;; NOTE Press 'SPC h d h' (or 'C-h d h' for non-vim users) to access Doom's
|
||||||
|
;; documentation. There you'll find a link to Doom's Module Index where all
|
||||||
|
;; of our modules are listed, including what flags they support.
|
||||||
|
|
||||||
|
;; NOTE Move your cursor over a module's name (or its flags) and press 'K' (or
|
||||||
|
;; 'C-c c k' for non-vim users) to view its documentation. This works on
|
||||||
|
;; flags as well (those symbols that start with a plus).
|
||||||
|
;;
|
||||||
|
;; Alternatively, press 'gd' (or 'C-c c d') on a module to browse its
|
||||||
|
;; directory (for easy access to its source code).
|
||||||
|
|
||||||
|
(doom! :input
|
||||||
|
;;bidi ; (tfel ot) thgir etirw uoy gnipleh
|
||||||
|
;;chinese
|
||||||
|
;;japanese
|
||||||
|
;;layout ; auie,ctsrnm is the superior home row
|
||||||
|
|
||||||
|
:completion
|
||||||
|
company ; the ultimate code completion backend
|
||||||
|
;;helm ; the *other* search engine for love and life
|
||||||
|
;;ido ; the other *other* search engine...
|
||||||
|
;;ivy ; a search engine for love and life
|
||||||
|
vertico ; the search engine of the future
|
||||||
|
|
||||||
|
:ui
|
||||||
|
;;deft ; notational velocity for Emacs
|
||||||
|
doom ; what makes DOOM look the way it does
|
||||||
|
;; doom-dashboard ; a nifty splash screen for Emacs
|
||||||
|
;;doom-quit ; DOOM quit-message prompts when you quit Emacs
|
||||||
|
(emoji +unicode) ; 🙂
|
||||||
|
hl-todo ; highlight TODO/FIXME/NOTE/DEPRECATED/HACK/REVIEW
|
||||||
|
;;hydra
|
||||||
|
;;indent-guides ; highlighted indent columns
|
||||||
|
;;ligatures ; ligatures and symbols to make your code pretty again
|
||||||
|
;;minimap ; show a map of the code on the side
|
||||||
|
modeline ; snazzy, Atom-inspired modeline, plus API
|
||||||
|
;;nav-flash ; blink cursor line after big motions
|
||||||
|
;;neotree ; a project drawer, like NERDTree for vim
|
||||||
|
ophints ; highlight the region an operation acts on
|
||||||
|
(popup +defaults) ; tame sudden yet inevitable temporary windows
|
||||||
|
;;tabs ; a tab bar for Emacs
|
||||||
|
;;treemacs ; a project drawer, like neotree but cooler
|
||||||
|
;;unicode ; extended unicode support for various languages
|
||||||
|
(vc-gutter +pretty) ; vcs diff in the fringe
|
||||||
|
vi-tilde-fringe ; fringe tildes to mark beyond EOB
|
||||||
|
;;window-select ; visually switch windows
|
||||||
|
workspaces ; tab emulation, persistence & separate workspaces
|
||||||
|
;;zen ; distraction-free coding or writing
|
||||||
|
|
||||||
|
:editor
|
||||||
|
(evil +everywhere); come to the dark side, we have cookies
|
||||||
|
file-templates ; auto-snippets for empty files
|
||||||
|
fold ; (nigh) universal code folding
|
||||||
|
(format +onsave) ; automated prettiness
|
||||||
|
;;god ; run Emacs commands without modifier keys
|
||||||
|
;;lispy ; vim for lisp, for people who don't like vim
|
||||||
|
;;multiple-cursors ; editing in many places at once
|
||||||
|
;;objed ; text object editing for the innocent
|
||||||
|
;;parinfer ; turn lisp into python, sort of
|
||||||
|
;;rotate-text ; cycle region at point between text candidates
|
||||||
|
snippets ; my elves. They type so I don't have to
|
||||||
|
word-wrap ; soft wrapping with language-aware indent
|
||||||
|
|
||||||
|
:emacs
|
||||||
|
dired ; making dired pretty [functional]
|
||||||
|
electric ; smarter, keyword-based electric-indent
|
||||||
|
;;ibuffer ; interactive buffer management
|
||||||
|
undo ; persistent, smarter undo for your inevitable mistakes
|
||||||
|
vc ; version-control and Emacs, sitting in a tree
|
||||||
|
|
||||||
|
:term
|
||||||
|
;;eshell ; the elisp shell that works everywhere
|
||||||
|
;;shell ; simple shell REPL for Emacs
|
||||||
|
;;term ; basic terminal emulator for Emacs
|
||||||
|
vterm ; the best terminal emulation in Emacs
|
||||||
|
|
||||||
|
:checkers
|
||||||
|
syntax ; tasing you for every semicolon you forget
|
||||||
|
(spell +flyspell) ; tasing you for misspelling mispelling
|
||||||
|
;;grammar ; tasing grammar mistake every you make
|
||||||
|
|
||||||
|
:tools
|
||||||
|
;;ansible
|
||||||
|
;;biblio ; Writes a PhD for you (citation needed)
|
||||||
|
;;debugger ; FIXME stepping through code, to help you add bugs
|
||||||
|
direnv
|
||||||
|
docker
|
||||||
|
;;editorconfig ; let someone else argue about tabs vs spaces
|
||||||
|
;;ein ; tame Jupyter notebooks with emacs
|
||||||
|
(eval +overlay) ; run code, run (also, repls)
|
||||||
|
;;gist ; interacting with github gists
|
||||||
|
lookup ; navigate your code and its documentation
|
||||||
|
(lsp +eglot) ; M-x vscode
|
||||||
|
magit ; a git porcelain for Emacs
|
||||||
|
;;make ; run make tasks from Emacs
|
||||||
|
pass ; password manager for nerds
|
||||||
|
;;pdf ; pdf enhancements
|
||||||
|
;;prodigy ; FIXME managing external services & code builders
|
||||||
|
;;rgb ; creating color strings
|
||||||
|
;;taskrunner ; taskrunner for all your projects
|
||||||
|
terraform ; infrastructure as code
|
||||||
|
;;tmux ; an API for interacting with tmux
|
||||||
|
;;tree-sitter ; syntax and parsing, sitting in a tree...
|
||||||
|
;;upload ; map local to remote projects via ssh/ftp
|
||||||
|
|
||||||
|
:os
|
||||||
|
(:if IS-MAC macos) ; improve compatibility with macOS
|
||||||
|
;;tty ; improve the terminal Emacs experience
|
||||||
|
|
||||||
|
:lang
|
||||||
|
agda ; types of types of types of types...
|
||||||
|
;;beancount ; mind the GAAP
|
||||||
|
;;(cc +lsp) ; C > C++ == 1
|
||||||
|
clojure ; java with a lisp
|
||||||
|
common-lisp ; if you've seen one lisp, you've seen them all
|
||||||
|
;;coq ; proofs-as-programs
|
||||||
|
;;crystal ; ruby at the speed of c
|
||||||
|
;;csharp ; unity, .NET, and mono shenanigans
|
||||||
|
data ; config/data formats
|
||||||
|
;;(dart +flutter) ; paint ui and not much else
|
||||||
|
;;dhall
|
||||||
|
;;elixir ; erlang done right
|
||||||
|
;;elm ; care for a cup of TEA?
|
||||||
|
emacs-lisp ; drown in parentheses
|
||||||
|
;;erlang ; an elegant language for a more civilized age
|
||||||
|
;;ess ; emacs speaks statistics
|
||||||
|
;;factor
|
||||||
|
;;faust ; dsp, but you get to keep your soul
|
||||||
|
;;fortran ; in FORTRAN, GOD is REAL (unless declared INTEGER)
|
||||||
|
;;fsharp ; ML stands for Microsoft's Language
|
||||||
|
;;fstar ; (dependent) types and (monadic) effects and Z3
|
||||||
|
;;gdscript ; the language you waited for
|
||||||
|
;;(go +lsp) ; the hipster dialect
|
||||||
|
;;(graphql +lsp) ; Give queries a REST
|
||||||
|
(haskell +lsp) ; a language that's lazier than I am
|
||||||
|
;;hy ; readability of scheme w/ speed of python
|
||||||
|
;;idris ; a language you can depend on
|
||||||
|
json ; At least it ain't XML
|
||||||
|
;;(java +lsp) ; the poster child for carpal tunnel syndrome
|
||||||
|
;;javascript ; all(hope(abandon(ye(who(enter(here))))))
|
||||||
|
;;julia ; a better, faster MATLAB
|
||||||
|
;;kotlin ; a better, slicker Java(Script)
|
||||||
|
;;latex ; writing papers in Emacs has never been so fun
|
||||||
|
;;lean ; for folks with too much to prove
|
||||||
|
;;ledger ; be audit you can be
|
||||||
|
;;lua ; one-based indices? one-based indices
|
||||||
|
markdown ; writing docs for people to ignore
|
||||||
|
;;nim ; python + lisp at the speed of c
|
||||||
|
nix ; I hereby declare "nix geht mehr!"
|
||||||
|
ocaml ; an objective camel
|
||||||
|
(org ; organize your plain life in plain text
|
||||||
|
+gnuplot
|
||||||
|
+present
|
||||||
|
+pretty)
|
||||||
|
;;php ; perl's insecure younger brother
|
||||||
|
;;plantuml ; diagrams for confusing people more
|
||||||
|
;;purescript ; javascript, but functional
|
||||||
|
python ; beautiful is better than ugly
|
||||||
|
;;qt ; the 'cutest' gui framework ever
|
||||||
|
;;racket ; a DSL for DSLs
|
||||||
|
;;raku ; the artist formerly known as perl6
|
||||||
|
;;rest ; Emacs as a REST client
|
||||||
|
;;rst ; ReST in peace
|
||||||
|
;;(ruby +rails) ; 1.step {|i| p "Ruby is #{i.even? ? 'love' : 'life'}"}
|
||||||
|
(rust +lsp) ; Fe2O3.unwrap().unwrap().unwrap().unwrap()
|
||||||
|
;;scala ; java, but good
|
||||||
|
;;(scheme +guile) ; a fully conniving family of lisps
|
||||||
|
sh ; she sells {ba,z,fi}sh shells on the C xor
|
||||||
|
;;sml
|
||||||
|
;;solidity ; do you need a blockchain? No.
|
||||||
|
;;swift ; who asked for emoji variables?
|
||||||
|
;;terra ; Earth and Moon in alignment for performance.
|
||||||
|
web ; the tubes
|
||||||
|
yaml ; JSON, but readable
|
||||||
|
;;zig ; C, but simpler
|
||||||
|
|
||||||
|
:email
|
||||||
|
;;(mu4e +org +gmail)
|
||||||
|
notmuch
|
||||||
|
;;(wanderlust +gmail)
|
||||||
|
|
||||||
|
:app
|
||||||
|
;;calendar
|
||||||
|
;;emms
|
||||||
|
;;everywhere ; *leave* Emacs!? You must be joking
|
||||||
|
irc ; how neckbeards socialize
|
||||||
|
;;(rss +org) ; emacs as an RSS reader
|
||||||
|
;;twitter ; twitter client https://twitter.com/vnought
|
||||||
|
|
||||||
|
:config
|
||||||
|
literate
|
||||||
|
(default +bindings +smartparens))
|
141
users/aspen/emacs/org-config.el
Normal file
141
users/aspen/emacs/org-config.el
Normal file
|
@ -0,0 +1,141 @@
|
||||||
|
;;; org-config.el -*- lexical-binding: t; -*-
|
||||||
|
|
||||||
|
(defun +aspen/org-setup ()
|
||||||
|
(setq-local truncate-lines -1)
|
||||||
|
(display-line-numbers-mode -1)
|
||||||
|
(line-number-mode -1)
|
||||||
|
(when-let*
|
||||||
|
((path (buffer-file-name))
|
||||||
|
(fn (file-name-nondirectory path))
|
||||||
|
(equal (string-equal fn "config.org")))
|
||||||
|
(paxedit-mode 1)
|
||||||
|
(display-line-numbers-mode 1)
|
||||||
|
(flyspell-mode -1)
|
||||||
|
(org-config-mode 1)))
|
||||||
|
|
||||||
|
(add-hook 'org-mode-hook #'+aspen/org-setup 50)
|
||||||
|
|
||||||
|
(defun notes-file (f)
|
||||||
|
(concat org-directory (if (string-prefix-p "/" f) "" "/") f))
|
||||||
|
|
||||||
|
(defun aspen/org-project-tag->key (tag)
|
||||||
|
(s-replace-regexp "^project__" "" tag))
|
||||||
|
|
||||||
|
(defun aspen/org-project-tag->name (tag)
|
||||||
|
(s-titleized-words
|
||||||
|
(s-join " " (s-split "_" (aspen/org-project-tag->key tag)))))
|
||||||
|
|
||||||
|
(defun aspen/org-project-tag->keys (tag)
|
||||||
|
(s-join "" (cons "p"
|
||||||
|
(-map (lambda (s) (substring-no-properties s 0 1))
|
||||||
|
(s-split "_" (aspen/org-project-tag->key tag))))))
|
||||||
|
|
||||||
|
(defun aspen/org-projects->agenda-commands (project-tags)
|
||||||
|
(cl-loop for tag in project-tags
|
||||||
|
collect `(,(aspen/org-project-tag->keys tag)
|
||||||
|
,(aspen/org-project-tag->name tag)
|
||||||
|
tags-todo
|
||||||
|
,tag)))
|
||||||
|
|
||||||
|
(defun aspen/org-projects ()
|
||||||
|
(cl-loop for (tag) in
|
||||||
|
(org-global-tags-completion-table
|
||||||
|
(directory-files-recursively "~/notes" "\\.org$"))
|
||||||
|
when (s-starts-with-p "project__" tag)
|
||||||
|
collect tag))
|
||||||
|
|
||||||
|
(comment
|
||||||
|
(aspen/org-projects->agenda-commands (aspen/org-projects))
|
||||||
|
)
|
||||||
|
|
||||||
|
(setq
|
||||||
|
org-directory (expand-file-name "~/notes")
|
||||||
|
+org-dir (expand-file-name "~/notes")
|
||||||
|
org-default-notes-file (concat org-directory "/inbox.org")
|
||||||
|
+org-default-todo-file (concat org-directory "/inbox.org")
|
||||||
|
org-agenda-files (directory-files-recursively
|
||||||
|
"~/notes" "\\.org$")
|
||||||
|
org-refile-targets '((org-agenda-files :maxlevel . 3))
|
||||||
|
org-outline-path-complete-in-steps nil
|
||||||
|
org-refile-use-outline-path t
|
||||||
|
org-file-apps `((auto-mode . emacs)
|
||||||
|
(,(rx (or (and "." (optional "x") (optional "htm") (optional "l") buffer-end)
|
||||||
|
(and buffer-start "http" (optional "s") "://")))
|
||||||
|
. "firefox %s")
|
||||||
|
(,(rx ".pdf" buffer-end) . "apvlv %s")
|
||||||
|
(,(rx "." (or "png"
|
||||||
|
"jpg"
|
||||||
|
"jpeg"
|
||||||
|
"gif"
|
||||||
|
"tif"
|
||||||
|
"tiff")
|
||||||
|
buffer-end)
|
||||||
|
. "feh %s"))
|
||||||
|
org-log-done 'time
|
||||||
|
org-archive-location "~/notes/trash::* From %s"
|
||||||
|
org-cycle-separator-lines 2
|
||||||
|
org-hidden-keywords '(title)
|
||||||
|
org-tags-column -130
|
||||||
|
org-ellipsis "…"
|
||||||
|
org-imenu-depth 9
|
||||||
|
org-capture-templates
|
||||||
|
`(("t" "Todo" entry
|
||||||
|
(file +org-default-todo-file)
|
||||||
|
"* TODO %?\n%i"
|
||||||
|
:kill-buffer t)
|
||||||
|
|
||||||
|
("m" "Email" entry
|
||||||
|
(file +org-default-todo-file)
|
||||||
|
"* TODO [[%L][%:subject]] :email:\n%i")
|
||||||
|
|
||||||
|
("n" "Notes" entry
|
||||||
|
(file +org-default-todo-file)
|
||||||
|
"* %U %?\n%i"
|
||||||
|
:prepend t
|
||||||
|
:kill-buffer t)
|
||||||
|
|
||||||
|
("c" "Task note" entry
|
||||||
|
(clock)
|
||||||
|
"* %U %?\n%i[%l[Context]]\n"
|
||||||
|
:kill-buffer t
|
||||||
|
:unnarrowed t)
|
||||||
|
|
||||||
|
("p" "Projects")
|
||||||
|
("px" "Xanthous" entry
|
||||||
|
(file+headline ,(notes-file "xanthous.org") "Backlog")
|
||||||
|
"* TODO %?\nContext %a\nIn task: %K")
|
||||||
|
("pt" "Tvix" entry
|
||||||
|
(file+headline ,(notes-file "tvix.org") "Tvix TODO")
|
||||||
|
"* TODO %?\nContext %a\nIn task: %K")
|
||||||
|
("pw" "Windtunnel" entry
|
||||||
|
(file+headline ,(notes-file "windtunnel.org") "Inbox")
|
||||||
|
"* TODO %i%?\nContext: %a\nIn task: %K")
|
||||||
|
)
|
||||||
|
|
||||||
|
org-capture-templates-contexts
|
||||||
|
`(("px" ((in-file . "/home/aspen/code/depot/users/aspen/xanthous/.*")))
|
||||||
|
("e" ((in-mode . "notmuch-show-mode"))))
|
||||||
|
|
||||||
|
org-deadline-warning-days 1
|
||||||
|
org-agenda-skip-scheduled-if-deadline-is-shown 'todo
|
||||||
|
org-todo-keywords '((sequence "TODO(t)" "ACTIVE(a)" "|" "DONE(d)" "RUNNING(r)")
|
||||||
|
(sequence "NEXT(n)" "WAITING(w)" "LATER(l)" "|" "CANCELLED(c)"))
|
||||||
|
org-agenda-custom-commands
|
||||||
|
`(("i" "Inbox" tags "inbox")
|
||||||
|
("r" "Running jobs" todo "RUNNING")
|
||||||
|
("w" "@Work" tags-todo "@work")
|
||||||
|
("n" . "Next...")
|
||||||
|
("nw" "Next @Work" tags-todo "@work&next")
|
||||||
|
("nt" "Next tooling" tags-todo "tooling")
|
||||||
|
|
||||||
|
("p" . "Project...")
|
||||||
|
;; ,@(aspen/org-projects->agenda-commands (aspen/org-projects))
|
||||||
|
)
|
||||||
|
|
||||||
|
org-agenda-dim-blocked-tasks nil
|
||||||
|
org-enforce-todo-dependencies nil
|
||||||
|
|
||||||
|
org-babel-clojure-backend 'cider)
|
||||||
|
|
||||||
|
(setq whitespace-global-modes '(not org-mode magit-mode vterm-mode))
|
||||||
|
(setf (alist-get 'file org-link-frame-setup) 'find-file-other-window)
|
12
users/aspen/emacs/packages.el
Normal file
12
users/aspen/emacs/packages.el
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
;; -*- no-byte-compile: t; -*-
|
||||||
|
;;; $DOOMDIR/packages.el
|
||||||
|
|
||||||
|
(package! dash)
|
||||||
|
(package! paxedit)
|
||||||
|
(package! predd
|
||||||
|
:recipe (:host github :repo "skeeto/predd"))
|
||||||
|
(package! alert)
|
||||||
|
(package! flycheck-clojure)
|
||||||
|
(package! evil-matchit)
|
||||||
|
(package! string-inflection)
|
||||||
|
(package! protobuf-mode)
|
5
users/aspen/emacs/snippets/haskell-mode/annotation
Normal file
5
users/aspen/emacs/snippets/haskell-mode/annotation
Normal 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) #-}
|
26
users/aspen/emacs/snippets/haskell-mode/benchmark-module
Normal file
26
users/aspen/emacs/snippets/haskell-mode/benchmark-module
Normal 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)]
|
5
users/aspen/emacs/snippets/haskell-mode/header
Normal file
5
users/aspen/emacs/snippets/haskell-mode/header
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
# key: hh
|
||||||
|
# name: header
|
||||||
|
# expand-env: ((yas-indent-line 'fixed))
|
||||||
|
# --
|
||||||
|
--------------------------------------------------------------------------------$2
|
|
@ -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{..}
|
|
@ -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}
|
8
users/aspen/emacs/snippets/haskell-mode/hlint
Normal file
8
users/aspen/emacs/snippets/haskell-mode/hlint
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
# -*- mode: snippet -*-
|
||||||
|
# name: hlint
|
||||||
|
# uuid: hlint
|
||||||
|
# expand-env: ((yas-indent-line 'fixed))
|
||||||
|
# key: hlint
|
||||||
|
# condition: t
|
||||||
|
# --
|
||||||
|
{-# ANN module ("Hlint: ignore $1" :: String) #- }
|
4
users/aspen/emacs/snippets/haskell-mode/import-i
Normal file
4
users/aspen/emacs/snippets/haskell-mode/import-i
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
# key: i
|
||||||
|
# name: import-i
|
||||||
|
# --
|
||||||
|
import ${1:Prelude}
|
6
users/aspen/emacs/snippets/haskell-mode/inl
Normal file
6
users/aspen/emacs/snippets/haskell-mode/inl
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
# -*- mode: snippet -*-
|
||||||
|
# name: inl
|
||||||
|
# key: inl
|
||||||
|
# expand-env: ((yas-indent-line 'fixed))
|
||||||
|
# --
|
||||||
|
{-# INLINE $1 #-}
|
5
users/aspen/emacs/snippets/haskell-mode/inline
Normal file
5
users/aspen/emacs/snippets/haskell-mode/inline
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
# key: inline
|
||||||
|
# name: inline
|
||||||
|
# expand-env: ((yas-indent-line 'fixed))
|
||||||
|
# --
|
||||||
|
{-# INLINE $1 #-}
|
6
users/aspen/emacs/snippets/haskell-mode/language pragma
Normal file
6
users/aspen/emacs/snippets/haskell-mode/language pragma
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
# -*- mode: snippet -*-
|
||||||
|
# name: language pragma
|
||||||
|
# key: lang
|
||||||
|
# expand-env: ((yas-indent-line 'fixed))
|
||||||
|
# --
|
||||||
|
{-# LANGUAGE $1 #-}
|
7
users/aspen/emacs/snippets/haskell-mode/lens.field
Normal file
7
users/aspen/emacs/snippets/haskell-mode/lens.field
Normal 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)} }
|
32
users/aspen/emacs/snippets/haskell-mode/module
Normal file
32
users/aspen/emacs/snippets/haskell-mode/module
Normal 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
|
6
users/aspen/emacs/snippets/haskell-mode/shut up, hlint
Normal file
6
users/aspen/emacs/snippets/haskell-mode/shut up, hlint
Normal 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) #-}
|
9
users/aspen/emacs/snippets/haskell-mode/test-group
Normal file
9
users/aspen/emacs/snippets/haskell-mode/test-group
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
# -*- mode: snippet -*-
|
||||||
|
# name: test-group
|
||||||
|
# uuid: test-group
|
||||||
|
# key: testGroup
|
||||||
|
# condition: t
|
||||||
|
# --
|
||||||
|
testGroup "${1:name}"
|
||||||
|
[ $0
|
||||||
|
]
|
27
users/aspen/emacs/snippets/haskell-mode/test-module
Normal file
27
users/aspen/emacs/snippets/haskell-mode/test-module
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
# -*- mode: snippet -*-
|
||||||
|
# name: test-module
|
||||||
|
# key: test
|
||||||
|
# expand-env: ((yas-indent-line '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 "test/" name)
|
||||||
|
(replace-regexp-in-string "/" "."
|
||||||
|
(replace-regexp-in-string "^\/[^A-Z]*" ""
|
||||||
|
(car (last (split-string name "src")))))
|
||||||
|
(file-name-nondirectory name))))`} (main, test) where
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
import Test.Prelude
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
import ${1:$(s-chop-suffix "Spec" yas-text)}
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
main :: IO ()
|
||||||
|
main = defaultMain test
|
||||||
|
|
||||||
|
test :: TestTree
|
||||||
|
test = testGroup "$1"
|
||||||
|
[ $0
|
||||||
|
]
|
6
users/aspen/emacs/snippets/haskell-mode/undefined
Normal file
6
users/aspen/emacs/snippets/haskell-mode/undefined
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
# -*- mode: snippet -*-
|
||||||
|
# name: undefined
|
||||||
|
# key: u
|
||||||
|
# expand-env: ((yas-indent-line 'fixed) (yas-wrap-around-region 'nil))
|
||||||
|
# --
|
||||||
|
undefined$1
|
4
users/aspen/emacs/snippets/js2-mode/action-type
Normal file
4
users/aspen/emacs/snippets/js2-mode/action-type
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
# key: at
|
||||||
|
# name: action-type
|
||||||
|
# --
|
||||||
|
export const ${1:FOO_BAR$(->> yas-text s-upcase (s-replace-all '(("-" . "_") (" " . "_"))))}: '${3:ns}/${1:$(-> yas-text s-dashed-words)}' = '$3/${1:$(-> yas-text s-dashed-words)}'$5
|
7
users/aspen/emacs/snippets/js2-mode/before
Normal file
7
users/aspen/emacs/snippets/js2-mode/before
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
# -*- mode: snippet -*-
|
||||||
|
# name: before
|
||||||
|
# key: bef
|
||||||
|
# --
|
||||||
|
before(function() {
|
||||||
|
$1
|
||||||
|
})
|
7
users/aspen/emacs/snippets/js2-mode/context
Normal file
7
users/aspen/emacs/snippets/js2-mode/context
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
# -*- mode: snippet -*-
|
||||||
|
# name: context
|
||||||
|
# key: context
|
||||||
|
# --
|
||||||
|
context('$1', function() {
|
||||||
|
$2
|
||||||
|
})
|
6
users/aspen/emacs/snippets/js2-mode/describe
Normal file
6
users/aspen/emacs/snippets/js2-mode/describe
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
# key: desc
|
||||||
|
# name: describe
|
||||||
|
# --
|
||||||
|
describe('$1', () => {
|
||||||
|
$2
|
||||||
|
})
|
5
users/aspen/emacs/snippets/js2-mode/expect
Normal file
5
users/aspen/emacs/snippets/js2-mode/expect
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
# -*- mode: snippet -*-
|
||||||
|
# name: expect
|
||||||
|
# key: ex
|
||||||
|
# --
|
||||||
|
expect($1).$2
|
6
users/aspen/emacs/snippets/js2-mode/function
Normal file
6
users/aspen/emacs/snippets/js2-mode/function
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
# key: f
|
||||||
|
# name: function
|
||||||
|
# --
|
||||||
|
function $1($2) {
|
||||||
|
$3
|
||||||
|
}
|
6
users/aspen/emacs/snippets/js2-mode/header
Normal file
6
users/aspen/emacs/snippets/js2-mode/header
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
# -*- mode: snippet -*-
|
||||||
|
# name: header
|
||||||
|
# key: hh
|
||||||
|
# expand-env: ((yas-indent-line 'fixed))
|
||||||
|
# --
|
||||||
|
////////////////////////////////////////////////////////////////////////////////
|
7
users/aspen/emacs/snippets/js2-mode/it
Normal file
7
users/aspen/emacs/snippets/js2-mode/it
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
# -*- mode: snippet -*-
|
||||||
|
# name: it
|
||||||
|
# key: it
|
||||||
|
# --
|
||||||
|
it('$1', () => {
|
||||||
|
$2
|
||||||
|
})
|
5
users/aspen/emacs/snippets/js2-mode/it-pending
Normal file
5
users/aspen/emacs/snippets/js2-mode/it-pending
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
# -*- mode: snippet -*-
|
||||||
|
# name: it-pending
|
||||||
|
# key: xi
|
||||||
|
# --
|
||||||
|
it('$1')$0
|
12
users/aspen/emacs/snippets/js2-mode/module
Normal file
12
users/aspen/emacs/snippets/js2-mode/module
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
# key: module
|
||||||
|
# name: module
|
||||||
|
# expand-env: ((yas-indent-line (quote fixed)))
|
||||||
|
# condition: (= (length "module") (current-column))
|
||||||
|
# --
|
||||||
|
/**
|
||||||
|
* @fileOverview $1
|
||||||
|
* @name ${2:`(file-name-nondirectory (buffer-file-name))`}
|
||||||
|
* @author Griffin Smith
|
||||||
|
* @license Proprietary
|
||||||
|
*/
|
||||||
|
$3
|
7
users/aspen/emacs/snippets/js2-mode/record
Normal file
7
users/aspen/emacs/snippets/js2-mode/record
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
# -*- mode: snippet -*-
|
||||||
|
# name: record
|
||||||
|
# key: rec
|
||||||
|
# --
|
||||||
|
export default class $1 extends Record({
|
||||||
|
$2
|
||||||
|
}) {}
|
7
users/aspen/emacs/snippets/js2-mode/test
Normal file
7
users/aspen/emacs/snippets/js2-mode/test
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
# -*- mode: snippet -*-
|
||||||
|
# name: test
|
||||||
|
# key: test
|
||||||
|
# --
|
||||||
|
test('$1', () => {
|
||||||
|
$2
|
||||||
|
})
|
12
users/aspen/emacs/snippets/nix-mode/fetchFromGitHub
Normal file
12
users/aspen/emacs/snippets/nix-mode/fetchFromGitHub
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
# -*- mode: snippet -*-
|
||||||
|
# name: fetchFromGitHub
|
||||||
|
# uuid: fetchFromGitHub
|
||||||
|
# key: fetchFromGitHub
|
||||||
|
# condition: t
|
||||||
|
# --
|
||||||
|
fetchFromGitHub {
|
||||||
|
owner = "$1";
|
||||||
|
repo = "$2";
|
||||||
|
rev = "$3";
|
||||||
|
sha256 = "0000000000000000000000000000000000000000000000000000";
|
||||||
|
}
|
16
users/aspen/emacs/snippets/nix-mode/pythonPackage
Normal file
16
users/aspen/emacs/snippets/nix-mode/pythonPackage
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
# key: pypkg
|
||||||
|
# name: pythonPackage
|
||||||
|
# condition: t
|
||||||
|
# --
|
||||||
|
${1:pname} = buildPythonPackage rec {
|
||||||
|
name = "\${pname}-\${version}";
|
||||||
|
pname = "$1";
|
||||||
|
version = "${2:1.0.0}";
|
||||||
|
src = fetchPypi {
|
||||||
|
inherit pname version;
|
||||||
|
sha256 = "0000000000000000000000000000000000000000000000000000";
|
||||||
|
};
|
||||||
|
propagatedBuildInputs = with pythonSelf; [
|
||||||
|
$3
|
||||||
|
];
|
||||||
|
};
|
7
users/aspen/emacs/snippets/nix-mode/sha256
Normal file
7
users/aspen/emacs/snippets/nix-mode/sha256
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
# -*- mode: snippet -*-
|
||||||
|
# name: sha256
|
||||||
|
# uuid: sha256
|
||||||
|
# key: sha256
|
||||||
|
# condition: t
|
||||||
|
# --
|
||||||
|
sha256 = "0000000000000000000000000000000000000000000000000000";
|
6
users/aspen/emacs/snippets/org-mode/SQL source block
Normal file
6
users/aspen/emacs/snippets/org-mode/SQL source block
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
# key: sql
|
||||||
|
# name: SQL source block
|
||||||
|
# --
|
||||||
|
#+BEGIN_SRC sql ${1::async}
|
||||||
|
$2
|
||||||
|
#+END_SRC
|
13
users/aspen/emacs/snippets/org-mode/combat
Normal file
13
users/aspen/emacs/snippets/org-mode/combat
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
# -*- mode: snippet -*-
|
||||||
|
# name: combat
|
||||||
|
# uuid: combat
|
||||||
|
# key: combat
|
||||||
|
# condition: t
|
||||||
|
# --
|
||||||
|
| | initiative | max hp | current hp | status | |
|
||||||
|
|-------------+------------+--------+------------+--------+------|
|
||||||
|
| Barty Barty | | | | | <--- |
|
||||||
|
| Hectoroth | | | | | |
|
||||||
|
| Xanadu | | | | | |
|
||||||
|
| Aurora | | | | | |
|
||||||
|
| EFB | | | | | |
|
5
users/aspen/emacs/snippets/org-mode/date
Normal file
5
users/aspen/emacs/snippets/org-mode/date
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
# -*- mode: snippet -*-
|
||||||
|
# key: date
|
||||||
|
# name: date.org
|
||||||
|
# --
|
||||||
|
[`(format-time-string "%Y-%m-%d")`]$0
|
5
users/aspen/emacs/snippets/org-mode/date-time
Normal file
5
users/aspen/emacs/snippets/org-mode/date-time
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
# -*- mode: snippet -*-
|
||||||
|
# name: date-time
|
||||||
|
# key: dt
|
||||||
|
# --
|
||||||
|
[`(format-time-string "%Y-%m-%d %H:%m:%S")`]
|
7
users/aspen/emacs/snippets/org-mode/description
Normal file
7
users/aspen/emacs/snippets/org-mode/description
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
# -*- mode: snippet -*-
|
||||||
|
# name: description
|
||||||
|
# key: desc
|
||||||
|
# --
|
||||||
|
:DESCRIPTION:
|
||||||
|
$1
|
||||||
|
:END:
|
5
users/aspen/emacs/snippets/org-mode/nologdone
Normal file
5
users/aspen/emacs/snippets/org-mode/nologdone
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
# -*- mode: snippet -*-
|
||||||
|
# name: nologdone
|
||||||
|
# key: nologdone
|
||||||
|
# --
|
||||||
|
#+STARTUP: nologdone$0
|
6
users/aspen/emacs/snippets/org-mode/python source block
Normal file
6
users/aspen/emacs/snippets/org-mode/python source block
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
# key: py
|
||||||
|
# name: Python source block
|
||||||
|
# --
|
||||||
|
#+BEGIN_SRC python
|
||||||
|
$0
|
||||||
|
#+END_SRC
|
6
users/aspen/emacs/snippets/org-mode/reveal
Normal file
6
users/aspen/emacs/snippets/org-mode/reveal
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
# key: reveal
|
||||||
|
# name: reveal
|
||||||
|
# condition: t
|
||||||
|
# --
|
||||||
|
#+ATTR_REVEAL: :frag ${1:roll-in}
|
||||||
|
$0
|
7
users/aspen/emacs/snippets/org-mode/transaction
Normal file
7
users/aspen/emacs/snippets/org-mode/transaction
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
# -*- mode: snippet -*-
|
||||||
|
# name: transaction
|
||||||
|
# key: begin
|
||||||
|
# --
|
||||||
|
BEGIN;
|
||||||
|
$0
|
||||||
|
ROLLBACK;
|
11
users/aspen/emacs/snippets/prolog-mode/tests
Normal file
11
users/aspen/emacs/snippets/prolog-mode/tests
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
# -*- mode: snippet -*-
|
||||||
|
# name: tests
|
||||||
|
# uuid: tests
|
||||||
|
# key: tests
|
||||||
|
# condition: t
|
||||||
|
# --
|
||||||
|
:- begin_tests(${1:name}).
|
||||||
|
|
||||||
|
$0
|
||||||
|
|
||||||
|
:- end_tests($1).
|
7
users/aspen/emacs/snippets/prolog-mode/use-module
Normal file
7
users/aspen/emacs/snippets/prolog-mode/use-module
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
# -*- mode: snippet -*-
|
||||||
|
# name: use-module
|
||||||
|
# uuid: use-module
|
||||||
|
# key: use
|
||||||
|
# condition: t
|
||||||
|
# --
|
||||||
|
:- use_module(${1:library($2)}${3:, [$4]}).
|
5
users/aspen/emacs/snippets/python-mode/add_column
Normal file
5
users/aspen/emacs/snippets/python-mode/add_column
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
# -*- mode: snippet -*-
|
||||||
|
# name: add_column
|
||||||
|
# key: op.add_column
|
||||||
|
# --
|
||||||
|
op.add_column('${1:table}', sa.Column('${2:name}', sa.${3:String()}))$0
|
15
users/aspen/emacs/snippets/python-mode/decorate
Normal file
15
users/aspen/emacs/snippets/python-mode/decorate
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
# -*- mode: snippet -*-
|
||||||
|
# name: decorate
|
||||||
|
# uuid: decorate
|
||||||
|
# key: decorate
|
||||||
|
# condition: t
|
||||||
|
# --
|
||||||
|
def wrap(inner):
|
||||||
|
@wraps(inner)
|
||||||
|
def wrapped(*args, **kwargs):
|
||||||
|
ret = inner(*args, **kwargs)
|
||||||
|
return ret
|
||||||
|
|
||||||
|
return wrapped
|
||||||
|
|
||||||
|
return wrap
|
7
users/aspen/emacs/snippets/python-mode/dunder
Normal file
7
users/aspen/emacs/snippets/python-mode/dunder
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
# -*- mode: snippet -*-
|
||||||
|
# name: dunder
|
||||||
|
# uuid: dunder
|
||||||
|
# key: du
|
||||||
|
# condition: t
|
||||||
|
# --
|
||||||
|
__$1__$0
|
7
users/aspen/emacs/snippets/python-mode/name
Normal file
7
users/aspen/emacs/snippets/python-mode/name
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
# -*- mode: snippet -*-
|
||||||
|
# name: name
|
||||||
|
# uuid: name
|
||||||
|
# key: name
|
||||||
|
# condition: t
|
||||||
|
# --
|
||||||
|
__name__
|
|
@ -0,0 +1,7 @@
|
||||||
|
# key: exec
|
||||||
|
# name: op.get_bind.execute
|
||||||
|
# --
|
||||||
|
op.get_bind().execute(
|
||||||
|
"""
|
||||||
|
`(progn (sqlup-mode) "")`$1
|
||||||
|
""")
|
7
users/aspen/emacs/snippets/python-mode/pdb
Normal file
7
users/aspen/emacs/snippets/python-mode/pdb
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
# -*- mode: snippet -*-
|
||||||
|
# name: pdb
|
||||||
|
# uuid: pdb
|
||||||
|
# key: pdb
|
||||||
|
# condition: t
|
||||||
|
# --
|
||||||
|
import pdb; pdb.set_trace()
|
5
users/aspen/emacs/snippets/rust-mode/#[macro_use]
Normal file
5
users/aspen/emacs/snippets/rust-mode/#[macro_use]
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
# key: macro_use
|
||||||
|
# name: #[macro_use]
|
||||||
|
# --
|
||||||
|
#[macro_use]
|
||||||
|
${1:extern crate} ${2:something};$0
|
10
users/aspen/emacs/snippets/rust-mode/async test
Normal file
10
users/aspen/emacs/snippets/rust-mode/async test
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
# -*- mode: snippet -*-
|
||||||
|
# name: async test
|
||||||
|
# uuid: atest
|
||||||
|
# key: atest
|
||||||
|
# condition: t
|
||||||
|
# --
|
||||||
|
#[tokio::test${1:(flavor = "multi_thread")}]
|
||||||
|
async fn ${2:test_name}() {
|
||||||
|
`%`$0
|
||||||
|
}
|
10
users/aspen/emacs/snippets/rust-mode/benchmark
Normal file
10
users/aspen/emacs/snippets/rust-mode/benchmark
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
# -*- mode: snippet -*-
|
||||||
|
# name: benchmark
|
||||||
|
# uuid: benchmark
|
||||||
|
# key: bench
|
||||||
|
# condition: t
|
||||||
|
# --
|
||||||
|
#[bench]
|
||||||
|
fn ${1:benchmark_name}(b: &mut Bencher) {
|
||||||
|
`%`b.iter(|| $0);
|
||||||
|
}
|
10
users/aspen/emacs/snippets/rust-mode/proptest
Normal file
10
users/aspen/emacs/snippets/rust-mode/proptest
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
# -*- mode: snippet -*-
|
||||||
|
# name: proptest
|
||||||
|
# uuid: proptest
|
||||||
|
# key: proptest
|
||||||
|
# condition: t
|
||||||
|
# --
|
||||||
|
#[proptest]
|
||||||
|
fn ${1:test_name}($2) {
|
||||||
|
`%`$0
|
||||||
|
}
|
11
users/aspen/emacs/snippets/rust-mode/test-module
Normal file
11
users/aspen/emacs/snippets/rust-mode/test-module
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
# -*- mode: snippet -*-
|
||||||
|
# name: test-module
|
||||||
|
# uuid: test-module
|
||||||
|
# key: tmod
|
||||||
|
# condition: t
|
||||||
|
# --
|
||||||
|
mod $1 {
|
||||||
|
use super::*;
|
||||||
|
|
||||||
|
$0
|
||||||
|
}
|
9
users/aspen/emacs/snippets/rust-mode/tests
Normal file
9
users/aspen/emacs/snippets/rust-mode/tests
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
# key: tests
|
||||||
|
# name: test module
|
||||||
|
# --
|
||||||
|
#[cfg(test)]
|
||||||
|
mod ${1:tests} {
|
||||||
|
use super::*;
|
||||||
|
|
||||||
|
$0
|
||||||
|
}
|
5
users/aspen/emacs/snippets/snippet-mode/indent
Normal file
5
users/aspen/emacs/snippets/snippet-mode/indent
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
# -*- mode: snippet -*-
|
||||||
|
# name: indent
|
||||||
|
# key: indent
|
||||||
|
# --
|
||||||
|
# expand-env: ((yas-indent-line 'fixed))
|
5
users/aspen/emacs/snippets/sql-mode/count(*) group by
Normal file
5
users/aspen/emacs/snippets/sql-mode/count(*) group by
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
# -*- mode: snippet -*-
|
||||||
|
# name: count(*) group by
|
||||||
|
# key: countby
|
||||||
|
# --
|
||||||
|
SELECT count(*), ${1:column} FROM ${2:table} GROUP BY $1;
|
11
users/aspen/emacs/snippets/terraform-mode/variable
Normal file
11
users/aspen/emacs/snippets/terraform-mode/variable
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
# -*- mode: snippet -*-
|
||||||
|
# name: variable
|
||||||
|
# uuid: variable
|
||||||
|
# key: var
|
||||||
|
# condition: t
|
||||||
|
# --
|
||||||
|
variable "${1:name}" {
|
||||||
|
type = ${2:string}
|
||||||
|
${3:default = ${4:default}}
|
||||||
|
}
|
||||||
|
$0
|
5
users/aspen/emacs/snippets/text-mode/date
Normal file
5
users/aspen/emacs/snippets/text-mode/date
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
# name: date
|
||||||
|
# key: date
|
||||||
|
# --
|
||||||
|
`(format-time-string "%Y-%m-%d")`$0
|
9
users/aspen/emacs/snippets/tuareg-mode/expect-test
Normal file
9
users/aspen/emacs/snippets/tuareg-mode/expect-test
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
# -*- mode: snippet -*-
|
||||||
|
# name: expect-test
|
||||||
|
# uuid: expect-test
|
||||||
|
# key: exp
|
||||||
|
# condition: t
|
||||||
|
# --
|
||||||
|
let%expect_test "${1:name}" =
|
||||||
|
${2:<body>};
|
||||||
|
[%expect {| $3 |}]
|
9
users/aspen/emacs/snippets/tuareg-mode/module
Normal file
9
users/aspen/emacs/snippets/tuareg-mode/module
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
# -*- mode: snippet -*-
|
||||||
|
# name: module
|
||||||
|
# uuid: module
|
||||||
|
# key: mod
|
||||||
|
# condition: t
|
||||||
|
# --
|
||||||
|
module ${1:Name} = struct
|
||||||
|
$0
|
||||||
|
end
|
10
users/aspen/emacs/snippets/tuareg-mode/test-module
Normal file
10
users/aspen/emacs/snippets/tuareg-mode/test-module
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
# -*- mode: snippet -*-
|
||||||
|
# name: test-module
|
||||||
|
# uuid: test-module
|
||||||
|
# key: tmod
|
||||||
|
# condition: t
|
||||||
|
# --
|
||||||
|
let%test_module ${1:_} =
|
||||||
|
(module struct
|
||||||
|
$0
|
||||||
|
end)
|
Loading…
Reference in a new issue