6N46BCIIDUA2NCB7VHX6E47WNYYRSDMBHDOABZSVEEMJXWH2LLOAC MDLZDQL6E4N5RLKKKRYNHSFONGR6RWGGYJ7JN4QVOAKJOAKNPOMQC RXCY7LD6ZRIOIKZEYKLMCYPMQPXF4DOEEFBDLVR2B22BXLZJFFBQC A3TVGLVHSVLMEHLHB3TPBSD3QGNVGX3DIK6BEBDTTHWBNW4ALMRAC HGGMS7P6BRIGWP6DZS3KLRXQPRETMB2GUULCQZAED6IYD5ENK2DQC IOXOZB2VUXVUEINLFBT4SPSJV32X5ZFT5FKSVRAIEXEFQJLG6MHQC UBKNEWYVVUOMWISFIYX364ZHXEEY46V5EZZPFHW5YSU26YVXUABQC IOVPOFAVXEQIZ7BCFVVAWFW3RYFXPK2GOILDWA6N6QHQHLAJ4XTAC 5FLRDDUAB7NCOKJKK57IVQBETGX7JTT7GVKFT46ORSZ7OJ7Q2UFQC DZNNVEMP3EYFGAEFWMBSMPU55VQT7QVAVNNOG473CN3FAT4TTARQC IUA6MCZWWCFQ4EJ4GBWYAPLM4IE7SFB34CGSJJTBVOAFTSL4EDEAC XJLV3OIIPQ6V6YHJGFI7RRDYI5MXTXCXSVKPOZFUOGMV4B2DEJSQC ABDQA6HCTOUQXY5IDGDTCDBR5DA2WAHUWHBS5EIRYNUJNQCM6GOQC (defun slime-ecl ()(interactive)(let ((inferior-lisp-program "ecl"))(slime)))(defun slime-cmucl ()(interactive)(let ((inferior-lisp-program "cmucl"))(slime)))(defun slime-sbcl ()(interactive)(let ((inferior-lisp-program "sbcl"))(slime)))(defun slime-ccl ()(interactive)(let ((inferior-lisp-program "ccl"))(slime)))(defun find-use-clause (current-form)(when current-form(destructuring-bind (discriminator . packages) current-form(case discriminator(:use (remove-if (op (or (eql :cl _)))(cdr current-form)))(defpackage (find-use-clause(find-if (lambda (f)(and (listp f)(eql (car f) :use)))'(defpackage :tracking-sim (:use :cl :alexandria :serapeum) (:export)))))))))(defun load-package-uses ()(interactive)(slime-eval-async `(ql:quickload ',(find-use-clause (list-at-point)))))
(setq inferior-lisp-program "~/sbcl/bin/sbcl"slime-company-completion 'fuzzy)(add-hook 'lisp-mode-hook'(lambda ();;(define-key evil-insert-state-map "^N" 'slime-fuzzy-indent-and-complete-symbol);; (unless (string= "*slime-scratch*" (buffer-name));; (paredit-mode);; (evil-paredit-mode))(rainbow-delimiters-mode)))
(setq inferior-lisp-program "~/sbcl/bin/sbcl")
(setq slime-contribs'(slime-fancyslime-companyslime-macrostepslime-trace-dialogslime-mdot-fu))
(defun setup-lisp-mode ()(comment(unless (string= "*slime-scratch*" (buffer-name))(paredit-mode)(evil-paredit-mode)))(unless (string= "*slime-scratch*" (buffer-name))(smartparens-strict-mode 1)(evil-smartparens-mode 1)(aggressive-indent-mode 1))(define-key evil-insert-state-map "^N" 'slime-fuzzy-indent-and-complete-symbol)(unless (string= "*slime-scratch*" (buffer-name))(paredit-mode)(evil-paredit-mode))(rainbow-delimiters-mode))(add-hook 'lisp-mode-hook 'setup-lisp-mode)(add-hook 'emacs-lisp-mode-hook 'setup-lisp-mode)
(defun slime-ecl ()(interactive)(let ((inferior-lisp-program "ecl"))(slime)))(defun slime-cmucl ()(interactive)(let ((inferior-lisp-program "cmucl"))(slime)))(defun slime-sbcl ()(interactive)(let ((inferior-lisp-program "sbcl"))(slime)))(defun slime-ccl ()(interactive)(let ((inferior-lisp-program "ccl"))(slime)))(defun find-use-clause (current-form)(when current-form(destructuring-bind (discriminator . packages) current-form(case discriminator(:use (remove-if (op (or (eql :cl _)))(cdr current-form)))(defpackage (find-use-clause(find-if (lambda (f)(and (listp f)(eql (car f) :use)))'(defpackage :tracking-sim (:use :cl :alexandria :serapeum) (:export)))))))))(defun load-package-uses ()(interactive)(slime-eval-async `(ql:quickload ',(find-use-clause (list-at-point)))))
(define-key evil-insert-state-map (kbd "C-c j") 'skeleton-next-position)(define-key evil-insert-state-map (kbd "C-c k") 'skeleton-prev-position)(define-key evil-normal-state-map " g" 'helm-generate-lisp-skeleton)(define-key evil-visual-state-map " g" 'helm-generate-lisp-skeleton))
(use-package lisp-skeletons:config(add-hook 'skeleton-end-hook 'skeleton-make-markers)(define-key evil-insert-state-map (kbd "C-c j") 'skeleton-next-position)(define-key evil-insert-state-map (kbd "C-c k") 'skeleton-prev-position)(define-key evil-normal-state-map " g" 'helm-generate-lisp-skeleton)(define-key evil-visual-state-map " g" 'helm-generate-lisp-skeleton))