Update modules/lang/*

This commit is contained in:
Henrik Lissner 2017-02-19 18:57:16 -05:00
parent f0adef1b01
commit e14e25ecb4
68 changed files with 1487 additions and 750 deletions

View file

@ -1,43 +1,37 @@
;;; module-go.el
;;; lang/go/config.el
(use-package go-mode
(@def-package go-mode
:mode "\\.go$"
:interpreter "go"
:init
(add-hook 'go-mode-hook 'flycheck-mode)
(add-hook! go-mode (add-hook 'before-save-hook 'gofmt-before-save))
(@add-hook go-mode (add-hook 'before-save-hook 'gofmt-before-save))
:config
(def-builder! go-mode "go build")
(def-company-backend! go-mode (go yasnippet))
(def-repl! go-mode gorepl-run)
(map! :map go-mode-map
(@set :build 'go-build 'go-mode '+go/build)
(@set :company-backend 'go-mode '(company-go company-yasnippet))
(@set :repl 'go-mode 'gorepl-run)
(@map :map go-mode-map
:n "gd" 'godef-jump
(:leader :n "h" 'godef-describe)
(:localleader
:n "tr" 'doom:go-test-run-all
:n "ta" 'doom:go-test-run-all
:n "ts" 'doom:go-test-run-package))
:n "k" 'godef-describe
:prefix "r"
:n "i" go-remove-unused-imports
:nv "f" gofmt
:prefix "t"
:n "r" '+go/test-run-all
:n "a" '+go/test-run-all
:n "s" '+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 unused imports" nil)
(gofmt "Format code" nil))))
(use-package go-eldoc :after go-mode
(@def-package company-go :after go-mode)
(@def-package go-eldoc
:after go-mode
:init (add-hook 'go-mode-hook 'go-eldoc-setup))
(use-package company-go :after go-mode)
(use-package gorepl-mode :commands (gorepl-run gorepl-run-load-current-file))
(@def-package gorepl-mode
:commands (gorepl-run gorepl-run-load-current-file))
(provide 'module-go)
;;; module-go.el ends here

View file

@ -0,0 +1,8 @@
;; -*- no-byte-compile: t; -*-
;;; lang/go/packages.el
(@package go-eldoc)
(@package go-mode)
(@package gorepl-mode)
(when (@featurep :completion company)
(@package company-go))