Massive refactor. Refactor all the things

This commit is contained in:
Henrik Lissner 2016-04-23 22:08:46 -04:00
parent 03514fc09d
commit f234be68a4
56 changed files with 792 additions and 831 deletions

View file

@ -1,48 +1,45 @@
;;; module-go.el
(use-package gorepl-mode :commands (gorepl-run gorepl-run-load-current-file))
(use-package go-mode
:mode "\\.go$"
:interpreter "go"
:init
(add-hook! go-mode '(emr-initialize flycheck-mode))
(define-builder! go-mode "go build")
(define-repl! go-mode gorepl-run)
(def-builder! go-mode "go build")
(def-company-backend! go-mode (go yasnippet))
(def-repl! go-mode gorepl-run)
(add-hook! go-mode '(emr-initialize flycheck-mode go-eldoc-setup))
:config
(after! emr
(mapc (lambda (x)
(let ((command-name (car x))
(title (cadr x))
(region-p (caddr x))
predicate)
(setq predicate (cond ((eq region-p 'both) nil)
(t (if region-p
(lambda () (use-region-p))
(lambda () (not (use-region-p)))))))
(emr-declare-command (intern (symbol-name command-name))
:title title :modes 'go-mode :predicate predicate)))
'((go-remove-unused-imports "Remove unushed imports" nil)
(gofmt "Format code" nil))))
(after! helm
(use-package helm-go-package :defer t))
(require 'go-eldoc)
(add-hook 'go-mode-hook 'go-eldoc-setup)
(require 'company-go)
(define-company-backend! go-mode (go yasnippet))
(map! :map go-mode-map
:n "gd" 'godef-jump
:n "gD" 'godef-describe
(:localleader
:n "p" 'helm-go-package
:n "tr" 'narf:go-test-run-all
:n "ta" 'narf:go-test-run-all
:n "ts" 'narf:go-test-run-package)))
:n "p" 'helm-go-package
:n "tr" 'narf:go-test-run-all
:n "ta" 'narf:go-test-run-all
:n "ts" 'narf:go-test-run-package))
(mapc (lambda (x)
(let ((command-name (car x))
(title (cadr x))
(region-p (caddr x))
predicate)
(setq predicate (cond ((eq region-p 'both) nil)
(t (if region-p
(lambda () (use-region-p))
(lambda () (not (use-region-p)))))))
(emr-declare-command (intern (symbol-name command-name))
:title title :modes 'go-mode :predicate predicate)))
'((go-remove-unused-imports "Remove unushed imports" nil)
(gofmt "Format code" nil))))
(use-package go-eldoc :after go-mode)
(use-package company-go :after go-mode)
(use-package gorepl-mode :commands (gorepl-run gorepl-run-load-current-file))
(use-package helm-go-package :commands helm-go-package)
(provide 'module-go)
;;; module-go.el ends here