General cleanup (again)

This commit is contained in:
Henrik Lissner 2016-03-29 23:13:31 -04:00
parent 53c94b8273
commit f9f0b9a2e4
11 changed files with 84 additions and 85 deletions

View file

@ -12,7 +12,7 @@
(add-hook 'quickrun/mode-hook 'linum-mode) (add-hook 'quickrun/mode-hook 'linum-mode)
:config :config
(setq quickrun-focus-p nil) (setq quickrun-focus-p nil)
(add-to-list 'quickrun-file-alist '("\\.gvy$" . "groovy"))) (push '("\\.gvy$" . "groovy") quickrun-file-alist))
(use-package repl-toggle (use-package repl-toggle
:commands (rtog/toggle-repl rtog/add-repl) :commands (rtog/toggle-repl rtog/add-repl)

View file

@ -44,5 +44,17 @@
(narf--ert-pre) (narf--ert-pre)
(ert-run-tests-interactively t)) (ert-run-tests-interactively t))
;;;###autoload
(defun narf/elisp-auto-compile ()
(when (narf/is-recompilable-p)
(narf:compile-el)))
;;;###autoload
(defun narf/elisp-inf-ielm ()
(ielm)
(let ((buf (current-buffer)))
(bury-buffer)
(pop-to-buffer buf)))
(provide 'defuns-lisp) (provide 'defuns-lisp)
;;; defuns-lisp.el ends here ;;; defuns-lisp.el ends here

View file

@ -5,13 +5,12 @@
;; TODO Set up emacs task runners for fruitstrap ;; TODO Set up emacs task runners for fruitstrap
(use-package swift-mode (use-package swift-mode
:mode "\\.swift$" :mode "\\.swift$"
:init :init (add-hook 'swift-mode-hook 'flycheck-mode)
(add-hook! swift-mode 'flycheck-mode)
:config :config
(after! flycheck (add-to-list 'flycheck-checkers 'swift)) (after! flycheck (push 'swift flycheck-checkers))
(after! company
(require 'company-sourcekit) (require 'company-sourcekit)
(define-company-backend! swift-mode (sourcekit yasnippet)))) (define-company-backend! swift-mode (sourcekit yasnippet)))
;; ;;

View file

@ -3,9 +3,8 @@
(use-package cmake-mode (use-package cmake-mode
:mode "CMakeLists\\.txt$" :mode "CMakeLists\\.txt$"
:config :config
(after! company
(require 'company-cmake) (require 'company-cmake)
(define-company-backend! cmake-mode (cmake yasnippet)))) (define-company-backend! cmake-mode (cmake yasnippet)))
(use-package glsl-mode (use-package glsl-mode
:mode ("\\.glsl\\'" "\\.vert\\'" "\\.frag\\'" "\\.geom\\'")) :mode ("\\.glsl\\'" "\\.vert\\'" "\\.frag\\'" "\\.geom\\'"))
@ -43,6 +42,10 @@
(sp-local-pair "/**" "*/" :post-handlers '(("||\n[i]" "RET") ("||\n[i]" "SPC"))) (sp-local-pair "/**" "*/" :post-handlers '(("||\n[i]" "RET") ("||\n[i]" "SPC")))
(sp-local-pair "/*!" "*/" :post-handlers '(("||\n[i]" "RET") ("[d-1]< | " "SPC")))) (sp-local-pair "/*!" "*/" :post-handlers '(("||\n[i]" "RET") ("[d-1]< | " "SPC"))))
;; TODO Clang is *really* slow in larger projects, maybe replace it with
;; irony-mode or ycmd?
(define-company-backend! c-mode-common (c-headers clang xcode))
;; C/C++ Settings ;; C/C++ Settings
(add-hook! (c-mode c++-mode) (add-hook! (c-mode c++-mode)
(electric-indent-local-mode +1) (electric-indent-local-mode +1)
@ -50,11 +53,10 @@
(add-hook! c++-mode 'narf|init-c++-C11-highlights) (add-hook! c++-mode 'narf|init-c++-C11-highlights)
(when IS-MAC (when IS-MAC
(after! company
(setq-default company-c-headers-path-system (setq-default company-c-headers-path-system
(append '("/usr/include/" "/usr/local/include") (append '("/usr/include/" "/usr/local/include")
(f-directories "/usr/include/c++/") (f-directories "/usr/include/c++/")
(f-directories "/usr/local/include/c++/")))) (f-directories "/usr/local/include/c++/")))
(after! flycheck (after! flycheck
(setq-default flycheck-clang-include-path '("/usr/local/include") (setq-default flycheck-clang-include-path '("/usr/local/include")
flycheck-gcc-include-path '("/usr/local/include")))) flycheck-gcc-include-path '("/usr/local/include"))))
@ -63,11 +65,6 @@
(add-hook! c++-mode (setq flycheck-clang-language-standard "c++11" (add-hook! c++-mode (setq flycheck-clang-language-standard "c++11"
flycheck-clang-standard-library "libc++"))) flycheck-clang-standard-library "libc++")))
(after! company
;; TODO Clang is *really* slow in larger projects, maybe replace it with
;; irony-mode or ycmd?
(define-company-backend! c-mode-common (c-headers clang xcode)))
;; Fix enum and C++11 lambda indentation ;; Fix enum and C++11 lambda indentation
(defadvice c-lineup-arglist (around c-lineup-arglist-indent-fix activate) (defadvice c-lineup-arglist (around c-lineup-arglist-indent-fix activate)
"Improve indentation of continued C++11 lambda function opened as argument." "Improve indentation of continued C++11 lambda function opened as argument."

View file

@ -3,17 +3,16 @@
(use-package csharp-mode (use-package csharp-mode
:functions (csharp-log) :functions (csharp-log)
:mode "\\.cs$" :mode "\\.cs$"
:init (add-hook! csharp-mode 'flycheck-mode) :init (add-hook 'csharp-mode-hook 'flycheck-mode))
:config (require 'omnisharp))
;; unity shaders ;; unity shaders
(use-package shader-mode :mode "\\.shader$") (use-package shader-mode :mode "\\.shader$")
(setq omnisharp-auto-complete-want-documentation nil
omnisharp-server-executable-path (concat narf-ext-dir "/OmniSharp.exe"))
(use-package omnisharp (use-package omnisharp
:defer t :commands (omnisharp-mode)
:preface
(setq omnisharp-auto-complete-want-documentation nil
omnisharp-server-executable-path (concat narf-ext-dir "/OmniSharp.exe"))
:when (file-exists-p omnisharp-server-executable-path) :when (file-exists-p omnisharp-server-executable-path)
:init :init
(add-hook! csharp-mode '(emr-initialize omnisharp-mode)) (add-hook! csharp-mode '(emr-initialize omnisharp-mode))
@ -25,15 +24,15 @@
"ts" (λ! (omnisharp-unit-test "single")) "ts" (λ! (omnisharp-unit-test "single"))
"ta" (λ! (omnisharp-unit-test "all")))) "ta" (λ! (omnisharp-unit-test "all"))))
(after! company
(define-company-backend! csharp-mode (omnisharp)) (define-company-backend! csharp-mode (omnisharp))
(add-hook! csharp-mode 'turn-on-eldoc-mode)) (add-hook! csharp-mode 'turn-on-eldoc-mode)
;; Map all refactor commands (see emr) ;; Map all refactor commands (see emr)
(mapc (lambda (x) (mapc (lambda (x)
(let ((command-name (car x)) (let ((command-name (car x))
(title (cadr x))) (title (cadr x)))
(emr-declare-command (intern (format "omnisharp-%s" (symbol-name command-name))) (emr-declare-command
(intern (format "omnisharp-%s" (symbol-name command-name)))
:title title :modes 'omnisharp-mode))) :title title :modes 'omnisharp-mode)))
'((find-usages "find usages") '((find-usages "find usages")
(find-implementations "find implementations") (find-implementations "find implementations")

View file

@ -27,7 +27,7 @@
(use-package helm-go-package :defer t)) (use-package helm-go-package :defer t))
(use-package go-eldoc (use-package go-eldoc
:config (add-hook! go-mode 'go-eldoc-setup)) :config (add-hook 'go-mode-hook 'go-eldoc-setup))
(use-package company-go (use-package company-go
:config :config

View file

@ -22,7 +22,7 @@
(map! :map js2-mode-map :m "gQ" 'web-beautify-js)) (map! :map js2-mode-map :m "gQ" 'web-beautify-js))
(use-package js2-refactor (use-package js2-refactor
:init (add-hook! js2-mode 'emr-initialize) :init (add-hook 'js2-mode-hook 'emr-initialize)
:config :config
(require 'emr) (require 'emr)
(mapc (lambda (x) (mapc (lambda (x)
@ -34,7 +34,8 @@
(t (if region-p (t (if region-p
(lambda () (use-region-p)) (lambda () (use-region-p))
(lambda () (not (use-region-p))))))) (lambda () (not (use-region-p)))))))
(emr-declare-command (intern (format "js2r-%s" (symbol-name command-name))) (emr-declare-command
(intern (format "js2r-%s" (symbol-name command-name)))
:title title :modes 'js2-mode :predicate predicate))) :title title :modes 'js2-mode :predicate predicate)))
'((extract-function "extract function" t) '((extract-function "extract function" t)
(extract-method "extract method" t) (extract-method "extract method" t)

View file

@ -3,24 +3,15 @@
(add-hook! emacs-lisp-mode '(turn-on-eldoc-mode flycheck-mode)) (add-hook! emacs-lisp-mode '(turn-on-eldoc-mode flycheck-mode))
;; Pop-up REPL ;; Pop-up REPL
(defun narf-inf-ielm () (define-repl! emacs-lisp-mode narf/elisp-inf-ielm)
(ielm)
(let ((buf (current-buffer)))
(bury-buffer)
(pop-to-buffer buf)))
(define-repl! emacs-lisp-mode narf-inf-ielm)
;; [pedantry intensifies] ;; 'Emacs Lisp' is too long [pedantry intensifies]
(defadvice emacs-lisp-mode (after emacs-lisp-mode-rename-modeline activate) (defadvice emacs-lisp-mode (after emacs-lisp-mode-rename-modeline activate)
(setq mode-name "Elisp")) (setq mode-name "Elisp"))
(defun narf-elisp-auto-compile ()
(when (narf/is-recompilable-p)
(narf:compile-el)))
(add-hook! emacs-lisp-mode (add-hook! emacs-lisp-mode
(add-hook 'before-save-hook 'delete-trailing-whitespace nil t) (add-hook 'before-save-hook 'delete-trailing-whitespace nil t)
(add-hook 'after-save-hook 'narf-elisp-auto-compile nil t) (add-hook 'after-save-hook 'narf/elisp-auto-compile nil t)
(let ((header-face 'font-lock-constant-face)) (let ((header-face 'font-lock-constant-face))
(add-to-list 'imenu-generic-expression (add-to-list 'imenu-generic-expression
@ -59,17 +50,18 @@
(cons disp (cons k v))))) (cons disp (cons k v)))))
(font-lock-add-keywords (font-lock-add-keywords
'emacs-lisp-mode 'emacs-lisp-mode `(("(\\(lambda\\)"
`(("(\\(lambda\\)"
(1 (narf/show-as ))) (1 (narf/show-as )))
;; Highlight narf macros (macros are fontified in emacs 25+) ;; Highlight narf macros (macros are fontified in emacs 25+)
(,(concat (,(concat
"(\\(" "(\\("
(regexp-opt '("λ" "in" "map" "after" "exmap" "shut-up" (regexp-opt '("λ" "in" "map" "after" "exmap" "shut-up" "add-hook"
"add-hook" "associate" "open-with" "define-repl" "associate" "open-with" "define-repl"
"define-builder" "narf-space-setup" "define-env-command" "define-builder" "narf-space-setup"
"define-text-object" "add-yas-minor-mode" "define-docset" "define-env-command" "define-text-object"
"define-org-link!" "define-company-backend" "define-org-section")) "add-yas-minor-mode" "define-docset"
"define-org-link!" "define-company-backend"
"define-org-section"))
"!\\)") "!\\)")
(1 font-lock-keyword-face append)) (1 font-lock-keyword-face append))
;; Ert ;; Ert

View file

@ -10,10 +10,11 @@
:config (add-hook! rust-mode 'flycheck-mode)) :config (add-hook! rust-mode 'flycheck-mode))
(use-package racer (use-package racer
:when (file-exists-p (concat narf-ext-dir "/racer")) :preface
:config
(setq racer-cmd (concat narf-ext-dir "/racer") (setq racer-cmd (concat narf-ext-dir "/racer")
racer-rust-src-path (concat narf-ext-dir "/rust/src/")) racer-rust-src-path (concat narf-ext-dir "/rust/src/"))
:when (file-exists-p racer-cmd)
:config
(map! :map rust-mode-map :m "gd" 'racer-find-definition) (map! :map rust-mode-map :m "gd" 'racer-find-definition)
;; TODO Unit test keybinds ;; TODO Unit test keybinds

View file

@ -9,22 +9,21 @@
(associate! sh-mode :match "/\\.?z\\(sh/.*\\|profile\\|login\\|logout\\|shrc\\|shenv\\)$") (associate! sh-mode :match "/\\.?z\\(sh/.*\\|profile\\|login\\|logout\\|shrc\\|shenv\\)$")
(associate! sh-mode :match "/\\.?bash\\(/.*\\|rc\\|_profile\\)$") (associate! sh-mode :match "/\\.?bash\\(/.*\\|rc\\|_profile\\)$")
(after! sh-script (after! sh-script
;; [pedantry intensifies] (add-hook 'sh-mode-hook 'flycheck-mode)
(defadvice sh-mode (after sh-mode-rename-modeline activate) (add-hook 'sh-mode-hook 'narf|sh-extra-font-lock-activate) ; Fontify variables in strings
(setq mode-name "sh"))
(setq sh-indent-after-continuation 'always)
(define-repl! sh-mode narf/inf-shell)
(add-hook! sh-mode 'flycheck-mode)
(add-hook! sh-mode (add-hook! sh-mode
(electric-indent-local-mode +1) (electric-indent-local-mode +1)
(setq narf-electric-indent-words '("else" "elif" "fi" "done"))) (setq narf-electric-indent-words '("else" "elif" "fi" "done")))
(require 'company-shell) (define-repl! sh-mode narf/inf-shell)
;; Fontify variables in strings (setq sh-indent-after-continuation 'always)
(add-hook 'sh-mode-hook 'narf|sh-extra-font-lock-activate)
;; [pedantry intensifies]
(defadvice sh-mode (after sh-mode-rename-modeline activate)
(setq mode-name "sh"))
(require 'company-shell)
(sp-with-modes '(sh-mode) (sp-with-modes '(sh-mode)
(sp-local-pair "case" "" :when '(("SPC")) :post-handlers '((:add narf/sp-insert-yasnippet)) :actions '(insert)) (sp-local-pair "case" "" :when '(("SPC")) :post-handlers '((:add narf/sp-insert-yasnippet)) :actions '(insert))

View file

@ -5,7 +5,7 @@
(use-package sass-mode (use-package sass-mode
:mode "\\.sass$" :mode "\\.sass$"
:config :config
(after! company (define-company-backend! sass-mode (css)))) (define-company-backend! sass-mode (css)))
(use-package scss-mode (use-package scss-mode
:mode "\\.scss$" :mode "\\.scss$"
@ -14,7 +14,6 @@
:init :init
(define-docset! scss-mode "sass,bourbon") (define-docset! scss-mode "sass,bourbon")
(add-hook! scss-mode '(hs-minor-mode narf|hl-line-off)) (add-hook! scss-mode '(hs-minor-mode narf|hl-line-off))
(setq-default css-indent-offset 2)
(setq scss-compile-at-save nil) (setq scss-compile-at-save nil)
:config :config
(sp-local-pair 'scss-mode "/*" "*/" :post-handlers '(("[d-3]||\n[i]" "RET") ("| " "SPC"))) (sp-local-pair 'scss-mode "/*" "*/" :post-handlers '(("[d-3]||\n[i]" "RET") ("| " "SPC")))
@ -25,6 +24,8 @@
:n ";" 'helm-css-scss :n ";" 'helm-css-scss
:n ":" 'helm-css-scss-multi)) :n ":" 'helm-css-scss-multi))
(define-company-backend! scss-mode (css))
(after! web-beautify (after! web-beautify
(add-hook! scss-mode (setenv "jsbeautify_indent_size" "2")) (add-hook! scss-mode (setenv "jsbeautify_indent_size" "2"))
(map! :map scss-mode-map :m "gQ" 'web-beautify-css)) (map! :map scss-mode-map :m "gQ" 'web-beautify-css))
@ -33,9 +34,7 @@
(emr-declare-command 'narf/scss-toggle-inline-or-block (emr-declare-command 'narf/scss-toggle-inline-or-block
:title "toggle inline/block" :title "toggle inline/block"
:modes 'scss-mode :modes 'scss-mode
:predicate (lambda () (not (use-region-p))))) :predicate (lambda () (not (use-region-p))))))
(after! company (define-company-backend! scss-mode (css))))
(use-package web-beautify (use-package web-beautify
:commands (web-beautify-js web-beautify-css web-beautify-html) :commands (web-beautify-js web-beautify-css web-beautify-html)