IUA6MCZWWCFQ4EJ4GBWYAPLM4IE7SFB34CGSJJTBVOAFTSL4EDEAC
22W5JAAQWOI354VO42Y6BRXNKK4OUVMG5JNKOF3KJFCF3G2AVTZAC
RXCY7LD6ZRIOIKZEYKLMCYPMQPXF4DOEEFBDLVR2B22BXLZJFFBQC
A3TVGLVHSVLMEHLHB3TPBSD3QGNVGX3DIK6BEBDTTHWBNW4ALMRAC
DWJHLZWVL7RM2WQXN3ZJTJXXKUEUNQLL37TMMTPL7NL375M2QJCQC
77GFHLOOX3JBBHHHSSR7TFOMOFUCIT5P6A7PQQOVNCZULXKMERMAC
2MLDEISPZ2ODUMJHCWN3SNV5IQT7PL3YMNTWROB6RWCPAEWPTIFQC
7TOUKKDEFYRNQZ5UG32B7EK2YCTYACHXMWWNK46LVJ2LMKDSDHKQC
HGGMS7P6BRIGWP6DZS3KLRXQPRETMB2GUULCQZAED6IYD5ENK2DQC
IOVPOFAVXEQIZ7BCFVVAWFW3RYFXPK2GOILDWA6N6QHQHLAJ4XTAC
PZ5HUCRXCTUXIKAFUFDGMVSZVV4MIDZ2EE7OC3TBZTTQ7HZCMUYAC
XJLV3OIIPQ6V6YHJGFI7RRDYI5MXTXCXSVKPOZFUOGMV4B2DEJSQC
QHGU5YX5J6OFWM2QH6ZVCMW5J4MVPPK5JGESEYKJZXFN2NEYQOCQC
DZNNVEMP3EYFGAEFWMBSMPU55VQT7QVAVNNOG473CN3FAT4TTARQC
ABDQA6HCTOUQXY5IDGDTCDBR5DA2WAHUWHBS5EIRYNUJNQCM6GOQC
YZB5M5LUC7P6UJQTLIX45W4EDXOT4PUXQ4J5UEELFXWQTW2XTB2QC
NWXFEA3LHLS5YE6BUVB2IXMIA6ARTVH5PU3FD4I4M5UCDYMC6INAC
WCMSYDW4CP3XTAWZV2IATSIMTTCWIAZ5ILB7CV4RHQVONJY57TPAC
(editor:bind-key "Insert Space And Show Arglist" "Space")
(defun utf-8-file-encoding (pathname ef-spec buffer length)
(declare (ignore pathname buffer length))
(system:merge-ef-specs ef-spec :utf-8))
(setq system:*file-encoding-detection-algorithm*
(substitute 'utf-8-file-encoding
'system:locale-file-encoding
system:*file-encoding-detection-algorithm*))
(set-default-character-element-type 'simple-char)
.ensime*
(defpackage :gap-dates
(:use :cl))
(in-package :gap-dates)
(defun gap-sequence (seq diff-fun diff)
(reverse (reduce (lambda (accum next)
(let ((prev (car accum)))
(if (>= (funcall diff-fun next prev) diff)
(cons next accum)
accum)))
(cdr seq)
:initial-value (list (elt seq 0)))))
(defun read-dates (dates)
(mapcar (lambda (date)
(local-time:parse-timestring date))
dates))
(defun prune-dates (dates exclude-last-n)
(let ((last-date-idx (- (length dates)
exclude-last-n)))
(append (gap-sequence (subseq dates 0 last-date-idx)
'local-time:timestamp-difference
#.(* 60 60 24 7))
(subseq dates last-date-idx))))
(defun get-dates ()
(mapcar (alexandria:compose 'car
'last
'pathname-directory)
(uiop:directory* "~/.feed-archive/????-??-??")))
(defun main (inp)
(let ((local-time:*default-timezone* local-time:+utc-zone+))
(let* ((dates (read-dates inp))
(keep (prune-dates dates 31)))
(mapcar (serapeum:op
(local-time:format-timestring nil _ :format local-time:+iso-8601-date-format+))
(set-difference dates keep :test 'equal)))))
;;; -*- Mode:Lisp; Syntax:ANSI-Common-Lisp; Package: ASDF-USER -*-
(in-package :asdf-user)
(defsystem :gap-dates
:description ""
:author "Ed L <edward@elangley.org>"
:license "MIT"
:depends-on (#:alexandria
#:uiop
#:serapeum
#:alexandria
#:fwoar.lisputils)
:serial t
:components ((:file "gap-dates")))
*.fasl
(run-with-idle-timer
5 nil ;slime isn't loaded via use-package because quicklisp-helper keeps it uptodate
(lambda ()
(when (and (boundp 'common-lisp-hyperspec-root)
(string-prefix-p "/" common-lisp-hyperspec-root))
(setq common-lisp-hyperspec-root
(concat "file://" common-lisp-hyperspec-root)))
(when (and (boundp 'common-lisp-hyperspec-root)
(string-prefix-p "/" common-lisp-hyperspec-root))
(setq common-lisp-hyperspec-root
(concat "file://" common-lisp-hyperspec-root)))
;; Replace "sbcl" with the path to your implementation
(setq inferior-lisp-program "~/sbcl/bin/sbcl")
;; Replace "sbcl" with the path to your implementation
(setq inferior-lisp-program "~/sbcl/bin/sbcl")
(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)))
(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 slime-contribs
'(slime-fancy
slime-company
slime-macrostep
slime-trace-dialog
slime-mdot-fu))
(setq slime-contribs
'(slime-fancy
slime-company
slime-macrostep
slime-trace-dialog
slime-mdot-fu))
(modify-syntax-entry ?- "w" lisp-mode-syntax-table)
(modify-syntax-entry ?* "w" lisp-mode-syntax-table)
(modify-syntax-entry ?+ "w" lisp-mode-syntax-table)
(modify-syntax-entry ?! "w" lisp-mode-syntax-table)
(modify-syntax-entry ?$ "w" lisp-mode-syntax-table)
(modify-syntax-entry ?% "w" lisp-mode-syntax-table)
(modify-syntax-entry ?& "w" lisp-mode-syntax-table)
(modify-syntax-entry ?% "w" lisp-mode-syntax-table)
(modify-syntax-entry ?= "w" lisp-mode-syntax-table)
(modify-syntax-entry ?< "w" lisp-mode-syntax-table)
(modify-syntax-entry ?> "w" lisp-mode-syntax-table)
(modify-syntax-entry 91 "(" lisp-mode-syntax-table)
(modify-syntax-entry 93 ")" lisp-mode-syntax-table)
;;(modify-syntax-entry ?@ "w" lisp-mode-syntax-table)
(modify-syntax-entry ?^ "w" lisp-mode-syntax-table)
(modify-syntax-entry ?_ "w" lisp-mode-syntax-table)
(modify-syntax-entry ?~ "w" lisp-mode-syntax-table)
(modify-syntax-entry ?. "w" lisp-mode-syntax-table)
(modify-syntax-entry ?- "w" lisp-mode-syntax-table)
(modify-syntax-entry ?* "w" lisp-mode-syntax-table)
(modify-syntax-entry ?+ "w" lisp-mode-syntax-table)
(modify-syntax-entry ?! "w" lisp-mode-syntax-table)
(modify-syntax-entry ?$ "w" lisp-mode-syntax-table)
(modify-syntax-entry ?% "w" lisp-mode-syntax-table)
(modify-syntax-entry ?& "w" lisp-mode-syntax-table)
(modify-syntax-entry ?% "w" lisp-mode-syntax-table)
(modify-syntax-entry ?= "w" lisp-mode-syntax-table)
(modify-syntax-entry ?< "w" lisp-mode-syntax-table)
(modify-syntax-entry ?> "w" lisp-mode-syntax-table)
(modify-syntax-entry 91 "(" lisp-mode-syntax-table)
(modify-syntax-entry 93 ")" lisp-mode-syntax-table)
;;(modify-syntax-entry ?@ "w" lisp-mode-syntax-table)
(defun fwoar--slime-find-system ()
(let ((systems (directory-files
(locate-dominating-file default-directory
(lambda (n)
(directory-files n nil "^[^.#][^#]*[.]asd$")))
t "^[^.#][^#]*[.]asd$")))
(find-file (if (not (null (cdr systems)))
(helm-comp-read "system:" systems)
(car systems)))))
(modify-syntax-entry ?^ "w" lisp-mode-syntax-table)
(modify-syntax-entry ?_ "w" lisp-mode-syntax-table)
(modify-syntax-entry ?~ "w" lisp-mode-syntax-table)
(modify-syntax-entry ?. "w" lisp-mode-syntax-table)
(setq shr-inhibit-images t
shr-use-fonts nil)
(defun fwoar--clhs-lookup (&rest args)
(let ((browse-url-browser-function 'eww-browse-url))
(hyperspec-lookup (word-at-point))))
(pushnew (list ?h "Check hyperspec" #'fwoar--clhs-lookup)
slime-selector-methods
:key #'car)
(defun fwoar--slime-find-system ()
(let ((systems (directory-files
(locate-dominating-file default-directory
(lambda (n)
(directory-files n nil "^[^.#][^#]*[.]asd$")))
t "^[^.#][^#]*[.]asd$")))
(find-file (if (not (null (cdr systems)))
(helm-comp-read "system:" systems)
(car systems)))))
(pushnew (list ?S "Goto System" #'fwoar--slime-find-system)
slime-selector-methods
:key #'car)
(use-package cider
:config
(define-key evil-normal-state-map " t" 'cider-test-run-ns-tests)
(add-hook 'cider-mode-hook 'rainbow-delimiters-mode)
(add-hook 'cider-mode-hook 'evil-paredit-mode)
(add-hook 'cider-mode-hook 'paredit-mode)
(modify-syntax-entry ?_ "w" clojure-mode-syntax-table)
(modify-syntax-entry ?- "w" clojure-mode-syntax-table)
(modify-syntax-entry ?~ "w" clojure-mode-syntax-table)
(modify-syntax-entry ?. "w" clojure-mode-syntax-table)
)
(use-package js2-mode
:ensure t
:defer t
:commands js2-mode
:init
(progn
(add-to-list 'interpreter-mode-alist (cons "node" 'js2-mode))
(setq-default js2-basic-offset 4)
(setq-default js-indent-level 4)
(customize-set-variable 'js2-mode-show-parse-errors nil)
(customize-set-variable 'js2-strict-missing-semi-warning nil)
(customize-set-variable 'js2-strict-trailing-comma-warning nil)
(customize-set-variable 'js2-strict-inconsistent-return-warning nil)))
(use-package rjsx-mode
:ensure t
:config
(add-to-list 'auto-mode-alist '("\\.js$" . rjsx-mode)))
(setq org-agenda-files '("~/org/notes.org"))
(defpackage :gap-dates
(:use :cl))
(in-package :gap-dates)
(defun gap-sequence (seq diff-fun diff)
(reverse (reduce (lambda (accum next)
(let ((prev (car accum)))
(if (>= (funcall diff-fun next prev) diff)
(cons next accum)
accum)))
(cdr seq)
:initial-value (list (elt seq 0)))))
(defun read-dates (dates)
(mapcar (lambda (date)
(local-time:parse-timestring date))
dates))
(defun prune-dates (dates exclude-last-n)
(let ((last-date-idx (- (length dates)
exclude-last-n)))
(append (gap-sequence (subseq dates 0 last-date-idx)
'local-time:timestamp-difference
#.(* 60 60 24 7))
(subseq dates last-date-idx))))
(defun get-dates ()
(mapcar (alexandria:compose 'car
'last
'pathname-directory)
(uiop:directory* "~/.feed-archive/????-??-??")))
(defun main (inp)
(let ((local-time:*default-timezone* local-time:+utc-zone+))
(let* ((dates (read-dates inp))
(keep (prune-dates dates 31)))
(mapcar (serapeum:op
(local-time:format-timestring nil _ :format local-time:+iso-8601-date-format+))
(set-difference dates keep :test 'equal)))))
;;; -*- Mode:Lisp; Syntax:ANSI-Common-Lisp; Package: ASDF-USER -*-
(in-package :asdf-user)
(defsystem :gap-dates
:description ""
:author "Ed L <edward@elangley.org>"
:license "MIT"
:depends-on (#:alexandria
#:uiop
#:serapeum
#:alexandria
#:fwoar.lisputils)
:serial t
:components ((:file "gap-dates")))
*.fasl