Skip to content

Instantly share code, notes, and snippets.

@DarrenN
Forked from avescodes/Editing Clojure with Emacs
Last active December 22, 2022 14:41

Revisions

  1. DarrenN revised this gist Feb 1, 2014. No changes.
  2. DarrenN revised this gist Jan 21, 2014. 1 changed file with 15 additions and 0 deletions.
    15 changes: 15 additions & 0 deletions init.el
    Original file line number Diff line number Diff line change
    @@ -138,3 +138,18 @@ Display the results in a hyperlinked *compilation* buffer."
    Display the results in a hyperlinked *compilation* buffer."
    (interactive)
    (compile (concat "lein kibit " buffer-file-name)))

    ;; Buffer Management
    (defun kill-other-buffers ()
    "Kill other buffers."
    (interactive)
    (mapc 'kill-buffer
    (delq (current-buffer)
    (remove-if-not 'buffer-file-name (buffer-list)))))

    (defun kill-buffers ()
    "Kill all buffers."
    (interactive)
    (mapc 'kill-buffer
    (delq (current-buffer)
    (buffer-list))))
  3. DarrenN revised this gist Dec 16, 2013. 2 changed files with 28 additions and 0 deletions.
    21 changes: 21 additions & 0 deletions init.el
    Original file line number Diff line number Diff line change
    @@ -117,3 +117,24 @@
    ;; Map M to Ctrl
    (global-set-key "\C-x\C-m" 'execute-extended-command)
    (global-set-key "\C-c\C-m" 'execute-extended-command)

    ;; KIBIT
    ;; Teach compile the syntax of the kibit output
    (require 'compile)
    (add-to-list 'compilation-error-regexp-alist-alist
    '(kibit "At \\([^:]+\\):\\([[:digit:]]+\\):" 1 2 nil 0))
    (add-to-list 'compilation-error-regexp-alist 'kibit)

    ;; A convenient command to run "lein kibit" in the project to which
    ;; the current emacs buffer belongs to.
    (defun kibit ()
    "Run kibit on the current project.
    Display the results in a hyperlinked *compilation* buffer."
    (interactive)
    (compile "lein kibit"))

    (defun kibit-current-file ()
    "Run kibit on the current file.
    Display the results in a hyperlinked *compilation* buffer."
    (interactive)
    (compile (concat "lein kibit " buffer-file-name)))
    7 changes: 7 additions & 0 deletions shibuya.el
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,7 @@
    ;; Sibuya has hi-res monitor, so we need to bump up again!
    (set-face-attribute 'default nil :height 150)
    (set-default-font "Consolas-16")
    (global-auto-revert-mode t)

    (require 'php-auto-yasnippets)
    (define-key php-mode-map (kbd "C-c C-y") 'yas/create-php-snippet)
  4. DarrenN revised this gist Dec 16, 2013. 1 changed file with 6 additions and 0 deletions.
    6 changes: 6 additions & 0 deletions .gitignore
    Original file line number Diff line number Diff line change
    @@ -1,2 +1,8 @@
    shibuya.el
    dazza.el
    elpa/
    places
    eshell/
    .smex-items
    ac-comphist.dat
    projectile-bookmarks.eld
  5. DarrenN revised this gist Dec 16, 2013. 1 changed file with 2 additions and 0 deletions.
    2 changes: 2 additions & 0 deletions .gitignore
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,2 @@
    shibuya.el
    dazza.el
  6. DarrenN revised this gist Dec 16, 2013. 1 changed file with 4 additions and 2 deletions.
    6 changes: 4 additions & 2 deletions init.el
    Original file line number Diff line number Diff line change
    @@ -71,6 +71,8 @@
    (autoload 'scss-mode "scss-mode")
    (add-to-list 'auto-mode-alist '("\\.scss\\'" . scss-mode))
    (setq scss-compile-at-save nil)
    (add-hook 'scss-mode-hook (lambda () (interactive) (auto-complete-mode)))

    ;; Setting rbenv path
    (setenv "PATH" (concat (getenv "HOME") "/.rbenv/shims:" (getenv "HOME") "/.rbenv/bin:" (getenv "PATH")))
    (setq exec-path (cons (concat (getenv "HOME") "/.rbenv/shims") (cons (concat (getenv "HOME") "/.rbenv/bin") exec-path)))
    @@ -87,9 +89,9 @@

    ;; Column markers
    (require 'column-marker)
    (add-hook 'js2-mode-hook (lambda () (interactive) (column-marker-2 80)))
    (add-hook 'js2-mode-hook (lambda () (interactive) (column-marker-2 80) (auto-complete-mode)))
    (add-hook 'javascript-mode-hook (lambda () (interactive) (column-marker-2 80)))
    (add-hook 'ruby-mode-hook (lambda () (interactive) (column-marker-3 80)))
    (add-hook 'ruby-mode-hook (lambda () (interactive) (column-marker-3 80) (auto-complete-mode)))
    (add-hook 'coffee-mode-hook (lambda () (interactive) (column-marker-2 80) (auto-complete-mode)))

    ;; Load the provided Clojure start kit configurations
  7. DarrenN revised this gist Dec 8, 2013. 1 changed file with 21 additions and 0 deletions.
    21 changes: 21 additions & 0 deletions init.el
    Original file line number Diff line number Diff line change
    @@ -115,3 +115,24 @@
    ;; Map M to Ctrl
    (global-set-key "\C-x\C-m" 'execute-extended-command)
    (global-set-key "\C-c\C-m" 'execute-extended-command)

    ;; KIBIT
    ;; Teach compile the syntax of the kibit output
    (require 'compile)
    (add-to-list 'compilation-error-regexp-alist-alist
    '(kibit "At \\([^:]+\\):\\([[:digit:]]+\\):" 1 2 nil 0))
    (add-to-list 'compilation-error-regexp-alist 'kibit)

    ;; A convenient command to run "lein kibit" in the project to which
    ;; the current emacs buffer belongs to.
    (defun kibit ()
    "Run kibit on the current project.
    Display the results in a hyperlinked *compilation* buffer."
    (interactive)
    (compile "lein kibit"))

    (defun kibit-current-file ()
    "Run kibit on the current file.
    Display the results in a hyperlinked *compilation* buffer."
    (interactive)
    (compile (concat "lein kibit " buffer-file-name)))
  8. DarrenN revised this gist Dec 8, 2013. 1 changed file with 5 additions and 0 deletions.
    5 changes: 5 additions & 0 deletions .gitignore
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,5 @@
    elpa/*
    .smex-items
    ac-comphist.dat
    places
    projectile-bookmarks.eld
  9. DarrenN revised this gist Dec 8, 2013. 2 changed files with 7 additions and 0 deletions.
    Empty file added .gitignore
    Empty file.
    7 changes: 7 additions & 0 deletions shibuya.el
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,7 @@
    ;; Sibuya has hi-res monitor, so we need to bump up again!
    (set-face-attribute 'default nil :height 150)
    (set-default-font "Consolas-16")
    (global-auto-revert-mode t)

    (require 'php-auto-yasnippets)
    (define-key php-mode-map (kbd "C-c C-y") 'yas/create-php-snippet)
  10. DarrenN revised this gist Oct 31, 2013. 1 changed file with 16 additions and 2 deletions.
    18 changes: 16 additions & 2 deletions init.el
    Original file line number Diff line number Diff line change
    @@ -27,6 +27,8 @@
    ack-and-a-half
    ;; Misc.
    json-mode
    js2-mode
    js2-refactor
    markdown-mode
    twilight-theme
    hlinum
    @@ -43,6 +45,18 @@
    (when (memq window-system '(mac ns))
    (exec-path-from-shell-initialize))

    ;; JavaScript
    (require 'js2-mode)
    (add-to-list 'auto-mode-alist '("\\.js\\'" . js2-mode))
    (add-to-list 'interpreter-mode-alist '("node" . js2-mode))
    (eval-after-load 'js2-mode
    '(progn
    (setq-default js2-basic-offset 2)
    (font-lock-add-keywords 'js2-mode `(("\\(function *\\)(" (0 (progn (compose-region (match-beginning 1) (match-end 1) "ƒ") nil)))))))

    (require 'js2-refactor)
    (js2r-add-keybindings-with-prefix "C-c C-m")

    ;; HTML
    (require 'multi-web-mode)
    (setq mweb-default-major-mode 'html-mode)
    @@ -73,7 +87,7 @@

    ;; Column markers
    (require 'column-marker)
    (add-hook 'js-mode-hook (lambda () (interactive) (column-marker-2 80) (disable-paredit-mode)))
    (add-hook 'js2-mode-hook (lambda () (interactive) (column-marker-2 80)))
    (add-hook 'javascript-mode-hook (lambda () (interactive) (column-marker-2 80)))
    (add-hook 'ruby-mode-hook (lambda () (interactive) (column-marker-3 80)))
    (add-hook 'coffee-mode-hook (lambda () (interactive) (column-marker-2 80) (auto-complete-mode)))
    @@ -91,7 +105,7 @@
    '(show-paren-match ((((class color) (background dark)) (:inherit nil :foreground "red")))))

    ;; My old self needs bigger type
    (set-face-attribute 'default nil :height 160)
    (set-face-attribute 'default nil :height 140)

    ;; Bad whitespace go away
    (add-hook 'before-save-hook 'delete-trailing-whitespace)
  11. DarrenN revised this gist Oct 30, 2013. 1 changed file with 1 addition and 4 deletions.
    5 changes: 1 addition & 4 deletions init.el
    Original file line number Diff line number Diff line change
    @@ -61,9 +61,6 @@
    (setenv "PATH" (concat (getenv "HOME") "/.rbenv/shims:" (getenv "HOME") "/.rbenv/bin:" (getenv "PATH")))
    (setq exec-path (cons (concat (getenv "HOME") "/.rbenv/shims") (cons (concat (getenv "HOME") "/.rbenv/bin") exec-path)))

    ;; Coffee-Mode


    ;; yasnippet
    (require 'yasnippet)
    (yas-global-mode 1)
    @@ -94,10 +91,10 @@
    '(show-paren-match ((((class color) (background dark)) (:inherit nil :foreground "red")))))

    ;; My old self needs bigger type
    (set-default-font "Inconsolata-16")
    (set-face-attribute 'default nil :height 160)

    ;; Bad whitespace go away
    (add-hook 'before-save-hook 'delete-trailing-whitespace)
    (setq whitespace-action '(auto-cleanup)) ;; automatically clean up bad whitespace
    (setq whitespace-style '(trailing space-before-tab indentation empty space-after-tab)) ;; only show bad whitespace

  12. DarrenN revised this gist Oct 30, 2013. 1 changed file with 8 additions and 13 deletions.
    21 changes: 8 additions & 13 deletions init.el
    Original file line number Diff line number Diff line change
    @@ -26,6 +26,7 @@
    projectile
    ack-and-a-half
    ;; Misc.
    json-mode
    markdown-mode
    twilight-theme
    hlinum
    @@ -42,12 +43,6 @@
    (when (memq window-system '(mac ns))
    (exec-path-from-shell-initialize))

    ;; Auto-complete
    (require 'auto-complete-config)
    (ac-config-default)
    (ac-set-trigger-key "TAB")
    (ac-set-trigger-key "<tab>")

    ;; HTML
    (require 'multi-web-mode)
    (setq mweb-default-major-mode 'html-mode)
    @@ -66,25 +61,25 @@
    (setenv "PATH" (concat (getenv "HOME") "/.rbenv/shims:" (getenv "HOME") "/.rbenv/bin:" (getenv "PATH")))
    (setq exec-path (cons (concat (getenv "HOME") "/.rbenv/shims") (cons (concat (getenv "HOME") "/.rbenv/bin") exec-path)))

    ;; CoffeeMode
    (defun coffee-custom ()
    "coffee-mode-hook"
    ;; Emacs key binding
    (define-key coffee-mode-map [(meta r)] 'coffee-compile-buffer))
    ;; Coffee-Mode

    (add-hook 'coffee-mode-hook '(lambda () (coffee-custom)))

    ;; yasnippet
    (require 'yasnippet)
    (yas-global-mode 1)

    ;; Auto-complete
    (require 'auto-complete-config)
    (ac-config-default)
    (ac-set-trigger-key "TAB")
    (ac-set-trigger-key "<tab>")

    ;; Column markers
    (require 'column-marker)
    (add-hook 'js-mode-hook (lambda () (interactive) (column-marker-2 80) (disable-paredit-mode)))
    (add-hook 'javascript-mode-hook (lambda () (interactive) (column-marker-2 80)))
    (add-hook 'ruby-mode-hook (lambda () (interactive) (column-marker-3 80)))
    (add-hook 'coffee-mode-hook (lambda () (interactive) (column-marker-2 80)))
    (add-hook 'coffee-mode-hook (lambda () (interactive) (column-marker-2 80) (auto-complete-mode)))

    ;; Load the provided Clojure start kit configurations
    (load (concat user-emacs-directory "clojure-starter-kit.el"))
  13. DarrenN revised this gist Sep 14, 2013. 1 changed file with 0 additions and 1 deletion.
    1 change: 0 additions & 1 deletion init.el
    Original file line number Diff line number Diff line change
    @@ -98,7 +98,6 @@
    '(show-paren-match ((((class color) (background dark)) (:inherit nil :foreground "red")))))

    ;; My old self needs bigger type
    (set-default-font "Inconsolata-16")
    (set-face-attribute 'default nil :height 160)

    ;; Bad whitespace go away
  14. DarrenN revised this gist Sep 14, 2013. 1 changed file with 2 additions and 2 deletions.
    4 changes: 2 additions & 2 deletions init.el
    Original file line number Diff line number Diff line change
    @@ -69,7 +69,6 @@
    ;; CoffeeMode
    (defun coffee-custom ()
    "coffee-mode-hook"

    ;; Emacs key binding
    (define-key coffee-mode-map [(meta r)] 'coffee-compile-buffer))

    @@ -99,7 +98,8 @@
    '(show-paren-match ((((class color) (background dark)) (:inherit nil :foreground "red")))))

    ;; My old self needs bigger type
    (set-face-attribute 'default nil :height 140)
    (set-default-font "Inconsolata-16")
    (set-face-attribute 'default nil :height 160)

    ;; Bad whitespace go away
    (add-hook 'before-save-hook 'delete-trailing-whitespace)
  15. DarrenN revised this gist Sep 14, 2013. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion init.el
    Original file line number Diff line number Diff line change
    @@ -79,7 +79,6 @@
    (require 'yasnippet)
    (yas-global-mode 1)


    ;; Column markers
    (require 'column-marker)
    (add-hook 'js-mode-hook (lambda () (interactive) (column-marker-2 80) (disable-paredit-mode)))
    @@ -103,6 +102,7 @@
    (set-face-attribute 'default nil :height 140)

    ;; Bad whitespace go away
    (add-hook 'before-save-hook 'delete-trailing-whitespace)
    (setq whitespace-action '(auto-cleanup)) ;; automatically clean up bad whitespace
    (setq whitespace-style '(trailing space-before-tab indentation empty space-after-tab)) ;; only show bad whitespace

  16. DarrenN revised this gist Sep 10, 2013. 1 changed file with 0 additions and 1 deletion.
    1 change: 0 additions & 1 deletion init.el
    Original file line number Diff line number Diff line change
    @@ -69,7 +69,6 @@
    ;; CoffeeMode
    (defun coffee-custom ()
    "coffee-mode-hook"

    ;; Emacs key binding
    (define-key coffee-mode-map [(meta r)] 'coffee-compile-buffer))

  17. DarrenN revised this gist Sep 10, 2013. 1 changed file with 16 additions and 1 deletion.
    17 changes: 16 additions & 1 deletion init.el
    Original file line number Diff line number Diff line change
    @@ -28,14 +28,20 @@
    ;; Misc.
    markdown-mode
    twilight-theme
    hlinum)
    hlinum
    exec-path-from-shell
    )
    "A list of packages to ensure are installed at launch.")

    ;; Automaticaly install any missing packages
    (dolist (p my-packages)
    (when (not (package-installed-p p))
    (package-install p)))

    ;; Scoop up $PATH
    (when (memq window-system '(mac ns))
    (exec-path-from-shell-initialize))

    ;; Auto-complete
    (require 'auto-complete-config)
    (ac-config-default)
    @@ -60,6 +66,15 @@
    (setenv "PATH" (concat (getenv "HOME") "/.rbenv/shims:" (getenv "HOME") "/.rbenv/bin:" (getenv "PATH")))
    (setq exec-path (cons (concat (getenv "HOME") "/.rbenv/shims") (cons (concat (getenv "HOME") "/.rbenv/bin") exec-path)))

    ;; CoffeeMode
    (defun coffee-custom ()
    "coffee-mode-hook"

    ;; Emacs key binding
    (define-key coffee-mode-map [(meta r)] 'coffee-compile-buffer))

    (add-hook 'coffee-mode-hook '(lambda () (coffee-custom)))

    ;; yasnippet
    (require 'yasnippet)
    (yas-global-mode 1)
  18. DarrenN revised this gist Sep 10, 2013. 1 changed file with 2 additions and 1 deletion.
    3 changes: 2 additions & 1 deletion init.el
    Original file line number Diff line number Diff line change
    @@ -85,7 +85,8 @@
    '(show-paren-match ((((class color) (background dark)) (:inherit nil :foreground "red")))))

    ;; My old self needs bigger type
    (set-face-attribute 'default nil :height 140)
    (set-default-font "Inconsolata-16")
    (set-face-attribute 'default nil :height 160)

    ;; Bad whitespace go away
    (setq whitespace-action '(auto-cleanup)) ;; automatically clean up bad whitespace
  19. DarrenN revised this gist Sep 3, 2013. 1 changed file with 16 additions and 1 deletion.
    17 changes: 16 additions & 1 deletion init.el
    Original file line number Diff line number Diff line change
    @@ -28,14 +28,20 @@
    ;; Misc.
    markdown-mode
    twilight-theme
    hlinum)
    hlinum
    exec-path-from-shell
    )
    "A list of packages to ensure are installed at launch.")

    ;; Automaticaly install any missing packages
    (dolist (p my-packages)
    (when (not (package-installed-p p))
    (package-install p)))

    ;; Scoop up $PATH
    (when (memq window-system '(mac ns))
    (exec-path-from-shell-initialize))

    ;; Auto-complete
    (require 'auto-complete-config)
    (ac-config-default)
    @@ -60,6 +66,15 @@
    (setenv "PATH" (concat (getenv "HOME") "/.rbenv/shims:" (getenv "HOME") "/.rbenv/bin:" (getenv "PATH")))
    (setq exec-path (cons (concat (getenv "HOME") "/.rbenv/shims") (cons (concat (getenv "HOME") "/.rbenv/bin") exec-path)))

    ;; CoffeeMode
    (defun coffee-custom ()
    "coffee-mode-hook"

    ;; Emacs key binding
    (define-key coffee-mode-map [(meta r)] 'coffee-compile-buffer))

    (add-hook 'coffee-mode-hook '(lambda () (coffee-custom)))

    ;; yasnippet
    (require 'yasnippet)
    (yas-global-mode 1)
  20. DarrenN revised this gist Sep 3, 2013. 1 changed file with 18 additions and 2 deletions.
    20 changes: 18 additions & 2 deletions init.el
    Original file line number Diff line number Diff line change
    @@ -16,6 +16,8 @@
    coffee-mode
    ;; Webmode
    multi-web-mode
    ;; SCSS
    scss-mode
    ;; Clojure & friends
    clojure-mode
    nrepl
    @@ -40,22 +42,32 @@
    (ac-set-trigger-key "TAB")
    (ac-set-trigger-key "<tab>")

    ;; HTML
    (require 'multi-web-mode)
    (setq mweb-default-major-mode 'html-mode)
    (setq mweb-tags '((php-mode "<\\?php\\|<\\? \\|<\\?=" "\\?>")
    (js-mode "<script[^>]*>" "</script>")
    (css-mode "<style[^>]*>" "</style>")))
    (setq mweb-filename-extensions '("php" "htm" "html" "ctp" "phtml" "php4" "php5"))
    (multi-web-global-mode 1)
    (add-hook 'html-mode-hook 'turn-off-auto-fill)

    ;; SCSS
    (autoload 'scss-mode "scss-mode")
    (add-to-list 'auto-mode-alist '("\\.scss\\'" . scss-mode))
    (setq scss-compile-at-save nil)
    ;; Setting rbenv path
    (setenv "PATH" (concat (getenv "HOME") "/.rbenv/shims:" (getenv "HOME") "/.rbenv/bin:" (getenv "PATH")))
    (setq exec-path (cons (concat (getenv "HOME") "/.rbenv/shims") (cons (concat (getenv "HOME") "/.rbenv/bin") exec-path)))

    ;; yasnippet
    (require 'yasnippet)
    (yas-global-mode 1)
    (yas-reload-all)


    ;; Column markers
    (require 'column-marker)
    (add-hook 'js-mode-hook (lambda () (interactive) (column-marker-2 80)))
    (add-hook 'js-mode-hook (lambda () (interactive) (column-marker-2 80) (disable-paredit-mode)))
    (add-hook 'javascript-mode-hook (lambda () (interactive) (column-marker-2 80)))
    (add-hook 'ruby-mode-hook (lambda () (interactive) (column-marker-3 80)))
    (add-hook 'coffee-mode-hook (lambda () (interactive) (column-marker-2 80)))
    @@ -78,3 +90,7 @@
    ;; Bad whitespace go away
    (setq whitespace-action '(auto-cleanup)) ;; automatically clean up bad whitespace
    (setq whitespace-style '(trailing space-before-tab indentation empty space-after-tab)) ;; only show bad whitespace

    ;; Map M to Ctrl
    (global-set-key "\C-x\C-m" 'execute-extended-command)
    (global-set-key "\C-c\C-m" 'execute-extended-command)
  21. DarrenN revised this gist Aug 27, 2013. 1 changed file with 12 additions and 1 deletion.
    13 changes: 12 additions & 1 deletion init.el
    Original file line number Diff line number Diff line change
    @@ -14,6 +14,8 @@
    starter-kit-ruby
    ;; CoffeeScript
    coffee-mode
    ;; Webmode
    multi-web-mode
    ;; Clojure & friends
    clojure-mode
    nrepl
    @@ -38,9 +40,18 @@
    (ac-set-trigger-key "TAB")
    (ac-set-trigger-key "<tab>")

    (require 'multi-web-mode)
    (setq mweb-default-major-mode 'html-mode)
    (setq mweb-tags '((php-mode "<\\?php\\|<\\? \\|<\\?=" "\\?>")
    (js-mode "<script[^>]*>" "</script>")
    (css-mode "<style[^>]*>" "</style>")))
    (setq mweb-filename-extensions '("php" "htm" "html" "ctp" "phtml" "php4" "php5"))
    (multi-web-global-mode 1)

    ;; yasnippet
    (require 'yasnippet)
    (yas-global-mode 1)
    (yas-reload-all)

    ;; Column markers
    (require 'column-marker)
    @@ -66,4 +77,4 @@

    ;; Bad whitespace go away
    (setq whitespace-action '(auto-cleanup)) ;; automatically clean up bad whitespace
    (setq whitespace-style '(trailing space-before-tab indentation empty space-after-tab)) ;; only show bad whitespace
    (setq whitespace-style '(trailing space-before-tab indentation empty space-after-tab)) ;; only show bad whitespace
  22. DarrenN revised this gist Aug 21, 2013. 1 changed file with 5 additions and 1 deletion.
    6 changes: 5 additions & 1 deletion init.el
    Original file line number Diff line number Diff line change
    @@ -62,4 +62,8 @@
    '(show-paren-match ((((class color) (background dark)) (:inherit nil :foreground "red")))))

    ;; My old self needs bigger type
    (set-face-attribute 'default nil :height 140)
    (set-face-attribute 'default nil :height 140)

    ;; Bad whitespace go away
    (setq whitespace-action '(auto-cleanup)) ;; automatically clean up bad whitespace
    (setq whitespace-style '(trailing space-before-tab indentation empty space-after-tab)) ;; only show bad whitespace
  23. DarrenN revised this gist Aug 21, 2013. 1 changed file with 1 addition and 6 deletions.
    7 changes: 1 addition & 6 deletions init.el
    Original file line number Diff line number Diff line change
    @@ -12,8 +12,7 @@
    starter-kit-js
    starter-kit-lisp
    starter-kit-ruby
    ;; Java|CoffeeScript
    js3-mode
    ;; CoffeeScript
    coffee-mode
    ;; Clojure & friends
    clojure-mode
    @@ -39,10 +38,6 @@
    (ac-set-trigger-key "TAB")
    (ac-set-trigger-key "<tab>")

    ;; Add js3 to autocomplete modes
    (add-to-list 'ac-modes 'js3-mode)
    (add-to-list 'ac-sources 'ac-source-yasnippet)

    ;; yasnippet
    (require 'yasnippet)
    (yas-global-mode 1)
  24. DarrenN revised this gist Aug 21, 2013. 1 changed file with 25 additions and 5 deletions.
    30 changes: 25 additions & 5 deletions init.el
    Original file line number Diff line number Diff line change
    @@ -13,8 +13,8 @@
    starter-kit-lisp
    starter-kit-ruby
    ;; Java|CoffeeScript
    coffee-mode
    js3-mode
    coffee-mode
    ;; Clojure & friends
    clojure-mode
    nrepl
    @@ -33,18 +33,38 @@
    (when (not (package-installed-p p))
    (package-install p)))

    ;; Load the provided Clojure start kit configurations
    (load (concat user-emacs-directory "clojure-starter-kit.el"))
    ;; Auto-complete
    (require 'auto-complete-config)
    (ac-config-default)
    (ac-set-trigger-key "TAB")
    (ac-set-trigger-key "<tab>")

    ;; Add js3 to autocomplete modes
    (add-to-list 'ac-modes 'js3-mode)
    (add-to-list 'ac-sources 'ac-source-yasnippet)

    ;; Snippets
    ;; yasnippet
    (require 'yasnippet)
    (yas-global-mode 1)

    ;; Column markers
    (require 'column-marker)
    (add-hook 'js-mode-hook (lambda () (interactive) (column-marker-2 80)))
    (add-hook 'javascript-mode-hook (lambda () (interactive) (column-marker-2 80)))
    (add-hook 'ruby-mode-hook (lambda () (interactive) (column-marker-3 80)))
    (add-hook 'coffee-mode-hook (lambda () (interactive) (column-marker-2 80)))

    ;; Load the provided Clojure start kit configurations
    (load (concat user-emacs-directory "clojure-starter-kit.el"))

    (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.
    '(font-lock-warning-face ((t (:inherit nil :foreground "red" :background nil))))
    '(linum-highlight-face ((t (:inherit default :background "color-238" :foreground "white"))))
    '(show-paren-match ((((class color) (background dark)) (:inherit nil :foreground "red")))))
    '(show-paren-match ((((class color) (background dark)) (:inherit nil :foreground "red")))))

    ;; My old self needs bigger type
    (set-face-attribute 'default nil :height 140)
  25. DarrenN revised this gist Aug 21, 2013. 1 changed file with 4 additions and 0 deletions.
    4 changes: 4 additions & 0 deletions init.el
    Original file line number Diff line number Diff line change
    @@ -36,6 +36,10 @@
    ;; Load the provided Clojure start kit configurations
    (load (concat user-emacs-directory "clojure-starter-kit.el"))

    ;; Snippets
    (require 'yasnippet)
    (yas-global-mode 1)

    (custom-set-faces
    ;; custom-set-faces was added by Custom.
    ;; If you edit it by hand, you could mess it up, so be careful.
  26. DarrenN revised this gist Aug 20, 2013. 1 changed file with 4 additions and 0 deletions.
    4 changes: 4 additions & 0 deletions init.el
    Original file line number Diff line number Diff line change
    @@ -11,6 +11,10 @@
    starter-kit-bindings
    starter-kit-js
    starter-kit-lisp
    starter-kit-ruby
    ;; Java|CoffeeScript
    coffee-mode
    js3-mode
    ;; Clojure & friends
    clojure-mode
    nrepl
  27. Ryan Neufeld revised this gist Jul 2, 2013. 1 changed file with 3 additions and 2 deletions.
    5 changes: 3 additions & 2 deletions clojure-starter-kit.el
    Original file line number Diff line number Diff line change
    @@ -29,7 +29,8 @@


    ;; nREPL customizations
    (setq nrepl-popup-stacktraces nil) ; Don't aggresively popup stacktraces
    (setq nrepl-hide-special-buffers t) ; Don't show buffers like connection or server
    (setq nrepl-popup-on-error nil) ; Don't popup new buffer for errors (show in nrepl buffer)
    (setq nrepl-popup-stacktraces-in-repl t) ; Display stacktrace inline

    (add-hook 'nrepl-interaction-mode-hook 'nrepl-turn-on-eldoc-mode) ; Enable eldoc - shows fn argument list in echo area
    @@ -58,4 +59,4 @@
    (define-key ido-completion-map [down] 'ido-next-match)
    (define-key ido-completion-map [up] 'ido-prev-match)
    (define-key ido-completion-map (kbd "C-n") 'ido-next-match)
    (define-key ido-completion-map (kbd "C-p") 'ido-prev-match)))
    (define-key ido-completion-map (kbd "C-p") 'ido-prev-match)))
  28. Ryan Neufeld revised this gist Mar 19, 2013. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion README.md
    Original file line number Diff line number Diff line change
    @@ -58,7 +58,7 @@ Enjoy

    ### A special note for Mac users

    If you try to follow along into the Paredit sections you'll be sorely disappointed when you start trying to do things like `C-<Right>`. The problem is this: **every** Mac terminal sends the incorrect key codes to your terminal, and by-proxy, Emacs.
    If you try to follow along into the Paredit sections you'll be sorely disappointed when you start trying to do things like `C-`. The problem is this: **every** Mac terminal sends the incorrect key codes to your terminal, and by-proxy, Emacs.

    Fix this by following the excellent instructions of Cosmin Stejerean's [Emacs + paredit under terminal](http://offbytwo.com/2012/01/15/emacs-plus-paredit-under-terminal.html). His instructions address how to fix Terminal.app, iTerm and iTerm2 to send the proper key codes for using Paredit.

  29. Ryan Neufeld revised this gist Mar 19, 2013. 1 changed file with 37 additions and 2 deletions.
    39 changes: 37 additions & 2 deletions README.md
    Original file line number Diff line number Diff line change
    @@ -2,6 +2,13 @@

    This gist will guide you to setting up a basic [emacs-starter-kit](https://github.com/technomancy/emacs-starter-kit)-based Emacs configuration for editing Clojure.

    Contents:

    * [Getting Emacs](https://gist.github.com/rkneufeld/5126926#getting-emacs) - How to get Emacs.
    * [Installing the config](https://gist.github.com/rkneufeld/5126926#installing-the-config) - How to install this config.
    * [A special note for Mac users](https://gist.github.com/rkneufeld/5126926#a-special-note-for-mac-users).
    * [Keyboard shortcuts](https://gist.github.com/rkneufeld/5126926#keyboard-shortcuts) - Keybindings used during the presentation.

    ## Getting Emacs

    The first step is to get Emacs. Whatever you do, just make sure you get Emacs 24.
    @@ -22,7 +29,7 @@ To paraphrase [Install the right Emacs](http://david.rothlis.net/emacs/install.h

    Once you've installed Emacs verify you have the correct version with `emacs --version`

    ▸ emacs --version
    ▸ emacs --version
    GNU Emacs 24.2.1
    Copyright (C) 2012 Free Software Foundation, Inc.
    GNU Emacs comes with ABSOLUTELY NO WARRANTY.
    @@ -53,4 +60,32 @@ Enjoy

    If you try to follow along into the Paredit sections you'll be sorely disappointed when you start trying to do things like `C-<Right>`. The problem is this: **every** Mac terminal sends the incorrect key codes to your terminal, and by-proxy, Emacs.

    Fix this by following the excellent instructions of Cosmin Stejerean's [Emacs + paredit under terminal](http://offbytwo.com/2012/01/15/emacs-plus-paredit-under-terminal.html). His instructions address how to fix Terminal.app, iTerm and iTerm2 to send the proper key codes for using Paredit.
    Fix this by following the excellent instructions of Cosmin Stejerean's [Emacs + paredit under terminal](http://offbytwo.com/2012/01/15/emacs-plus-paredit-under-terminal.html). His instructions address how to fix Terminal.app, iTerm and iTerm2 to send the proper key codes for using Paredit.

    ## Keyboard Shortcuts

    **Protip**: To find out what any keybinding does use `C-h k` followed by the keybinding in question to discover what it does.

    ### REPL-driven Development with nREPL:

    | Keybinding | Result |
    | ----------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- |
    | `M-x nrepl-jack-in`, `C-c M-j` (when in Clojure file) | Open an nREPL session. Intelligently loads project context if launched from any file within a Leiningen project. |
    | `C-↑`, `C-↓` | Browse up or down through nREPL's history of commands. |
    | `C-x 3 ` | Split window vertically |
    | `C-x f` | Open file |
    | `C-M-x` | Evaluate expression at cursor. This command evaluates whatever top-level expression is under your cursor. |
    | `C-c M-n` | Change the namespace of your nREPL REPL to match the command was issued from. |
    | `C-c C-k` | Evaluate an entire file. |
    | `C-c C-e` | Evaluate the expression preceding your cursor. |
    | `C-c C-r` | Evaluate a selected region. Start selecting text with the keybinding `C-Space`. |
    | `M-.` | Jump to the definition of the symbol under your cursor. |
    | `M-,` | Jump back one level (after jumping with `M-.`). |

    ### Paredit

    | Keybinding | Result |
    | ---------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
    | `C-→` | Absorb one expression from the right of the current expression<br>Also try `C-←`, `C-M-→` and `C-M-←`<br><br>Example: `(+ 1 2) 3``(+ 1 2 3)` |
    | `M-↑` | "Splice sexp killing backwards". A utility-knife of a command that unwraps an expression, deleting anything before the cursor.<br>Example: `(filter :completed? (map (fn [[_ v]] v)▋todos))``(filter :completed? todos)` |

  30. Ryan Neufeld revised this gist Mar 12, 2013. 1 changed file with 1 addition and 0 deletions.
    1 change: 1 addition & 0 deletions README.md
    Original file line number Diff line number Diff line change
    @@ -35,6 +35,7 @@ Now, for the config...
    ## Installing the config

    **Prerequisite**: Install Leiningen. [Installation instructions](http://leiningen.org/#install).

    To follow along with the contents of the presentation I would suggest you download and install the Emacs configuration bundled in this gist like so:

    1. Clean out any existing Emacs configurations you have.