Improve go usage
This commit is contained in:
parent
d3cd5614b1
commit
af7c179407
@ -26,3 +26,20 @@
|
||||
(add-hook 'ruby-mode-hook
|
||||
(lambda ()
|
||||
(insert-shebang-if-empty "/usr/bin/ruby")))
|
||||
|
||||
; Golang
|
||||
(add-hook 'go-mode-hook
|
||||
(lambda ()
|
||||
(set (make-local-variable 'compile-command) "go build")))
|
||||
|
||||
(add-hook 'go-mode-hook
|
||||
(lambda ()
|
||||
(when (buffer-empty-p)
|
||||
(save-excursion
|
||||
(goto-char (point-min))
|
||||
(insert "package \n\nimport (\n\t\n)\n")))))
|
||||
|
||||
(add-hook 'before-save-hook 'gofmt-before-save)
|
||||
|
||||
(eval-after-load "go-mode"
|
||||
'(require 'flymake-go))
|
||||
|
@ -1 +0,0 @@
|
||||
go.el/go-mode-autoloads.el
|
98
stuff/go-mode-autoloads.el
Normal file
98
stuff/go-mode-autoloads.el
Normal file
@ -0,0 +1,98 @@
|
||||
;;; go-mode-autoloads.el --- automatically extracted autoloads
|
||||
;;
|
||||
;;; Code:
|
||||
|
||||
|
||||
;;;### (autoloads (go-download-play godoc gofmt-before-save go-mode)
|
||||
;;;;;; "go-mode" "go-mode.el" (21514 38760 682820 85000))
|
||||
;;; Generated autoloads from go-mode.el
|
||||
|
||||
(autoload 'go-mode "go-mode" "\
|
||||
Major mode for editing Go source text.
|
||||
|
||||
This mode provides (not just) basic editing capabilities for
|
||||
working with Go code. It offers almost complete syntax
|
||||
highlighting, indentation that is almost identical to gofmt and
|
||||
proper parsing of the buffer content to allow features such as
|
||||
navigation by function, manipulation of comments or detection of
|
||||
strings.
|
||||
|
||||
In addition to these core features, it offers various features to
|
||||
help with writing Go code. You can directly run buffer content
|
||||
through gofmt, read godoc documentation from within Emacs, modify
|
||||
and clean up the list of package imports or interact with the
|
||||
Playground (uploading and downloading pastes).
|
||||
|
||||
The following extra functions are defined:
|
||||
|
||||
- `gofmt'
|
||||
- `godoc'
|
||||
- `go-import-add'
|
||||
- `go-remove-unused-imports'
|
||||
- `go-goto-imports'
|
||||
- `go-play-buffer' and `go-play-region'
|
||||
- `go-download-play'
|
||||
- `godef-describe' and `godef-jump'
|
||||
- `go-coverage'
|
||||
|
||||
If you want to automatically run `gofmt' before saving a file,
|
||||
add the following hook to your emacs configuration:
|
||||
|
||||
\(add-hook 'before-save-hook #'gofmt-before-save)
|
||||
|
||||
If you want to use `godef-jump' instead of etags (or similar),
|
||||
consider binding godef-jump to `M-.', which is the default key
|
||||
for `find-tag':
|
||||
|
||||
\(add-hook 'go-mode-hook (lambda ()
|
||||
(local-set-key (kbd \"M-.\") #'godef-jump)))
|
||||
|
||||
Please note that godef is an external dependency. You can install
|
||||
it with
|
||||
|
||||
go get github.com/rogpeppe/godef
|
||||
|
||||
|
||||
If you're looking for even more integration with Go, namely
|
||||
on-the-fly syntax checking, auto-completion and snippets, it is
|
||||
recommended that you look at flycheck
|
||||
\(see URL `https://github.com/flycheck/flycheck') or flymake in combination
|
||||
with goflymake (see URL `https://github.com/dougm/goflymake'), gocode
|
||||
\(see URL `https://github.com/nsf/gocode'), go-eldoc
|
||||
\(see URL `github.com/syohex/emacs-go-eldoc') and yasnippet-go
|
||||
\(see URL `https://github.com/dominikh/yasnippet-go')
|
||||
|
||||
\(fn)" t nil)
|
||||
|
||||
(add-to-list 'auto-mode-alist (cons "\\.go\\'" 'go-mode))
|
||||
|
||||
(autoload 'gofmt-before-save "go-mode" "\
|
||||
Add this to .emacs to run gofmt on the current buffer when saving:
|
||||
(add-hook 'before-save-hook 'gofmt-before-save).
|
||||
|
||||
Note that this will cause go-mode to get loaded the first time
|
||||
you save any file, kind of defeating the point of autoloading.
|
||||
|
||||
\(fn)" t nil)
|
||||
|
||||
(autoload 'godoc "go-mode" "\
|
||||
Show Go documentation for a query, much like M-x man.
|
||||
|
||||
\(fn QUERY)" t nil)
|
||||
|
||||
(autoload 'go-download-play "go-mode" "\
|
||||
Downloads a paste from the playground and inserts it in a Go
|
||||
buffer. Tries to look for a URL at point.
|
||||
|
||||
\(fn URL)" t nil)
|
||||
|
||||
;;;***
|
||||
|
||||
(provide 'go-mode-autoloads)
|
||||
;; Local Variables:
|
||||
;; version-control: never
|
||||
;; no-byte-compile: t
|
||||
;; no-update-autoloads: t
|
||||
;; coding: utf-8
|
||||
;; End:
|
||||
;;; go-mode-autoloads.el ends here
|
@ -1 +0,0 @@
|
||||
go.el/go-mode.el
|
2009
stuff/go-mode.el
Normal file
2009
stuff/go-mode.el
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user