IOVPOFAVXEQIZ7BCFVVAWFW3RYFXPK2GOILDWA6N6QHQHLAJ4XTAC NHITY23HIXZZXKKRU5SBD2PWJDV4ZG6MM2FDDIY4TCQU672B3BQQC W4726ORKDCI53XH2QPETZ3EZ6ZPZBJGH6A7MTTT3RDW5U57XC5WQC ZIZORUH6UNA67S6DRRGGCTSOCYENTHGODHJ5JP3UUPLIKGYU5UVAC 3AQHW3RR5CDW5JAMCAL3RRCPFYBEZWGF73XNF6LRVQZCMSCENVAQC RXCY7LD6ZRIOIKZEYKLMCYPMQPXF4DOEEFBDLVR2B22BXLZJFFBQC A3TVGLVHSVLMEHLHB3TPBSD3QGNVGX3DIK6BEBDTTHWBNW4ALMRAC EKU4KQ6YHQNKNT3IPCB3LFVFAHOYVJAHJ7F7QBIZQZII7AJBJNQAC EMMDV4VWIOO4QOTNDGNSIA4A56NZN5DAWSL6GSSPSLXLJKXDFHMQC WQLSZKP6BVOVBZPJ2HLUYQX7CIL6MNUXVIZ7GPFEXKHIQQLXCQCQC Q7EOKUVVNTVH7NENBGM76GCFN42ZPMOPT7CID7UJM3PAGYQDV4MAC DWJHLZWVL7RM2WQXN3ZJTJXXKUEUNQLL37TMMTPL7NL375M2QJCQC 2FUUFSLCH746TSMGBJPGPPYKV3QSTBADMJTWPRGGMDPZFEWPNUMQC MPV56DW5NAXS6L6VCGVVRZU4HYDMVW6QUQ2I5ZVYXWZRUS4WLWRAC CS2PMYI343VVUB2UZE4JH6UPMIKYK55KTJSMSLIMA4YDVLI6MPZQC 77QH2VAN2U4ZU64XMKKMH5L6LPV3SSYSFOTPMHYG3Q6N5YI5SQSAC ;;;; -*- mode: Emacs-Lisp;-*-(setq default-directory "~/emacs-home/")(make-directory default-directory t)(let ((default-directory "~/.emacs.d/lisp/"))(make-directory default-directory t)(normal-top-level-add-to-load-path '("."))(normal-top-level-add-subdirs-to-load-path))(setq vc-follow-symlinks t)(require 'package)(setq package-archives '(("gnu" . "http://elpa.gnu.org/packages/")("org" . "http://orgmode.org/elpa/")("melpa" . "https://melpa.org/packages/")("melpa-stable" . "http://stable.melpa.org/packages/"))package-archive-priorities '(("melpa-stable" . 1)("gnu" . 0)("melpa" . 2)("org" . 3)))(package-initialize)(when (not (package-installed-p 'use-package))(package-refresh-contents)(package-install 'use-package))(require 'use-package)(use-package evil:ensure t:config(define-key evil-normal-state-map " o" 'slime-selector)(define-key evil-insert-state-map (kbd "TAB") 'company-complete)(use-package lisp-skeletons:ensure t:config(add-hook 'skeleton-end-hook 'skeleton-make-markers))(defun helm-generate-lisp-skeleton ()(interactive)(let ((skeletons '(("defunction" . skel-defun)("defmacro" . skel-defmacro)("defparameter" . skel-defparameter)("defvar" . skel-defvar))))(funcall (helm-comp-read "code template: " skeletons))))(define-key evil-normal-state-map " g" 'helm-generate-lisp-skeleton)(define-key evil-visual-state-map " g" 'helm-generate-lisp-skeleton));;;;; INDENTATION SETUP {{{(progn(setq-default indent-tabs-mode niltab-width 2)(defvaralias 'c-basic-offset 'tab-width)(defvaralias 'sh-basic-offset 'tab-width)(defvaralias 'js2-basic-offset 'tab-width)(defvaralias 'sgml-basic-offset 'tab-width)(defvaralias 'cperl-indent-level 'tab-width));;;;; }}};;;;; SLIME SETUP {{{(progn ;slime isn't loaded via use-package because quicklisp-helper keeps it uptodate(load (expand-file-name "~/quicklisp/slime-helper.el"));; Replace "sbcl" with the path to your implementation(setq inferior-lisp-program "~/sbcl/bin/sbcl")(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)))(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-fancyslime-companyslime-macrostepslime-trace-dialogslime-mdot-fu)))(use-package slime-company:no-require t:defer t:ensure t);;;;; }}}(use-package company:ensure t:config;; keybindings(progn (define-key company-active-map (kbd "C-c h") 'company-quickhelp-manual-begin)(define-key company-active-map (kbd "SPC") (kbd "RET SPC"))(define-key company-active-map (kbd "(") (kbd "RET SPC ("))(define-key company-active-map (kbd "{") (kbd "RET SPC {"))(define-key company-active-map (kbd "[") (kbd "RET [")))(message "backends: %s" company-backends)(setq company-backends'(company-clangcompany-bbdbcompany-nxmlcompany-csscompany-xcodecompany-cmakecompany-capfcompany-files(company-dabbrev-codecompany-gtagscompany-etagscompany-keywords)company-oddmusecompany-dabbrev)));; NOTE: this must be here...(slime-setup)(global-company-mode 1)(use-package projectile:ensure t)(use-package sbt-mode:ensure t:pin melpa-stable)(use-package scala-mode:ensure t:pin melpa-stable)(use-package ensime:ensure t)(use-package intero:ensure t);; (use-package jdee;; :ensure t)(use-package mvn:ensure t)(use-package css-eldoc:ensure t)(use-package ag:ensure t)(use-package evil-vimish-fold:ensure t:config(evil-vimish-fold-mode 1))(use-package zenburn-theme:ensure t)(use-package zeal-at-point:ensure t)(use-package rainbow-delimiters:ensure t)(use-package tabbar:ensure t)(use-package helm:ensure t)(use-package helm-projectile:ensure t)(use-package evil-visual-mark-mode:ensure t)(advice-add 'evil-delete-marks :after(lambda (&rest args)(evil-visual-mark-render)))(use-package evil-nerd-commenter:ensure t:config(evilnc-default-hotkeys t))(use-package paredit:ensure t:config(defun paredit-wiggle-back ()(paredit-forward)(paredit-backward))(defmacro defparedit-wrapper (name invoked-wrapper)`(defun ,name ()(interactive)(paredit-wiggle-back)(,invoked-wrapper)))(defparedit-wrapper back-then-wrap paredit-wrap-sexp)(defparedit-wrapper back-then-wrap-square paredit-wrap-square)(defparedit-wrapper back-then-wrap-curly paredit-wrap-curly)(defparedit-wrapper back-then-wrap-angled paredit-wrap-angled)(defparedit-wrapper back-then-wrap-doublequote paredit-meta-doublequote)(define-key evil-normal-state-map ",W" 'back-then-wrap)(define-key evil-normal-state-map ",w]" 'back-then-wrap-square)(define-key evil-normal-state-map ",w}" 'back-then-wrap-curly)(define-key evil-normal-state-map ",w>" 'back-then-wrap-angled)(define-key evil-normal-state-map ",w\"" 'back-then-wrap-doublequote)(define-key evil-normal-state-map ",S" 'paredit-splice-sexp)(define-key evil-normal-state-map ",A" 'paredit-splice-sexp-killing-backward)(define-key evil-normal-state-map ",D" 'paredit-splice-sexp-killing-forward)(define-key evil-normal-state-map ",|" 'paredit-split-sexp)(define-key evil-normal-state-map ",J" 'paredit-join-sexps)(define-key evil-normal-state-map ",<" 'paredit-backward-slurp-sexp)(define-key evil-normal-state-map ",," 'paredit-backward-barf-sexp)(define-key evil-normal-state-map ",>" 'paredit-forward-slurp-sexp)(define-key evil-normal-state-map ",." 'paredit-forward-barf-sexp)(define-key evil-normal-state-map ",~" 'paredit-convolute-sexp))(use-package evil-paredit:ensure t)(use-package evil-numbers:ensure t:config(global-set-key (kbd "C-c +") 'evil-numbers/inc-at-pt)(global-set-key (kbd "C-c -") 'evil-numbers/dec-at-pt))(use-package eldoc-eval:ensure t)(use-package editorconfig:ensure t:config(editorconfig-mode 1))(use-package csv-mode:ensure t)(use-package color-theme:ensure t)(use-package ansible:ensure t)(use-package alect-themes:ensure t)(use-package ac-js2:ensure t)(use-package yaml-mode:ensure t)(use-package web-mode:ensure t)(use-package vue-mode:ensure t)(use-package typescript-mode:ensure t)(use-package scss-mode:ensure t)(use-package rust-mode:ensure t)(use-package markdown-mode:ensure t)(use-package magit:ensure t)(use-package highlight-parentheses:ensure t)(use-package helm-projectile:ensure t)(use-package helm-ls-git:ensure t);;(use-package helm-git;; :ensure t)(use-package helm-css-scss:ensure t)(use-package helm-cider:ensure t)(use-package helm-ag-r:ensure t)(use-package helm-ag:ensure t)(use-package evil-surround:ensure t)(use-package evil-leader:ensure t)(use-package emmet-mode:ensure t)(use-package project-explorer:ensure t)(use-package ggtags:ensure t:config(ggtags-mode 1)(add-hook 'c-mode-common-hook(lambda ()(when (derived-mode-p 'c-mode 'c++-mode 'java-mode 'asm-mode)(ggtags-mode 1)))))(use-package pollen-mode:config(defun insert-lozenge ()(interactive)(insert-char 9674))(define-key evil-insert-state-map (kbd "C-c C-l") 'insert-lozenge))(progn ; helm(require 'helm-config)(helm-mode)(global-set-key (kbd "C-x C-f") 'helm-find-files)(define-key evil-normal-state-map " f" 'helm-projectile)(define-key evil-normal-state-map " j" 'helm-buffers-list)(global-set-key (kbd "M-x") 'helm-M-x))(require 'js2-mode)(require 'projectile)(projectile-mode)(add-hook 'after-init-hook(lambda ()(unless (server-running-p)(server-start))(evil-mode)(paredit-mode)(evil-paredit-mode)(global-company-mode)(global-linum-mode)))(progn ; linum(setq linum-format "%5d\u2502"))(require 'evil-numbers)(define-key evil-normal-state-map "ZZ" 'save-buffer)(define-key evil-normal-state-map ",zz" 'zeal-at-point)(modify-syntax-entry ?_ "w" js-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 ?~ "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" emacs-lisp-mode-syntax-table)(modify-syntax-entry ?_ "w" emacs-lisp-mode-syntax-table)(let ((default-directory "~/.emacs.d/lisp/"))(make-directory default-directory t)(normal-top-level-add-subdirs-to-load-path))(custom-set-faces;; custom-set-faces was added by Custom.;; If you edit it by hand, you could mess it up, so be careful.;; Your init file should contain only one such instance.;; If there is more than one, they won't work right.'(default ((t (:family "Source Code Pro" :foundry "adobe" :slant normal :weight semi-bold :height 113 :width normal)))))(setq erc-hide-list '("JOIN" "PART" "QUIT"));; (defun znc-erc ();; (interactive);; (erc-ssl :server "localhost" :port 6697 :nick "edwlan/freenode" :password "t31ch3rtb"))(add-to-list 'auto-mode-alist '("\\.cljs\\.hl\\'" . clojurescript-mode))(add-hook 'ruby-mode-hook'(lambda ()(eldoc-mode)(robe-mode)))(add-hook 'clojure-mode-hook'(lambda ();; Hoplon functions and macros(paredit-mode)(define-key evil-insert-state-map "^N" 'helm-cider-apropos)(dolist (pair '((page . 'defun)(loop-tpl . 'defun)(if-tpl . '1)(for-tpl . '1)(case-tpl . '1)(cond-tpl . 'defun)))(put-clojure-indent (car pair)(car (last pair))))))(setq tls-program '("openssl s_client -connect %h:%p -no_ssl2 -ign_eof"))(global-auto-revert-mode t);;; Use auto-complete for ensime(defun scala/enable-eldoc ()"Show error message or type name at point by Eldoc."(setq-local eldoc-documentation-function#'(lambda ()(when (ensime-connected-p)(let ((err (ensime-print-errors-at-point)))(or (and err (not (string= err "")) err)(ensime-print-type-at-point))))))(eldoc-mode +1))(defun scala/completing-dot-company ()(cond (company-backend(company-complete-selection)(scala/completing-dot))(t(insert ".")(company-complete))))(defun scala/completing-dot-ac ()(insert ".")(ac-trigger-key-command t));; Interactive commands(defun scala/completing-dot ()"Insert a period and show company completions."(interactive "*")(eval-and-compile (require 'ensime))(eval-and-compile (require 's))(when (s-matches? (rx (+ (not space)))(buffer-substring (line-beginning-position) (point)))(delete-horizontal-space t))(cond ((not (and (ensime-connected-p) ensime-completion-style))(insert "."))((eq ensime-completion-style 'company)(scala/completing-dot-company))((eq ensime-completion-style 'auto-complete)(scala/completing-dot-ac))));; Initialization(add-hook 'ensime-mode-hook #'scala/enable-eldoc)(add-hook 'scala-mode-hook 'ensime-scala-mode-hook)(add-hook 'scala-mode-hook 'flycheck-mode)(add-hook 'haskell-mode-hook 'intero-mode)(add-hook 'c-mode-common-hook(lambda ()(when (derived-mode-p 'c-mode 'c++-mode 'java-mode)(semantic-mode 1)(global-semanticdb-minor-mode 1)(global-semantic-idle-scheduler-mode 1)(global-semantic-stickyfunc-mode 1)(helm-gtags-mode)(ggtags-mode 1))))(setq company-backends (delete 'company-semantic company-backends))(defun alexott/cedet-hook ()(local-set-key "\C-c\C-j" 'semantic-ia-fast-jump)(local-set-key "\C-c\C-s" 'semantic-ia-show-summary))(add-hook 'c-mode-common-hook 'alexott/cedet-hook)(add-hook 'c-mode-hook 'alexott/cedet-hook)(add-hook 'c++-mode-hook 'alexott/cedet-hook)(defun set-exec-path-from-shell-PATH ()"Set up Emacs' `exec-path' and PATH environment variable to match that used by the user's shell.This is particularly useful under Mac OSX, where GUI apps are not started from a shell."(interactive)(let ((path-from-shell (replace-regexp-in-string "[ \t\n]*$" "" (shell-command-to-string "$SHELL --login -i -c 'echo $PATH'"))))(setenv "PATH" path-from-shell)(setq exec-path (split-string path-from-shell path-separator))))(set-exec-path-from-shell-PATH)(require 'ede)(global-ede-mode)(custom-set-variables;; custom-set-variables was added by Custom.;; If you edit it by hand, you could mess it up, so be careful.;; Your init file should contain only one such instance.;; If there is more than one, they won't work right.'(ansi-color-faces-vector[default bold shadow italic underline bold bold-italic bold])'(ansi-color-names-vector["#212526" "#ff4b4b" "#b4fa70" "#fce94f" "#729fcf" "#e090d7" "#8cc4ff" "#eeeeec"])'(browse-url-browser-function (quote browse-url-generic))'(browse-url-generic-program "x-www-browser")'(company-backends(quote(company-semantic company-bbdb company-nxml company-css company-xcode company-cmake company-capf company-files(company-dabbrev-code company-gtags company-etags company-keywords)company-oddmuse company-dabbrev)))'(custom-enabled-themes (quote (zenburn)))'(custom-safe-themes(quote("f5512c02e0a6887e987a816918b7a684d558716262ac7ee2dd0437ab913eaec6" "9d91458c4ad7c74cf946bd97ad085c0f6a40c370ac0a1cbeb2e3879f15b40553" "4e753673a37c71b07e3026be75dc6af3efbac5ce335f3707b7d6a110ecb636a3" "4aee8551b53a43a883cb0b7f3255d6859d766b6c5e14bcb01bed572fcbef4328" "ab04c00a7e48ad784b52f34aa6bfa1e80d0c3fcacc50e1189af3651013eb0d58" "a0feb1322de9e26a4d209d1cfa236deaf64662bb604fa513cca6a057ddf0ef64" default)))'(erc-modules(quote(autoaway autojoin button capab-identify completion fill irccontrols list match menu move-to-prompt netsplit networks noncommands readonly ring stamp spelling track)))'(erc-truncate-mode t)'(evil-leader/leader ",")'(evil-visual-mark-mode t)'(font-use-system-font t)'(ggtags-sort-by-nearness t)'(ggtags-update-on-save t)'(global-evil-surround-mode t)'(global-linum-mode t)'(haskell-mode-hook(quote(capitalized-words-mode haskell-decl-scan-mode haskell-indentation-mode highlight-uses-mode imenu-add-menubar-index interactive-haskell-mode)) t)'(helm-ls-git-fuzzy-match t)'(jdee-server-dir "~/.emacs.d/jdee-server/")'(jira-url "https://atomampd.atlassian.net/rpc/xmlrpc")'(line-number-mode nil)'(mac-command-modifier nil)'(mac-option-modifier (quote meta))'(mac-pass-command-to-system t)'(nrepl-message-colors(quote("#CC9393" "#DFAF8F" "#F0DFAF" "#7F9F7F" "#BFEBBF" "#93E0E3" "#94BFF3" "#DC8CC3")))'(package-selected-packages(quote(deft geiser pollen-mode js2-refactor npm-mode helm-dash aggressive-indent company-tern tern srefactor ac-slime znc helm-ag ag helm-projectile notmuch zenburn-theme zeal-at-point use-package tabbar slime-company rainbow-delimiters projectile mvn jdee intero helm evil-visual-mark-mode evil-vimish-fold evil-paredit evil-numbers ensime eldoc-eval editorconfig color-theme ansible alect-themes ac-js2)))'(pe/omit-gitignore t)'(safe-local-variable-values(quote((company-clang-arguments "-I.")(Base . 10)(Package . CL-USER)(Syntax . COMMON-LISP))))'(slime-company-completion (quote fuzzy)))
;;;; -*- mode: Emacs-Lisp;-*-(setq default-directory "~/emacs-home/")(make-directory default-directory t)(let ((default-directory "~/.emacs.d/lisp/"))(make-directory default-directory t)(normal-top-level-add-to-load-path '("."))(normal-top-level-add-subdirs-to-load-path))(setq vc-follow-symlinks t)(require 'package)(setq package-archives '(("gnu" . "http://elpa.gnu.org/packages/")("org" . "http://orgmode.org/elpa/")("melpa" . "https://melpa.org/packages/")("melpa-stable" . "http://stable.melpa.org/packages/"))package-archive-priorities '(("melpa-stable" . 1)("gnu" . 0)("melpa" . 2)("org" . 3)))(package-initialize)(when (not (package-installed-p 'use-package))(package-refresh-contents)(package-install 'use-package))(require 'use-package)(use-package evil:ensure t:config(define-key evil-normal-state-map " o" 'slime-selector)(define-key evil-insert-state-map (kbd "TAB") 'company-complete)(use-package lisp-skeletons:ensure t:config(add-hook 'skeleton-end-hook 'skeleton-make-markers))(defun helm-generate-lisp-skeleton ()(interactive)(let ((skeletons '(("defunction" . skel-defun)("defmacro" . skel-defmacro)("defparameter" . skel-defparameter)("defvar" . skel-defvar))))(funcall (helm-comp-read "code template: " skeletons))))(define-key evil-normal-state-map " g" 'helm-generate-lisp-skeleton)(define-key evil-visual-state-map " g" 'helm-generate-lisp-skeleton));;;;; INDENTATION SETUP {{{(progn(setq-default indent-tabs-mode niltab-width 2)(defvaralias 'c-basic-offset 'tab-width)(defvaralias 'sh-basic-offset 'tab-width)(defvaralias 'js2-basic-offset 'tab-width)(defvaralias 'sgml-basic-offset 'tab-width)(defvaralias 'cperl-indent-level 'tab-width));;;;; }}};;;;; SLIME SETUP {{{(progn ;slime isn't loaded via use-package because quicklisp-helper keeps it uptodate(load (expand-file-name "~/quicklisp/slime-helper.el"));; Replace "sbcl" with the path to your implementation(setq inferior-lisp-program "~/sbcl/bin/sbcl")(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)))(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-fancyslime-companyslime-macrostepslime-trace-dialogslime-mdot-fu)))(use-package slime-company:no-require t:defer t:ensure t);;;;; }}}(use-package company:ensure t:config;; keybindings(progn (define-key company-active-map (kbd "C-c h") 'company-quickhelp-manual-begin)(define-key company-active-map (kbd "SPC") (kbd "RET SPC"))(define-key company-active-map (kbd "(") (kbd "RET SPC ("))(define-key company-active-map (kbd "{") (kbd "RET SPC {"))(define-key company-active-map (kbd "[") (kbd "RET [")))(message "backends: %s" company-backends)(setq company-backends'(company-clangcompany-bbdbcompany-nxmlcompany-csscompany-xcodecompany-cmakecompany-capfcompany-files(company-dabbrev-codecompany-gtagscompany-etagscompany-keywords)company-oddmusecompany-dabbrev)));; NOTE: this must be here...(slime-setup)(global-company-mode 1)(use-package projectile:ensure t)(use-package sbt-mode:ensure t:pin melpa-stable)(use-package scala-mode:ensure t:pin melpa-stable)(use-package ensime:ensure t)(use-package intero:ensure t);; (use-package jdee;; :ensure t)(use-package mvn:ensure t)(use-package css-eldoc:ensure t)(use-package ag:ensure t)(use-package evil-vimish-fold:ensure t:config(evil-vimish-fold-mode 1))(use-package zenburn-theme:ensure t)(use-package zeal-at-point:ensure t)(use-package rainbow-delimiters:ensure t)(use-package tabbar:ensure t)(use-package helm:ensure t)(use-package helm-projectile:ensure t)(use-package evil-visual-mark-mode:ensure t)(advice-add 'evil-delete-marks :after(lambda (&rest args)(evil-visual-mark-render)))(use-package evil-nerd-commenter:ensure t:config(evilnc-default-hotkeys t))(use-package paredit:ensure t:config(defun paredit-wiggle-back ()(paredit-forward)(paredit-backward))(defmacro defparedit-wrapper (name invoked-wrapper)`(defun ,name ()(interactive)(paredit-wiggle-back)(,invoked-wrapper)))(defparedit-wrapper back-then-wrap paredit-wrap-sexp)(defparedit-wrapper back-then-wrap-square paredit-wrap-square)(defparedit-wrapper back-then-wrap-curly paredit-wrap-curly)(defparedit-wrapper back-then-wrap-angled paredit-wrap-angled)(defparedit-wrapper back-then-wrap-doublequote paredit-meta-doublequote)(define-key evil-normal-state-map ",W" 'back-then-wrap)(define-key evil-normal-state-map ",w]" 'back-then-wrap-square)(define-key evil-normal-state-map ",w}" 'back-then-wrap-curly)(define-key evil-normal-state-map ",w>" 'back-then-wrap-angled)(define-key evil-normal-state-map ",w\"" 'back-then-wrap-doublequote)(define-key evil-normal-state-map ",S" 'paredit-splice-sexp)(define-key evil-normal-state-map ",A" 'paredit-splice-sexp-killing-backward)(define-key evil-normal-state-map ",D" 'paredit-splice-sexp-killing-forward)(define-key evil-normal-state-map ",|" 'paredit-split-sexp)(define-key evil-normal-state-map ",J" 'paredit-join-sexps)(define-key evil-normal-state-map ",<" 'paredit-backward-slurp-sexp)(define-key evil-normal-state-map ",," 'paredit-backward-barf-sexp)(define-key evil-normal-state-map ",>" 'paredit-forward-slurp-sexp)(define-key evil-normal-state-map ",." 'paredit-forward-barf-sexp)(define-key evil-normal-state-map ",~" 'paredit-convolute-sexp))(use-package evil-paredit:ensure t)(use-package evil-numbers:ensure t:config(global-set-key (kbd "C-c +") 'evil-numbers/inc-at-pt)(global-set-key (kbd "C-c -") 'evil-numbers/dec-at-pt))(use-package eldoc-eval:ensure t)(use-package editorconfig:ensure t:config(editorconfig-mode 1))(use-package csv-mode:ensure t)(use-package color-theme:ensure t)(use-package ansible:ensure t)(use-package alect-themes:ensure t)(use-package ac-js2:ensure t)(use-package yaml-mode:ensure t)(use-package web-mode:ensure t)(use-package vue-mode:ensure t)(use-package typescript-mode:ensure t)(use-package scss-mode:ensure t)(use-package rust-mode:ensure t)(use-package markdown-mode:ensure t)(use-package magit:ensure t)(use-package highlight-parentheses:ensure t)(use-package helm-projectile:ensure t)(use-package helm-ls-git:ensure t);;(use-package helm-git;; :ensure t)(use-package helm-css-scss:ensure t)(use-package helm-cider:ensure t)(use-package helm-ag-r:ensure t)(use-package helm-ag:ensure t)(use-package evil-surround:ensure t)(use-package evil-leader:ensure t)(use-package emmet-mode:ensure t)(use-package project-explorer:ensure t)(use-package ggtags:ensure t:config(ggtags-mode 1)(add-hook 'c-mode-common-hook(lambda ()(when (derived-mode-p 'c-mode 'c++-mode 'java-mode 'asm-mode)(ggtags-mode 1)))))(use-package pollen-mode:config(defun insert-lozenge ()(interactive)(insert-char 9674))(define-key evil-insert-state-map (kbd "C-c C-l") 'insert-lozenge))(progn ; helm(require 'helm-config)(helm-mode)(global-set-key (kbd "C-x C-f") 'helm-find-files)(define-key evil-normal-state-map " f" 'helm-projectile)(define-key evil-normal-state-map " j" 'helm-buffers-list)(global-set-key (kbd "M-x") 'helm-M-x))(require 'js2-mode)(require 'projectile)(projectile-mode)(add-hook 'after-init-hook(lambda ()(unless (server-running-p)(server-start))(evil-mode)(paredit-mode)(evil-paredit-mode)(global-company-mode)(global-linum-mode)))(progn ; linum(setq linum-format "%5d\u2502"))(require 'evil-numbers)(define-key evil-normal-state-map "ZZ" 'save-buffer)(define-key evil-normal-state-map ",zz" 'zeal-at-point)(modify-syntax-entry ?_ "w" js-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 ?~ "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" emacs-lisp-mode-syntax-table)(modify-syntax-entry ?_ "w" emacs-lisp-mode-syntax-table)(let ((default-directory "~/.emacs.d/lisp/"))(make-directory default-directory t)(normal-top-level-add-subdirs-to-load-path))(custom-set-faces;; custom-set-faces was added by Custom.;; If you edit it by hand, you could mess it up, so be careful.;; Your init file should contain only one such instance.;; If there is more than one, they won't work right.'(default ((t (:family "Source Code Pro" :foundry "adobe" :slant normal :weight semi-bold :height 113 :width normal)))))(setq erc-hide-list '("JOIN" "PART" "QUIT"));; (defun znc-erc ();; (interactive);; (erc-ssl :server "localhost" :port 6697 :nick "edwlan/freenode" :password "t31ch3rtb"))(add-to-list 'auto-mode-alist '("\\.cljs\\.hl\\'" . clojurescript-mode))(add-hook 'ruby-mode-hook'(lambda ()(eldoc-mode)(robe-mode)))(add-hook 'clojure-mode-hook'(lambda ();; Hoplon functions and macros(paredit-mode)(define-key evil-insert-state-map "^N" 'helm-cider-apropos)(dolist (pair '((page . 'defun)(loop-tpl . 'defun)(if-tpl . '1)(for-tpl . '1)(case-tpl . '1)(cond-tpl . 'defun)))(put-clojure-indent (car pair)(car (last pair))))))(setq tls-program '("openssl s_client -connect %h:%p -no_ssl2 -ign_eof"))(global-auto-revert-mode t);;; Use auto-complete for ensime(defun scala/enable-eldoc ()"Show error message or type name at point by Eldoc."(setq-local eldoc-documentation-function#'(lambda ()(when (ensime-connected-p)(let ((err (ensime-print-errors-at-point)))(or (and err (not (string= err "")) err)(ensime-print-type-at-point))))))(eldoc-mode +1))(defun scala/completing-dot-company ()(cond (company-backend(company-complete-selection)(scala/completing-dot))(t(insert ".")(company-complete))))(defun scala/completing-dot-ac ()(insert ".")(ac-trigger-key-command t));; Interactive commands(defun scala/completing-dot ()"Insert a period and show company completions."(interactive "*")(eval-and-compile (require 'ensime))(eval-and-compile (require 's))(when (s-matches? (rx (+ (not space)))(buffer-substring (line-beginning-position) (point)))(delete-horizontal-space t))(cond ((not (and (ensime-connected-p) ensime-completion-style))(insert "."))((eq ensime-completion-style 'company)(scala/completing-dot-company))((eq ensime-completion-style 'auto-complete)(scala/completing-dot-ac))));; Initialization(add-hook 'ensime-mode-hook #'scala/enable-eldoc)(add-hook 'scala-mode-hook 'ensime-scala-mode-hook)(add-hook 'scala-mode-hook 'flycheck-mode)(add-hook 'haskell-mode-hook 'intero-mode)(add-hook 'c-mode-common-hook(lambda ()(when (derived-mode-p 'c-mode 'c++-mode 'java-mode)(semantic-mode 1)(global-semanticdb-minor-mode 1)(global-semantic-idle-scheduler-mode 1)(global-semantic-stickyfunc-mode 1)(helm-gtags-mode)(ggtags-mode 1))))(setq company-backends (delete 'company-semantic company-backends))(defun alexott/cedet-hook ()(local-set-key "\C-c\C-j" 'semantic-ia-fast-jump)(local-set-key "\C-c\C-s" 'semantic-ia-show-summary))(add-hook 'c-mode-common-hook 'alexott/cedet-hook)(add-hook 'c-mode-hook 'alexott/cedet-hook)(add-hook 'c++-mode-hook 'alexott/cedet-hook)(defun set-exec-path-from-shell-PATH ()"Set up Emacs' `exec-path' and PATH environment variable to match that used by the user's shell.This is particularly useful under Mac OSX, where GUI apps are not started from a shell."(interactive)(let ((path-from-shell (replace-regexp-in-string "[ \t\n]*$" "" (shell-command-to-string "$SHELL --login -i -c 'echo $PATH'"))))(setenv "PATH" path-from-shell)(setq exec-path (split-string path-from-shell path-separator))))(set-exec-path-from-shell-PATH)(require 'ede)(global-ede-mode)(custom-set-variables;; custom-set-variables was added by Custom.;; If you edit it by hand, you could mess it up, so be careful.;; Your init file should contain only one such instance.;; If there is more than one, they won't work right.'(ansi-color-faces-vector[default bold shadow italic underline bold bold-italic bold])'(ansi-color-names-vector["#212526" "#ff4b4b" "#b4fa70" "#fce94f" "#729fcf" "#e090d7" "#8cc4ff" "#eeeeec"])'(browse-url-browser-function (quote browse-url-generic))'(browse-url-generic-program "x-www-browser")'(company-backends(quote(company-semantic company-bbdb company-nxml company-css company-xcode company-cmake company-capf company-files(company-dabbrev-code company-gtags company-etags company-keywords)company-oddmuse company-dabbrev)))'(custom-enabled-themes (quote (zenburn)))'(custom-safe-themes(quote("f5512c02e0a6887e987a816918b7a684d558716262ac7ee2dd0437ab913eaec6" "9d91458c4ad7c74cf946bd97ad085c0f6a40c370ac0a1cbeb2e3879f15b40553" "4e753673a37c71b07e3026be75dc6af3efbac5ce335f3707b7d6a110ecb636a3" "4aee8551b53a43a883cb0b7f3255d6859d766b6c5e14bcb01bed572fcbef4328" "ab04c00a7e48ad784b52f34aa6bfa1e80d0c3fcacc50e1189af3651013eb0d58" "a0feb1322de9e26a4d209d1cfa236deaf64662bb604fa513cca6a057ddf0ef64" default)))'(erc-modules(quote(autoaway autojoin button capab-identify completion fill irccontrols list match menu move-to-prompt netsplit networks noncommands readonly ring stamp spelling track)))'(erc-truncate-mode t)'(evil-leader/leader ",")'(evil-visual-mark-mode t)'(font-use-system-font t)'(ggtags-sort-by-nearness t)'(ggtags-update-on-save t)'(global-evil-surround-mode t)'(global-linum-mode t)'(haskell-mode-hook(quote(capitalized-words-mode haskell-decl-scan-mode haskell-indentation-mode highlight-uses-mode imenu-add-menubar-index interactive-haskell-mode)) t)'(helm-ls-git-fuzzy-match t)'(jdee-server-dir "~/.emacs.d/jdee-server/")'(jira-url "https://atomampd.atlassian.net/rpc/xmlrpc")'(line-number-mode nil)'(mac-command-modifier nil)'(mac-option-modifier (quote meta))'(mac-pass-command-to-system t)'(nrepl-message-colors(quote("#CC9393" "#DFAF8F" "#F0DFAF" "#7F9F7F" "#BFEBBF" "#93E0E3" "#94BFF3" "#DC8CC3")))'(package-selected-packages(quote(deft geiser pollen-mode js2-refactor npm-mode helm-dash aggressive-indent company-tern tern srefactor ac-slime znc helm-ag ag helm-projectile notmuch zenburn-theme zeal-at-point use-package tabbar slime-company rainbow-delimiters projectile mvn jdee intero helm evil-visual-mark-mode evil-vimish-fold evil-paredit evil-numbers ensime eldoc-eval editorconfig color-theme ansible alect-themes ac-js2)))'(pe/omit-gitignore t)'(safe-local-variable-values(quote((company-clang-arguments "-I.")(Base . 10)(Package . CL-USER)(Syntax . COMMON-LISP))))'(slime-company-completion (quote fuzzy)))
init.el
;;;; -*- mode: Emacs-Lisp;-*-(setq default-directory "~/emacs-home/")(make-directory default-directory t)(let ((default-directory "~/.emacs.d/lisp/"))(make-directory default-directory t)(normal-top-level-add-to-load-path '("."))(normal-top-level-add-subdirs-to-load-path))(setq vc-follow-symlinks t)(require 'package)(setq package-archives '(("gnu" . "http://elpa.gnu.org/packages/")("org" . "http://orgmode.org/elpa/")("melpa" . "https://melpa.org/packages/")("melpa-stable" . "http://stable.melpa.org/packages/"))package-archive-priorities '(("melpa-stable" . 1)("gnu" . 0)("melpa" . 2)("org" . 3)))(package-initialize)(when (not (package-installed-p 'use-package))(package-refresh-contents)(package-install 'use-package))(require 'use-package)(use-package evil:ensure t:config(define-key evil-normal-state-map " o" 'slime-selector)(define-key evil-insert-state-map (kbd "TAB") 'company-complete)(use-package lisp-skeletons:ensure t:config(add-hook 'skeleton-end-hook 'skeleton-make-markers))(defun helm-generate-lisp-skeleton ()(interactive)(let ((skeletons '(("defunction" . skel-defun)("defmacro" . skel-defmacro)("defparameter" . skel-defparameter)("defvar" . skel-defvar))))(funcall (helm-comp-read "code template: " skeletons))))(define-key evil-normal-state-map " g" 'helm-generate-lisp-skeleton)(define-key evil-visual-state-map " g" 'helm-generate-lisp-skeleton));;;;; INDENTATION SETUP {{{(progn(setq-default indent-tabs-mode niltab-width 2)(defvaralias 'c-basic-offset 'tab-width)(defvaralias 'sh-basic-offset 'tab-width)(defvaralias 'js2-basic-offset 'tab-width)(defvaralias 'sgml-basic-offset 'tab-width)(defvaralias 'cperl-indent-level 'tab-width));;;;; }}};;;;; SLIME SETUP {{{(progn ;slime isn't loaded via use-package because quicklisp-helper keeps it uptodate(load (expand-file-name "~/quicklisp/slime-helper.el"));; Replace "sbcl" with the path to your implementation(setq inferior-lisp-program "~/sbcl/bin/sbcl")(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)))(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-fancyslime-companyslime-macrostepslime-trace-dialogslime-mdot-fu)))(use-package slime-company:no-require t:defer t:ensure t);;;;; }}}(use-package company:ensure t:config;; keybindings(progn (define-key company-active-map (kbd "C-c h") 'company-quickhelp-manual-begin)(define-key company-active-map (kbd "SPC") (kbd "RET SPC"))(define-key company-active-map (kbd "(") (kbd "RET SPC ("))(define-key company-active-map (kbd "{") (kbd "RET SPC {"))(define-key company-active-map (kbd "[") (kbd "RET [")))(message "backends: %s" company-backends)(setq company-backends'(company-clangcompany-bbdbcompany-nxmlcompany-csscompany-xcodecompany-cmakecompany-capfcompany-files(company-dabbrev-codecompany-gtagscompany-etagscompany-keywords)company-oddmusecompany-dabbrev)));; NOTE: this must be here...(slime-setup)(global-company-mode 1)(use-package projectile:ensure t)(use-package sbt-mode:ensure t:pin melpa-stable)(use-package scala-mode:ensure t:pin melpa-stable)(use-package ensime:ensure t)(use-package intero:ensure t);; (use-package jdee;; :ensure t)(use-package mvn:ensure t)(use-package css-eldoc:ensure t)(use-package ag:ensure t)(use-package evil-vimish-fold:ensure t:config(evil-vimish-fold-mode 1))(use-package zenburn-theme:ensure t)(use-package zeal-at-point:ensure t)(use-package rainbow-delimiters:ensure t)(use-package tabbar:ensure t)(use-package helm:ensure t)(use-package helm-projectile:ensure t)(use-package evil-visual-mark-mode:ensure t)(advice-add 'evil-delete-marks :after(lambda (&rest args)(evil-visual-mark-render)))(use-package evil-nerd-commenter:ensure t:config(evilnc-default-hotkeys t))(use-package paredit:ensure t:config(defun paredit-wiggle-back ()(paredit-forward)(paredit-backward))(defmacro defparedit-wrapper (name invoked-wrapper)`(defun ,name ()(interactive)(paredit-wiggle-back)(,invoked-wrapper)))(defparedit-wrapper back-then-wrap paredit-wrap-sexp)(defparedit-wrapper back-then-wrap-square paredit-wrap-square)(defparedit-wrapper back-then-wrap-curly paredit-wrap-curly)(defparedit-wrapper back-then-wrap-angled paredit-wrap-angled)(defparedit-wrapper back-then-wrap-doublequote paredit-meta-doublequote)(define-key evil-normal-state-map ",W" 'back-then-wrap)(define-key evil-normal-state-map ",w]" 'back-then-wrap-square)(define-key evil-normal-state-map ",w}" 'back-then-wrap-curly)(define-key evil-normal-state-map ",w>" 'back-then-wrap-angled)(define-key evil-normal-state-map ",w\"" 'back-then-wrap-doublequote)(define-key evil-normal-state-map ",S" 'paredit-splice-sexp)(define-key evil-normal-state-map ",A" 'paredit-splice-sexp-killing-backward)(define-key evil-normal-state-map ",D" 'paredit-splice-sexp-killing-forward)(define-key evil-normal-state-map ",|" 'paredit-split-sexp)(define-key evil-normal-state-map ",J" 'paredit-join-sexps)(define-key evil-normal-state-map ",<" 'paredit-backward-slurp-sexp)(define-key evil-normal-state-map ",," 'paredit-backward-barf-sexp)(define-key evil-normal-state-map ",>" 'paredit-forward-slurp-sexp)(define-key evil-normal-state-map ",." 'paredit-forward-barf-sexp)(define-key evil-normal-state-map ",~" 'paredit-convolute-sexp))(use-package evil-paredit:ensure t)(use-package evil-numbers:ensure t:config(global-set-key (kbd "C-c +") 'evil-numbers/inc-at-pt)(global-set-key (kbd "C-c -") 'evil-numbers/dec-at-pt))(use-package eldoc-eval:ensure t)(use-package editorconfig:ensure t:config(editorconfig-mode 1))(use-package csv-mode:ensure t)(use-package color-theme:ensure t)(use-package ansible:ensure t)(use-package alect-themes:ensure t)(use-package ac-js2:ensure t)(use-package yaml-mode:ensure t)(use-package web-mode:ensure t)(use-package vue-mode:ensure t)(use-package typescript-mode:ensure t)(use-package scss-mode:ensure t)(use-package rust-mode:ensure t)(use-package markdown-mode:ensure t)(use-package magit:ensure t)(use-package highlight-parentheses:ensure t)(use-package helm-projectile:ensure t)(use-package helm-ls-git:ensure t);;(use-package helm-git;; :ensure t)(use-package helm-css-scss:ensure t)(use-package helm-cider:ensure t)(use-package helm-ag-r:ensure t)(use-package helm-ag:ensure t)(use-package evil-surround:ensure t)(use-package evil-leader:ensure t)(use-package emmet-mode:ensure t)(use-package project-explorer:ensure t)(use-package ggtags:ensure t:config(ggtags-mode 1)(add-hook 'c-mode-common-hook(lambda ()(when (derived-mode-p 'c-mode 'c++-mode 'java-mode 'asm-mode)(ggtags-mode 1)))))(use-package pollen-mode:config(defun insert-lozenge ()(interactive)(insert-char 9674))(define-key evil-insert-state-map (kbd "C-c C-l") 'insert-lozenge))(progn ; helm(require 'helm-config)(helm-mode)(global-set-key (kbd "C-x C-f") 'helm-find-files)(define-key evil-normal-state-map " f" 'helm-projectile)(define-key evil-normal-state-map " j" 'helm-buffers-list)(global-set-key (kbd "M-x") 'helm-M-x))(require 'js2-mode)(require 'projectile)(projectile-mode)(add-hook 'after-init-hook(lambda ()(unless (server-running-p)(server-start))(evil-mode)(paredit-mode)(evil-paredit-mode)(global-company-mode)(global-linum-mode)))(progn ; linum(setq linum-format "%5d\u2502"))(require 'evil-numbers)(define-key evil-normal-state-map "ZZ" 'save-buffer)(define-key evil-normal-state-map ",zz" 'zeal-at-point)(modify-syntax-entry ?_ "w" js-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 ?~ "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" emacs-lisp-mode-syntax-table)(modify-syntax-entry ?_ "w" emacs-lisp-mode-syntax-table)(let ((default-directory "~/.emacs.d/lisp/"))(make-directory default-directory t)(normal-top-level-add-subdirs-to-load-path))(custom-set-faces;; custom-set-faces was added by Custom.;; If you edit it by hand, you could mess it up, so be careful.;; Your init file should contain only one such instance.;; If there is more than one, they won't work right.'(default ((t (:family "Source Code Pro" :foundry "adobe" :slant normal :weight semi-bold :height 113 :width normal)))))(setq erc-hide-list '("JOIN" "PART" "QUIT"));; (defun znc-erc ();; (interactive);; (erc-ssl :server "localhost" :port 6697 :nick "edwlan/freenode" :password "t31ch3rtb"))(add-to-list 'auto-mode-alist '("\\.cljs\\.hl\\'" . clojurescript-mode))(add-hook 'ruby-mode-hook'(lambda ()(eldoc-mode)(robe-mode)))(add-hook 'clojure-mode-hook'(lambda ();; Hoplon functions and macros(paredit-mode)(define-key evil-insert-state-map "^N" 'helm-cider-apropos)(dolist (pair '((page . 'defun)(loop-tpl . 'defun)(if-tpl . '1)(for-tpl . '1)(case-tpl . '1)(cond-tpl . 'defun)))(put-clojure-indent (car pair)(car (last pair))))))(setq tls-program '("openssl s_client -connect %h:%p -no_ssl2 -ign_eof"))(global-auto-revert-mode t);;; Use auto-complete for ensime(defun scala/enable-eldoc ()"Show error message or type name at point by Eldoc."(setq-local eldoc-documentation-function#'(lambda ()(when (ensime-connected-p)(let ((err (ensime-print-errors-at-point)))(or (and err (not (string= err "")) err)(ensime-print-type-at-point))))))(eldoc-mode +1))(defun scala/completing-dot-company ()(cond (company-backend(company-complete-selection)(scala/completing-dot))(t(insert ".")(company-complete))))(defun scala/completing-dot-ac ()(insert ".")(ac-trigger-key-command t));; Interactive commands(defun scala/completing-dot ()"Insert a period and show company completions."(interactive "*")(eval-and-compile (require 'ensime))(eval-and-compile (require 's))(when (s-matches? (rx (+ (not space)))(buffer-substring (line-beginning-position) (point)))(delete-horizontal-space t))(cond ((not (and (ensime-connected-p) ensime-completion-style))(insert "."))((eq ensime-completion-style 'company)(scala/completing-dot-company))((eq ensime-completion-style 'auto-complete)(scala/completing-dot-ac))));; Initialization(add-hook 'ensime-mode-hook #'scala/enable-eldoc)(add-hook 'scala-mode-hook 'ensime-scala-mode-hook)(add-hook 'scala-mode-hook 'flycheck-mode)(add-hook 'haskell-mode-hook 'intero-mode)(add-hook 'c-mode-common-hook(lambda ()(when (derived-mode-p 'c-mode 'c++-mode 'java-mode)(semantic-mode 1)(global-semanticdb-minor-mode 1)(global-semantic-idle-scheduler-mode 1)(global-semantic-stickyfunc-mode 1)(helm-gtags-mode)(ggtags-mode 1))))(setq company-backends (delete 'company-semantic company-backends))(defun alexott/cedet-hook ()(local-set-key "\C-c\C-j" 'semantic-ia-fast-jump)(local-set-key "\C-c\C-s" 'semantic-ia-show-summary))(add-hook 'c-mode-common-hook 'alexott/cedet-hook)(add-hook 'c-mode-hook 'alexott/cedet-hook)(add-hook 'c++-mode-hook 'alexott/cedet-hook)(defun set-exec-path-from-shell-PATH ()"Set up Emacs' `exec-path' and PATH environment variable to match that used by the user's shell.This is particularly useful under Mac OSX, where GUI apps are not started from a shell."(interactive)(let ((path-from-shell (replace-regexp-in-string "[ \t\n]*$" "" (shell-command-to-string "$SHELL --login -i -c 'echo $PATH'"))))(setenv "PATH" path-from-shell)(setq exec-path (split-string path-from-shell path-separator))))(set-exec-path-from-shell-PATH)(require 'ede)(global-ede-mode)(custom-set-variables;; custom-set-variables was added by Custom.;; If you edit it by hand, you could mess it up, so be careful.;; Your init file should contain only one such instance.;; If there is more than one, they won't work right.'(ansi-color-faces-vector[default bold shadow italic underline bold bold-italic bold])'(ansi-color-names-vector["#212526" "#ff4b4b" "#b4fa70" "#fce94f" "#729fcf" "#e090d7" "#8cc4ff" "#eeeeec"])'(browse-url-browser-function (quote browse-url-generic))'(browse-url-generic-program "x-www-browser")'(company-backends(quote(company-semantic company-bbdb company-nxml company-css company-xcode company-cmake company-capf company-files(company-dabbrev-code company-gtags company-etags company-keywords)company-oddmuse company-dabbrev)))'(custom-enabled-themes (quote (zenburn)))'(custom-safe-themes(quote("f5512c02e0a6887e987a816918b7a684d558716262ac7ee2dd0437ab913eaec6" "9d91458c4ad7c74cf946bd97ad085c0f6a40c370ac0a1cbeb2e3879f15b40553" "4e753673a37c71b07e3026be75dc6af3efbac5ce335f3707b7d6a110ecb636a3" "4aee8551b53a43a883cb0b7f3255d6859d766b6c5e14bcb01bed572fcbef4328" "ab04c00a7e48ad784b52f34aa6bfa1e80d0c3fcacc50e1189af3651013eb0d58" "a0feb1322de9e26a4d209d1cfa236deaf64662bb604fa513cca6a057ddf0ef64" default)))'(erc-modules(quote(autoaway autojoin button capab-identify completion fill irccontrols list match menu move-to-prompt netsplit networks noncommands readonly ring stamp spelling track)))'(erc-truncate-mode t)'(evil-leader/leader ",")'(evil-visual-mark-mode t)'(font-use-system-font t)'(ggtags-sort-by-nearness t)'(ggtags-update-on-save t)'(global-evil-surround-mode t)'(global-linum-mode t)'(haskell-mode-hook(quote(capitalized-words-mode haskell-decl-scan-mode haskell-indentation-mode highlight-uses-mode imenu-add-menubar-index interactive-haskell-mode)) t)'(helm-ls-git-fuzzy-match t)'(jdee-server-dir "~/.emacs.d/jdee-server/")'(jira-url "https://atomampd.atlassian.net/rpc/xmlrpc")'(line-number-mode nil)'(mac-command-modifier nil)'(mac-option-modifier (quote meta))'(mac-pass-command-to-system t)'(nrepl-message-colors(quote("#CC9393" "#DFAF8F" "#F0DFAF" "#7F9F7F" "#BFEBBF" "#93E0E3" "#94BFF3" "#DC8CC3")))'(package-selected-packages(quote(deft geiser pollen-mode js2-refactor npm-mode helm-dash aggressive-indent company-tern tern srefactor ac-slime znc helm-ag ag helm-projectile notmuch zenburn-theme zeal-at-point use-package tabbar slime-company rainbow-delimiters projectile mvn jdee intero helm evil-visual-mark-mode evil-vimish-fold evil-paredit evil-numbers ensime eldoc-eval editorconfig color-theme ansible alect-themes ac-js2)))'(pe/omit-gitignore t)'(safe-local-variable-values(quote((company-clang-arguments "-I.")(Base . 10)(Package . CL-USER)(Syntax . COMMON-LISP))))'(slime-company-completion (quote fuzzy)))