(push '(" melpa-stable" . " stable.melpa.org/packages/" ) configuration-layer--elpa-archives)
(push '(clj-refactor . " melpa-stable" ) package-pinned-packages)
(push '(ac-cider . " melpa-stable" ) package-pinned-packages)
(push '(cljr-helm . " melpa-stable" ) package-pinned-packages)
(push '(cider . " melpa-stable" ) package-pinned-packages)
dotspacemacs-configuration-layers
'(php
colors
po-mode
org
git
emacs-lisp
auto-completion
semantic
typescript
javascript
markdown
(shell :variables
shell-default-height 30
shell-default-position 'bottom )
syntax-checking
osx
clojure
scheme
themes-megapack
html
react
(python :variables python-enable-yapf-format-on-save t )
)
dotspacemacs-additional-packages
'(adjust-parens vagrant-tramp)
Settings (dotspacemacs/init)
(set-fringe-mode '(1 . 0 ))
(set-face-attribute
'fringe nil :background " #444444" :foreground " #444444" )
(setq-default
dotspacemacs-editing-style 'vim
dotspacemacs-mode-line-theme 'vanilla
dotspacemacs-verbose-loading nil
dotspacemacs-startup-banner 'official
dotspacemacs-startup-lists '(recents projects)
dotspacemacs-themes '(planet)
dotspacemacs-colorize-cursor-according-to-state t
dotspacemacs-default-font '(
" Iosevka"
:size 14
:weight medium
:width medium
)
dotspacemacs-leader-key " SPC"
dotspacemacs-emacs-leader-key " M-m"
dotspacemacs-major-mode-leader-key " ,"
dotspacemacs-major-mode-emacs-leader-key " C-M-m"
dotspacemacs-command-key " :"
dotspacemacs-remap-Y-to-y$ t
dotspacemacs-auto-save-file-location 'cache
dotspacemacs-use-ido nil
dotspacemacs-helm-resize nil
dotspacemacs-helm-no-header nil
dotspacemacs-helm-position 'bottom
dotspacemacs-enable-paste-micro-state nil
dotspacemacs-which-key-delay 0.4
dotspacemacs-which-key-position 'bottom
dotspacemacs-loading-progress-bar t
dotspacemacs-fullscreen-at-startup nil
dotspacemacs-fullscreen-use-non-native nil
dotspacemacs-maximized-at-startup nil
dotspacemacs-active-transparency 90
dotspacemacs-inactive-transparency 90
dotspacemacs-mode-line-unicode-symbols t
dotspacemacs-smooth-scrolling t
dotspacemacs-smartparens-strict-mode nil
dotspacemacs-highlight-delimiters 'all
dotspacemacs-persistent-server nil
dotspacemacs-search-tools '(" ag" " pt" " ack" " grep" )
dotspacemacs-default-package-repository nil )
(global-hl-line-mode -1 ) ; Disable current line highlight
(define-key evil-motion-state-map (kbd " <down>" ) 'evil-next-visual-line )
(define-key evil-motion-state-map (kbd " <up>" ) 'evil-previous-visual-line )
(define-key evil-visual-state-map (kbd " <down>" ) 'evil-next-visual-line )
(define-key evil-visual-state-map (kbd " <up>" ) 'evil-previous-visual-line )
(add-hook 'before-save-hook 'delete-trailing-whitespace )
(setq indent-tabs-mode nil ) ; use space instead of tab
(defun my-setup-indent (n )
(setq tab-width n)
(setq javascript-indent-level n) ; javascript-mode
(setq js-indent-level n) ; js-mode
(setq js2-basic-offset n) ; js2-mode
(setq web-mode-markup-indent-offset n)
; web-mode, html tag in html file
(setq web-mode-css-indent-offset n) ; web-mode, css in html file
(setq web-mode-code-indent-offset n) ; web-mode, js code in html file
(setq css-indent-offset n) ; css-mode
(setq less-indent-offset n)) ; css-mode
(my-setup-indent 2 ) ; indent 2 spaces width
(setq mouse-wheel-scroll-amount '(3 ((shift) . 1 ) ((control) . nil )))
(setq mouse-wheel-progressive-speed nil )
(define-key evil-normal-state-map " ,W" " kw" )
(define-key evil-normal-state-map " ,w["
(lambda (&optional arg ) (interactive " P" ) (sp-wrap-with-pair " [" )))
(define-key evil-normal-state-map " ,w{"
(lambda (&optional arg ) (interactive " P" ) (sp-wrap-with-pair " {" )))
(define-key evil-visual-state-map " ,W" " kw" )
(define-key evil-visual-state-map " ,w["
(lambda (&optional arg ) (interactive " P" ) (sp-wrap-with-pair " [" )))
(define-key evil-visual-state-map " ,w{"
(lambda (&optional arg ) (interactive " P" ) (sp-wrap-with-pair " {" )))
(define-key evil-normal-state-map " ,S" " kW" ) ; splice, i.e unwrap an sexp
(define-key evil-normal-state-map " ,J" " kJ" ) ; join two sexps
(define-key evil-normal-state-map " ,O" 'sp-split-sexp ) ; split an sexp
(define-key evil-normal-state-map " ,I" " kr" ) ; raise current symbol
(define-key evil-normal-state-map (kbd " , <up>" ) " kE" ) ; splice kill backward
(define-key evil-normal-state-map (kbd " , <down>" ) " ke" ) ; forward
(define-key evil-normal-state-map " ,>" " ks" ) ; forward slurp
(define-key evil-normal-state-map " ,<" " kS" ) ; backward slurp
(sp-pair " '" nil :actions :rem )
(sp-pair " \" " nil :actions :rem )
(set-face-attribute 'rainbow-delimiters-unmatched-face nil
:foreground " white"
:background " red"
:inherit 'error
:box t )
(defmacro custom/define-eyebrowse-binding (key )
`(global-set-key (kbd ,(concat " s-" key))
(lambda ()
(interactive )
(funcall ',(intern (concat " spacemacs/workspaces-transient-state/eyebrowse-switch-to-window-config-" key " -and-exit" ))))))
(defun custom/post-init-eyebrowse ()
(custom/define-eyebrowse-binding " 0" )
(custom/define-eyebrowse-binding " 1" )
(custom/define-eyebrowse-binding " 2" )
(custom/define-eyebrowse-binding " 3" )
(custom/define-eyebrowse-binding " 4" )
(custom/define-eyebrowse-binding " 5" )
(custom/define-eyebrowse-binding " 6" )
(custom/define-eyebrowse-binding " 7" )
(custom/define-eyebrowse-binding " 8" )
(custom/define-eyebrowse-binding " 9" ))
(custom/post-init-eyebrowse)
(defun nscolor2hex (color )
" Converts colors from `NSColor' format to hex values"
(concat " #" ; Add # at the front
(mapconcat 'identity ; concate the list
(mapcar '(lambda (x) ; returns ("hex" "hex" "hex")
(format " %x " (lsh (string-to-int x) -8 )))
(split-string (s-replace " \" " " " color) " ," )) " " )))
(defun color-picker (&optional list buffer-name callback )
" Calls OS X color picker and insert the chosen color"
(interactive )
(let ((result
(do-applescript " tell application \" Finder\"
activate
set result to \"\"
set x to (choose color)
set result to item 1 of x as string
set result to result & \" ,\"
set result to result & item 2 of x as string
set result to result & \" ,\"
set result to result & item 3 of x as string
return result
end tell" )))
(if callback ; For Easy Customization
(funcall callback (nscolor2hex result))
(insert (nscolor2hex result)))
(do-applescript " tell application \" Emacs\" to activate" )))
(spacemacs/set-leader-keys " o c" 'color-picker )
; ; f5 opens folder in current file
(defun browse-file-directory ()
" Open the current file's directory however the OS would."
(interactive )
(if default-directory
(browse-url-of-file (expand-file-name default-directory))
(error " No `default-directory' to open " )))
(global-set-key (kbd " <f5>" ) 'browse-file-directory )
; ; japanese backslash
(global-set-key (quote [134217893]) " \\ " )
(defun insert-image-from-url (&optional url )
(interactive )
(unless url (setq url (url-get-url-at-point )))
(unless url
(error " Couldn't find URL. " ))
(let ((buffer (url-retrieve-synchronously url)))
(unwind-protect
(let ((data (with-current-buffer buffer
(goto-char (point-min ))
(search-forward " \n\n " )
(buffer-substring (point ) (point-max )))))
(insert-image (create-image data nil t )))
(kill-buffer buffer))))
(defun check-rain ()
(interactive )
(with-help-window " *rain*"
(with-current-buffer " *rain*"
(insert-image-from-url
(format
" http://www.jma.go.jp/jp/radnowc/imgs/radar/206/%s-00.png"
(shell-command-to-string " echo \" $(date \" +%Y%m%d%H%M\" ) - ($(date +%M)%5)\" | bc | tr -d \" \\ n\" " ))))))
(spacemacs/set-leader-keys " o w" 'check-rain )
(defun check-coins ()
(interactive )
(with-help-window " *rain*"
(with-current-buffer " *rain*"
(insert
(shell-command-to-string
" curl -s 'https://api.coinmarketcap.com/v1/ticker/?convert=usd' | jq 'sort_by(.market_cap_usd|tonumber) | reverse |.[] | \" \\ (.id): \\ (.price_usd)\" ' | head | sed \" s/\\ \" //g\" | xargs printf \" %15s %8.2f\\ n\" " )))))
(spacemacs/set-leader-keys " o a" 'check-coins )
(global-set-key (kbd " C-;" ) (if (projectile-mode) 'projectile-find-file 'helm-find-files ))
(define-key evil-normal-state-map (kbd " C-:" ) 'helm-semantic-or-imenu )
<<color-picker>>
<<open-directory>>
<<japanese-backslash>>
<<weather-check>>
<<altcoins>>
(add-hook 'python-mode-hook (lambda ()
(flycheck-mode 1 )
(semantic-mode 1 )
(setq flycheck-checker 'python-flake8
flycheck-checker-error-threshold 900
flycheck-pylintrc " ~/.pylintrc" )))
; ; disable for emacs 25
; ; https://github.com/jorgenschaefer/elpy/issues/887
(setq python-shell-completion-native-enable nil )
(setq split-height-threshold 10000 )
(setq split-width-threshold 100 )
(eval-after-load 'org
'(progn
; ; org capture
(global-set-key (kbd " C-c c" ) 'org-capture )
(setq org-capture-templates
'((" d" " Journal Entry" plain
(file+datetree " ~/Dropbox/org/journal.org" )
" %U\n\n %?" :empty-lines-before 1 )
(" f" " tracks" entry
(file+datetree " ~/Dropbox/org/tracks.org" )
" * %^{Description} %^g\n %?\n\n Added: %U" )))
(setq org-structure-template-alist
(append org-structure-template-alist
'((" sh" " #+NAME: ?\n #+BEGIN_SRC sh\n\n #+END_SRC" )
(" el" " #+NAME: ?\n #+BEGIN_SRC emacs-lisp\n\n #+END_SRC" )
(" sc" " #+NAME: ?\n #+BEGIN_SRC :exports code :tangle yes\n\n #+END_SRC" )
(" py" " #+NAME: ?\n #+BEGIN_SRC python g\n\n #+END_SRC" )
(" go" " #+NAME: ?\n #+BEGIN_SRC go\n\n #+END_SRC" )
(" n" " #+BEGIN_COMMENT\n ?\n #+END_COMMENT" " <comment>\n ?\n </comment>" )
(" nref" " #+NAME: ?\n #+BEGIN_SRC :noweb-ref <name> g\n\n #+END_SRC" )
(" ntan" " #+NAME: ?\n #+BEGIN_SRC :noweb tangle :tangle yes\n\n #+END_SRC" ))))
(define-key org-mode-map
(kbd " <H-return>" ) 'org-edit-special )
(define-key org-mode-map
(kbd " <H-up>" ) 'org-previous-visible-heading )
(define-key org-mode-map
(kbd " <H-down>" ) 'org-next-visible-heading )
(define-key org-src-mode-map (kbd " <H-return>" ) 'org-edit-src-exit )))
(custom-set-variables
'(cider-auto-jump-to-error nil )
'(cider-auto-select-error-buffer nil )
'(cider-show-eval-spinner t )
'(cider-repl-history-file " ~/.cider-history" ))
; ; adjust parens
(require 'adjust-parens )
; ; clojure mode config
(spacemacs/toggle-evil-cleverparens-on)
(add-hook 'clojure-mode-hook #'rainbow-delimiters-mode )
(add-hook 'clojure-mode-hook #'adjust-parens-mode )
(add-hook 'clojure-mode-hook #'evil-cleverparens-mode )
; ; elisp mode config
(add-hook 'emacs-lisp-mode-hook #'rainbow-delimiters-mode )
(add-hook 'emacs-lisp-mode-hook #'adjust-parens-mode )
(add-hook 'emacs-lisp-mode-hook #'evil-cleverparens-mode )
(evil-define-key 'normal evil-cleverparens-mode-map
(kbd " <H-up>" ) #'paredit-backward-up
(kbd " <H-down>" ) #'paredit-forward-down
(kbd " <H-left>" ) #'evil-cp-backward-sexp
(kbd " <H-right>" ) #'evil-cp-forward-sexp )
(setenv " PATH" (concat (getenv " PATH" ) " :/usr/local/bin" ))
(setq exec-path (append exec-path '(" /usr/local/bin" )))
(add-to-list 'exec-path " /usr/local/bin/" )
(add-to-list 'exec-path " /usr/local/bin/" )
(add-to-list 'auto-mode-alist '(" \\ .tmpl\\ '" . web-mode))
(setq backup-directory-alist
`((" .*" . , temporary-file-directory )))
(setq auto-save-file-name-transforms
`((" .*" , temporary-file-directory t )))
(defun dotspacemacs/layers ()
(setq-default
<<additional-packages>>
<<configuration-layers>>
dotspacemacs-distribution 'spacemacs
dotspacemacs-configuration-layer-path '()
dotspacemacs-excluded-packages '()
dotspacemacs-delete-orphan-packages t ))
(defun dotspacemacs/user-init ()
<<version-pinning>> )
(defun dotspacemacs/init ()
<<spacemacs-settings>> )
(defun dotspacemacs/user-config ()
<<disable-hiline>>
<<up-down-keys>>
<<delete-whitespace>>
<<tab-and-indent>>
<<mouse-settings>>
<<paredit-evil-keys>>
<<eyebrowse-quick-switch>>
<<handy-keys>>
<<python-settings>>
<<prefer-vertical-splits>>
<<org-mode-settings>>
<<lisp-settings>>
<<fix-path>>
<<tmpl-web-mode>>
<<backups>>
)
; ;; packages.el --- po-mode layer packages file for Spacemacs.
; ;
; ; Copyright (c) 2012-2016 Sylvain Benner & Contributors
; ;
; ; Author: adam <[email protected] >
; ;
; ; This file is not part of GNU Emacs.
; ;
; ;; License: GPLv3
; ;; Commentary:
; ; See the Spacemacs documentation and FAQs for instructions on how to implement
; ; a new layer:
; ;
; ; SPC h SPC layers RET
; ;
; ;
; ; Briefly, each package to be installed or configured by this layer should be
; ; added to `po-mode-packages' . Then, for each package PACKAGE:
; ;
; ; - If PACKAGE is not referenced by any other Spacemacs layer, define a
; ; function `po-mode/init-PACKAGE' to load and initialize the package.
; ; - Otherwise, PACKAGE is already referenced by another Spacemacs layer, so
; ; define the functions `po-mode/pre-init-PACKAGE' and/or
; ; `po-mode/post-init-PACKAGE' to customize the package as it is loaded.
; ;; Code:
(defconst po-mode-packages
'(po-mode))
(defun po-mode/init-po-mode ()
(use-package po-mode
:defer t
:init
(progn
(evil-define-key 'normal po-mode-map
" u" 'po-undo
(kbd " C-r" ) 'po-redo
" #" 'po-edit-comment
(kbd " RET" ) 'po-edit-msgstr
" k" 'po-kill-msgstr
" [" 'po-previous-entry
" ]" 'po-next-entry
" {" 'po-previous-untranslated-entry
" }" 'po-next-untranslated-entry
" p" 'po-yank-msgstr )
)))
; ;; packages.el ends here