init.el: Add support for go
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
This commit is contained in:
parent
7a8704563b
commit
82a8392fff
1 changed files with 82 additions and 3 deletions
85
init.el
85
init.el
|
@ -471,6 +471,58 @@
|
||||||
|
|
||||||
"tf" '(slime-toggle-fancy-trace))
|
"tf" '(slime-toggle-fancy-trace))
|
||||||
|
|
||||||
|
(general-define-key
|
||||||
|
:states '(normal visual emacs)
|
||||||
|
:prefix "SPC m"
|
||||||
|
:keymaps 'go-mode-map
|
||||||
|
"hh" '(godoc-at-point
|
||||||
|
:which-key "godoc at point")
|
||||||
|
"ig" '(go-goto-imports
|
||||||
|
:which-key "goto imports")
|
||||||
|
"ia" '(go-import-add
|
||||||
|
:which-key "add imports")
|
||||||
|
"ir" '(go-remove-unused-imports
|
||||||
|
:which-key "remove unused imports")
|
||||||
|
"eb" '(go-play-buffer
|
||||||
|
:which-key "go-play buffer")
|
||||||
|
"er" '(go-play-region
|
||||||
|
:which-key "go-play region")
|
||||||
|
"ed" '(go-download-play
|
||||||
|
:which-key "download go-play snippet")
|
||||||
|
"xx" '(go-run-main
|
||||||
|
:which-key "run go run for current main package")
|
||||||
|
"ga" '(ff-find-other-file
|
||||||
|
:which-key "jump to matching test file or back")
|
||||||
|
"gc" '(go-coverage
|
||||||
|
:which-key "open a clone of buffer with coverage info")
|
||||||
|
"rn" '(go-rename
|
||||||
|
:which-key "go rename")
|
||||||
|
|
||||||
|
"fd" '(go-guru-describe
|
||||||
|
:which-key "go-guru describe symbol at point")
|
||||||
|
"ff" '(go-guru-freevars
|
||||||
|
:which-key "go-guru show free variables")
|
||||||
|
"fi" '(go-guru-implements
|
||||||
|
:which-key "go-guru show implements relation")
|
||||||
|
"fc" '(go-guru-peers
|
||||||
|
:which-key "go-guru show channel sends/receives")
|
||||||
|
"fr" '(go-guru-referrers
|
||||||
|
:which-key "go-guru show referrers")
|
||||||
|
"fj" '(go-guru-definition
|
||||||
|
:which-key "go-guru jump to symbol definition")
|
||||||
|
"fp" '(go-guru-pointsto
|
||||||
|
:which-key "go-guru show what select expr points to")
|
||||||
|
"fs" '(go-guru-callstack
|
||||||
|
:which-key "go-guru show call stack")
|
||||||
|
"fe" '(go-guru-whicherrs
|
||||||
|
:which-key "go-guru show possible constants/types for error value")
|
||||||
|
"f<" '(go-guru-callers
|
||||||
|
:which-key "go-guru show possible callers")
|
||||||
|
"f>" '(go-guru-callees
|
||||||
|
:which-key "go-guru show call targets")
|
||||||
|
"fo" '(go-guru-set-scope
|
||||||
|
:which-key "go-guru set analysis scope"))
|
||||||
|
|
||||||
;; custom functions
|
;; custom functions
|
||||||
(defun haskell-intero/insert-type ()
|
(defun haskell-intero/insert-type ()
|
||||||
(interactive)
|
(interactive)
|
||||||
|
@ -499,6 +551,12 @@
|
||||||
(split-width-threshold 140))
|
(split-width-threshold 140))
|
||||||
(helm-gtags-dwim)))
|
(helm-gtags-dwim)))
|
||||||
|
|
||||||
|
(defun go-run-main ()
|
||||||
|
(interactive)
|
||||||
|
(shell-command
|
||||||
|
(format "go run %s"
|
||||||
|
(shell-quote-argument (buffer-file-name)))))
|
||||||
|
|
||||||
;; Fancy titlebar for MacOS
|
;; Fancy titlebar for MacOS
|
||||||
(add-to-list 'default-frame-alist '(ns-transparent-titlebar . t))
|
(add-to-list 'default-frame-alist '(ns-transparent-titlebar . t))
|
||||||
(add-to-list 'default-frame-alist '(ns-appearance . dark))
|
(add-to-list 'default-frame-alist '(ns-appearance . dark))
|
||||||
|
@ -564,7 +622,9 @@
|
||||||
(spaceline-toggle-buffer-size-off)
|
(spaceline-toggle-buffer-size-off)
|
||||||
(spaceline-toggle-evil-state-on))
|
(spaceline-toggle-evil-state-on))
|
||||||
|
|
||||||
;; Language Support
|
;;; Language Support
|
||||||
|
|
||||||
|
;; Haskell support
|
||||||
(use-package company-ghci
|
(use-package company-ghci
|
||||||
:defer t
|
:defer t
|
||||||
:config
|
:config
|
||||||
|
@ -598,6 +658,7 @@
|
||||||
:hook
|
:hook
|
||||||
(prog-mode-hook . rainbow-delimiters-mode))
|
(prog-mode-hook . rainbow-delimiters-mode))
|
||||||
|
|
||||||
|
;; Rust support
|
||||||
(use-package rust-mode
|
(use-package rust-mode
|
||||||
:defer t
|
:defer t
|
||||||
:ensure t
|
:ensure t
|
||||||
|
@ -612,9 +673,9 @@
|
||||||
(use-package cargo
|
(use-package cargo
|
||||||
:defer t)
|
:defer t)
|
||||||
|
|
||||||
|
;; LISP support
|
||||||
(use-package evil-cleverparens
|
(use-package evil-cleverparens
|
||||||
:ensure t)
|
:ensure t)
|
||||||
|
|
||||||
(use-package parinfer
|
(use-package parinfer
|
||||||
:ensure t
|
:ensure t
|
||||||
:init
|
:init
|
||||||
|
@ -629,7 +690,6 @@
|
||||||
((emacs-lisp-mode . parinfer-mode)
|
((emacs-lisp-mode . parinfer-mode)
|
||||||
(common-lisp-mode . parinfer-mode)
|
(common-lisp-mode . parinfer-mode)
|
||||||
(lisp-mode . parinfer-mode)))
|
(lisp-mode . parinfer-mode)))
|
||||||
|
|
||||||
(use-package slime
|
(use-package slime
|
||||||
:commands slime-mode
|
:commands slime-mode
|
||||||
:init
|
:init
|
||||||
|
@ -649,4 +709,23 @@
|
||||||
:config
|
:config
|
||||||
(slime-setup))
|
(slime-setup))
|
||||||
|
|
||||||
|
;; go support
|
||||||
|
(use-package company-go
|
||||||
|
:defer t
|
||||||
|
:init
|
||||||
|
(progn
|
||||||
|
(setq company-go-show-annotation t)
|
||||||
|
(push 'company-go company-backends)))
|
||||||
|
(use-package go-impl
|
||||||
|
:defer t)
|
||||||
|
(use-package go-guru
|
||||||
|
:defer t)
|
||||||
|
(use-package go-mode
|
||||||
|
:defer t
|
||||||
|
:init
|
||||||
|
(setq-local tab-width 8)
|
||||||
|
:hook
|
||||||
|
((before-save . 'gofmt-before-save)
|
||||||
|
(go-mode . company-mode)))
|
||||||
|
|
||||||
;;; init.el ends
|
;;; init.el ends
|
||||||
|
|
Loading…
Reference in a new issue