Z3ALV46TWXGAUOXZXRFE6RCH66NCJ7GVNS43TYWXWN24TA5JVHCQC DMVJE4YKX7MTDD7UBEEJHNJW3HNMPI6XSKNXJW2XTFHYLSXOJVIAC RXCY7LD6ZRIOIKZEYKLMCYPMQPXF4DOEEFBDLVR2B22BXLZJFFBQC A3TVGLVHSVLMEHLHB3TPBSD3QGNVGX3DIK6BEBDTTHWBNW4ALMRAC IOXOZB2VUXVUEINLFBT4SPSJV32X5ZFT5FKSVRAIEXEFQJLG6MHQC BWGNLG4PJFLOW4GDWTXIE46CQT5DKZOZZKCDJ5AQI3Y6VBJRY3YQC IOVPOFAVXEQIZ7BCFVVAWFW3RYFXPK2GOILDWA6N6QHQHLAJ4XTAC 2GNS6EEXJ7EEZWESALVQ2QOGEVWOEE4VC6HOKCLL7UTEPFACJYKQC Z52JJYAJTTGPLIRJ52WJLMLS6Y2TK3T47WERVXGUB7LL2DUCPT7QC G4ZTZQYD5K6LXCC2TYN7RP6XTTIYBCPLOQCVPUNX56RYHKXLX7YQC F3ENAOSOVGL4WEGHDMXC7MHRZK2Q4M35YYW433N2ABZ6S3SU4AAQC IUA6MCZWWCFQ4EJ4GBWYAPLM4IE7SFB34CGSJJTBVOAFTSL4EDEAC HYWL3DRCGDQHQPSW5ZSLUWK7XTYKN7SXPTA6OFVX2BSF7YPOCEDQC 5FLRDDUAB7NCOKJKK57IVQBETGX7JTT7GVKFT46ORSZ7OJ7Q2UFQC YXDBKG5MWREH25GV2RUUW7ZI4P2XBNMZSB77WND3A6LUAL4NN63QC LTCK5KZE6YIKQ5BOD5SJ7OUVD63P7AV7TN7EJZ6CWNFCT3VIUVCAC RGFDOFKTNGGWWOX7GBFWVQ5QXLESD362GRYYBCLDB3KYWYPP6QHQC UIXIJMKKE7STQ65EALHSRFO7J64YCRPRQOQRAX7FJ27455W4X3WAC EEDP7EJG66AFQBOD62VHUAH5XPQTOPN5NCI4S27P5JSFLE7V57BAC 7F7T4E5VD2K7I2YRWYPP7EFJTAII5O6LCXDZ3JDXCVOEBJK7HSJQC LA4734RIK7CSKUNJCTCI2KCBPNOKELRXVTW6HEPWY65LSYSA3CWAC (defun fwoar/cider-hook-base ()(flycheck-mode)(rainbow-delimiters-mode 1)(evil-smartparens-mode 1)(smartparens-strict-mode 1)(helm-cider-mode 1)(cider-company-enable-fuzzy-completion))(defun fwoar/cider-hook ()(fwoar/cider-hook-base)(aggressive-indent-mode 1))(defun fwoar/cider-repl-hook ()(fwoar/cider-hook-base)(aggressive-indent-mode 0))(defun fwoar/cider-eval-expression-at-point-in-repl ()(interactive)(let ((form (cider-defun-at-point)));; Strip excess whitespace(while (string-match "\\`\s+\\|\n+\\'" form)(setq form (replace-match "" t t form)))(with-current-buffer (cider-current-repl nil t)(let ((fw/window (get-buffer-window)))(with-selected-window fw/window(end-of-buffer)(insert form)(cider-repl-return)(end-of-buffer))))))(use-package cider:ensure t:config(require 'cider-selector)(define-key evil-normal-state-map " t" 'cider-test-run-ns-tests)(evil-define-key 'normal clojure-mode-map " '" 'helm-cider-apropos)(def-cider-selector-method ?S "find clojure project file"(fwoar--find-system))(add-hook 'cider-mode-hook 'fwoar/cider-hook)(add-hook 'cider-repl-mode-hook 'fwoar/cider-repl-hook)(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)(modify-syntax-entry ?. "w" clojure-mode-syntax-table)(define-key cider-repl-mode-map (kbd "C-c M-o") 'cider-repl-clear-buffer)(define-key cider-repl-mode-map (kbd "C-c C-o") 'cider-repl-clear-output)(setq cider-save-file-on-load tcider-repl-history-file "~/.emacs.d/cider-history.clj")(define-key cider-mode-map(kbd "C-c C-j") 'fwoar/cider-eval-expression-at-point-in-repl))(use-package flycheck-clj-kondo:ensure t)
(defun fwoar/cider-hook-base ()(flycheck-mode)(rainbow-delimiters-mode 1)(evil-smartparens-mode 1)(smartparens-strict-mode 1)(helm-cider-mode 1)(cider-company-enable-fuzzy-completion))(defun fwoar/cider-hook ()(fwoar/cider-hook-base)(aggressive-indent-mode 1))(defun fwoar/cider-repl-hook ()(fwoar/cider-hook-base)(aggressive-indent-mode 0))(defun fwoar/cider-eval-expression-at-point-in-repl ()(interactive)(let ((form (cider-defun-at-point)));; Strip excess whitespace(while (string-match "\\`\s+\\|\n+\\'" form)(setq form (replace-match "" t t form)))(with-current-buffer (cider-current-repl nil t)(let ((fw/window (get-buffer-window)))(with-selected-window fw/window(end-of-buffer)(insert form)(cider-repl-return)(end-of-buffer))))))(use-package cider:ensure t:config(require 'cider-selector)(define-key evil-normal-state-map " t" 'cider-test-run-ns-tests)(evil-define-key 'normal clojure-mode-map " '" 'helm-cider-apropos)(def-cider-selector-method ?S "find clojure project file"(fwoar--find-system))(add-hook 'cider-mode-hook 'fwoar/cider-hook)(add-hook 'cider-repl-mode-hook 'fwoar/cider-repl-hook)(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)(modify-syntax-entry ?. "w" clojure-mode-syntax-table)(define-key cider-repl-mode-map (kbd "C-c M-o") 'cider-repl-clear-buffer)(define-key cider-repl-mode-map (kbd "C-c C-o") 'cider-repl-clear-output)(setq cider-save-file-on-load tcider-repl-history-file "~/.emacs.d/cider-history.clj")(define-key cider-mode-map(kbd "C-c C-j") 'fwoar/cider-eval-expression-at-point-in-repl))(use-package clj-refactor:after cider:ensure t:config(evil-define-key 'normal clojure-mode-map (kbd "SPC r") 'hydra-cljr-toplevel-form-menu/body))(use-package helm-cider:after cider helm:ensure t)(use-package flycheck-clj-kondo:after flycheck:ensure t)(defun find-clojure-project-file ()(let ((systems (directory-files(locate-dominating-file default-directory(lambda (n)(or (directory-files n nil "project.clj")(directory-files n nil "build.boot")(directory-files n nil "deps.edn")(directory-files n nil "shadow-cljs.edn"))))t "^\\(project.clj\\|build.boot\\|deps.edn\\|shadow-cljs.edn\\)$")))(find-file (if (not (null (cdr systems)))(helm-comp-read "system:" systems)(car systems)))))(cl-defmethod fwoar--find-system (&context (major-mode (derived-mode clojure-mode)))(find-clojure-project-file))(cl-defmethod fwoar--find-system (&context (major-mode (derived-mode cider-repl-mode)))(find-clojure-project-file))(defmethod fwoar--pl-selector (&context (major-mode clojure-mode))(cider-selector))(defmethod fwoar--pl-selector (&context (projectile-project-type (eql :clojure)))(cider-selector))(defmethod fwoar--pl-selector (&context (major-mode cider-repl-mode))(cider-selector))
(cl-defmethod fwoar--find-system (&context (major-mode clojure-mode))(let ((systems (directory-files(locate-dominating-file default-directory(lambda (n)(or (directory-files n nil "project.clj")(directory-files n nil "build.boot")(directory-files n nil "deps.edn")(directory-files n nil "shadow-cljs.edn"))))t "^\\(project.clj\\|build.boot\\|deps.edn\\|shadow-cljs.edn\\)$")))(find-file (if (not (null (cdr systems)))(helm-comp-read "system:" systems)(car systems)))))
(:method (&context (major-mode clojure-mode))(cider-selector))(:method (&context (projectile-project-type (eql :clojure)))(cider-selector))(:method (&context (major-mode cider-repl-mode))(cider-selector)))
(use-package cider:ensure t:config(require 'cider-selector)(define-key evil-normal-state-map " t" 'cider-test-run-ns-tests)(evil-define-key 'normal clojure-mode-map " '" 'helm-cider-apropos)(def-cider-selector-method ?S "find clojure project file"(fwoar--find-system))(add-hook 'cider-mode-hook(lambda ()(flycheck-mode)(rainbow-delimiters-mode 1)(evil-smartparens-mode 1)(smartparens-strict-mode 1)(aggressive-indent-mode 1)(helm-cider-mode 1)(cider-company-enable-fuzzy-completion)))(add-hook 'cider-repl-mode-hook(lambda ()(rainbow-delimiters-mode 1)(evil-smartparens-mode 1)(smartparens-strict-mode 1)(aggressive-indent-mode 0)(helm-cider-mode 1)(cider-company-enable-fuzzy-completion)))(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)(define-key cider-repl-mode-map (kbd "C-c M-o") 'cider-repl-clear-buffer)(define-key cider-repl-mode-map (kbd "C-c C-o") 'cider-repl-clear-output)(setq cider-save-file-on-load tcider-repl-history-file "~/.emacs.d/cider-history.clj")(defun cider-eval-expression-at-point-in-repl ()(interactive)(let ((form (cider-defun-at-point)));; Strip excess whitespace(while (string-match "\\`\s+\\|\n+\\'" form)(setq form (replace-match "" t t form)))(with-current-buffer (cider-current-repl nil t)(let ((fw/window (get-buffer-window)))(with-selected-window fw/window(end-of-buffer)(insert form)(cider-repl-return)(end-of-buffer))))))(define-key cider-mode-map(kbd "C-c C-j") 'cider-eval-expression-at-point-in-repl);; https://github.com/clojure-emacs/cider/issues/2435(defun cider--gather-session-params (session)"Gather all params for a SESSION."(let (params)(dolist (repl (cdr session))(when (buffer-name repl)(setq params (cider--gather-connect-params params repl))))(when-let* ((server (cider--session-server session)))(setq params (cider--gather-connect-params params server)))params)))(use-package flycheck-clj-kondo:ensure t)
(defvar *fwoar-git-repos*(file-name-as-directory(expand-file-name (car (file-expand-wildcards "~/git*_repos"))"~")))
(use-package browse-at-remote:after magit:ensure t:config (push (cons "gitlab.cj.com" "gitlab")browse-at-remote-remote-type-domains))
(defun fwoar-git-repo (name ssh-remote http-remote)(let ((dir-name (file-name-as-directory (expand-file-name name *fwoar-git-repos*))))(unless (file-exists-p dir-name)(ecase fwoar-git-mode(:ssh (magit-run-git-with-input "clone" ssh-remote dir-name))(:http (magit-run-git-with-input "clone" http-remote dir-name))))dir-name))
(eval-and-compile(defvar *fwoar-git-repos*(file-name-as-directory(expand-file-name (car (file-expand-wildcards "~/git*_repos"))"~"))))(eval-and-compile(defun fwoar-git-repo (name ssh-remote http-remote)(let ((dir-name (file-name-as-directory (expand-file-name name *fwoar-git-repos*))))(unless (file-exists-p dir-name)(ecase fwoar-git-mode(:ssh (magit-run-git-with-input "clone" ssh-remote dir-name))(:http (magit-run-git-with-input "clone" http-remote dir-name))))dir-name)))
(defun fwoar/cider-hook-base ()(flycheck-mode)(rainbow-delimiters-mode 1)(evil-smartparens-mode 1)(smartparens-strict-mode 1)(helm-cider-mode 1)(cider-company-enable-fuzzy-completion))(defun fwoar/cider-hook ()(fwoar/cider-hook-base)(aggressive-indent-mode 1))(defun fwoar/cider-repl-hook ()(fwoar/cider-hook-base)(aggressive-indent-mode 0))(defun fwoar/cider-eval-expression-at-point-in-repl ()(interactive)(let ((form (cider-defun-at-point)));; Strip excess whitespace(while (string-match "\\`\s+\\|\n+\\'" form)(setq form (replace-match "" t t form)))(with-current-buffer (cider-current-repl nil t)(let ((fw/window (get-buffer-window)))(with-selected-window fw/window(end-of-buffer)(insert form)(cider-repl-return)(end-of-buffer))))))(use-package cider:ensure t:config(require 'cider-selector)(define-key evil-normal-state-map " t" 'cider-test-run-ns-tests)(evil-define-key 'normal clojure-mode-map " '" 'helm-cider-apropos)(def-cider-selector-method ?S "find clojure project file"(fwoar--find-system))(add-hook 'cider-mode-hook 'fwoar/cider-hook)(add-hook 'cider-repl-mode-hook 'fwoar/cider-repl-hook)(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)(modify-syntax-entry ?. "w" clojure-mode-syntax-table)(define-key cider-repl-mode-map (kbd "C-c M-o") 'cider-repl-clear-buffer)(define-key cider-repl-mode-map (kbd "C-c C-o") 'cider-repl-clear-output)(setq cider-save-file-on-load tcider-repl-history-file "~/.emacs.d/cider-history.clj")(define-key cider-mode-map(kbd "C-c C-j") 'fwoar/cider-eval-expression-at-point-in-repl))(use-package flycheck-clj-kondo:ensure t)
(defun fwoar/cider-hook-base ()(flycheck-mode)(rainbow-delimiters-mode 1)(evil-smartparens-mode 1)(smartparens-strict-mode 1)(helm-cider-mode 1)(cider-company-enable-fuzzy-completion))(defun fwoar/cider-hook ()(fwoar/cider-hook-base)(aggressive-indent-mode 1))(defun fwoar/cider-repl-hook ()(fwoar/cider-hook-base)(aggressive-indent-mode 0))(defun fwoar/cider-eval-expression-at-point-in-repl ()(interactive)(let ((form (cider-defun-at-point)));; Strip excess whitespace(while (string-match "\\`\s+\\|\n+\\'" form)(setq form (replace-match "" t t form)))(with-current-buffer (cider-current-repl nil t)(let ((fw/window (get-buffer-window)))(with-selected-window fw/window(end-of-buffer)(insert form)(cider-repl-return)(end-of-buffer))))))(use-package cider:ensure t:config(require 'cider-selector)(define-key evil-normal-state-map " t" 'cider-test-run-ns-tests)(evil-define-key 'normal clojure-mode-map " '" 'helm-cider-apropos)(def-cider-selector-method ?S "find clojure project file"(fwoar--find-system))(add-hook 'cider-mode-hook 'fwoar/cider-hook)(add-hook 'cider-repl-mode-hook 'fwoar/cider-repl-hook)(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)(modify-syntax-entry ?. "w" clojure-mode-syntax-table)(define-key cider-repl-mode-map (kbd "C-c M-o") 'cider-repl-clear-buffer)(define-key cider-repl-mode-map (kbd "C-c C-o") 'cider-repl-clear-output)(setq cider-save-file-on-load tcider-repl-history-file "~/.emacs.d/cider-history.clj")(define-key cider-mode-map(kbd "C-c C-j") 'fwoar/cider-eval-expression-at-point-in-repl))(use-package clj-refactor:after cider:ensure t:config(evil-define-key 'normal clojure-mode-map (kbd "SPC r") 'hydra-cljr-toplevel-form-menu/body))(use-package helm-cider:after cider helm:ensure t)(use-package flycheck-clj-kondo:after flycheck:ensure t)(defun find-clojure-project-file ()(let ((systems (directory-files(locate-dominating-file default-directory(lambda (n)(or (directory-files n nil "project.clj")(directory-files n nil "build.boot")(directory-files n nil "deps.edn")(directory-files n nil "shadow-cljs.edn"))))t "^\\(project.clj\\|build.boot\\|deps.edn\\|shadow-cljs.edn\\)$")))(find-file (if (not (null (cdr systems)))(helm-comp-read "system:" systems)(car systems)))))(cl-defmethod fwoar--find-system (&context (major-mode (derived-mode clojure-mode)))(find-clojure-project-file))(cl-defmethod fwoar--find-system (&context (major-mode (derived-mode cider-repl-mode)))(find-clojure-project-file))(defmethod fwoar--pl-selector (&context (major-mode clojure-mode))(cider-selector))(defmethod fwoar--pl-selector (&context (projectile-project-type (eql :clojure)))(cider-selector))(defmethod fwoar--pl-selector (&context (major-mode cider-repl-mode))(cider-selector))