Mercurial > dotfiles
annotate .elisp/settings/80.go.el @ 325:64e73453e43f
xmonad: Pull apart custom layout into something readable
This change doesn't affect any behavior, but it does document the custom
layout by naming function parameters. Hopefully, this will make things
easier to fix the next time the XMonad developers break us.
author | Lucas Bergman <lucas@bergmans.us> |
---|---|
date | Tue, 11 Mar 2014 12:49:05 -0500 |
parents | aa5afa13e12c |
children | ec41fb19c4c8 |
rev | line source |
---|---|
277
884f7f932a83
emacs go: move go config to a new file
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
1 ;; completions for go |
884f7f932a83
emacs go: move go config to a new file
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
2 (defun af-go-hook () |
884f7f932a83
emacs go: move go config to a new file
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
3 ;; enable tabs |
884f7f932a83
emacs go: move go config to a new file
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
4 (setq tab-width 2) |
294
a8caf664abdc
go emacs: fix bug in enabling tabs for go files
Augie Fackler <raf@durin42.com>
parents:
288
diff
changeset
|
5 (setq indent-tabs-mode t) |
277
884f7f932a83
emacs go: move go config to a new file
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
6 (make-variable-buffer-local 'whitespace-style) |
884f7f932a83
emacs go: move go config to a new file
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
7 (setq whitespace-style '(trailing lines-tail indentation trailing empty)) |
884f7f932a83
emacs go: move go config to a new file
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
8 ) |
884f7f932a83
emacs go: move go config to a new file
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
9 |
884f7f932a83
emacs go: move go config to a new file
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
10 (defun af-get-go-elisp-location () |
884f7f932a83
emacs go: move go config to a new file
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
11 (let* ((gobinary (shell-command-to-string "which go")) |
288
e00b19603472
go.el: Fix some bugs exposed on a new machine.
Augie Fackler <raf@durin42.com>
parents:
285
diff
changeset
|
12 (gobin (substring (let ((x (file-name-directory gobinary))) |
e00b19603472
go.el: Fix some bugs exposed on a new machine.
Augie Fackler <raf@durin42.com>
parents:
285
diff
changeset
|
13 (if x x "z")) 0 -1)) |
277
884f7f932a83
emacs go: move go config to a new file
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
14 (goroot (file-name-directory gobin))) |
288
e00b19603472
go.el: Fix some bugs exposed on a new machine.
Augie Fackler <raf@durin42.com>
parents:
285
diff
changeset
|
15 (if goroot (concat goroot "misc/emacs") ""))) |
277
884f7f932a83
emacs go: move go config to a new file
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
16 |
884f7f932a83
emacs go: move go config to a new file
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
17 (defun af-get-gocode-elisp-location () |
884f7f932a83
emacs go: move go config to a new file
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
18 (let* ((binary (shell-command-to-string "which gocode")) |
288
e00b19603472
go.el: Fix some bugs exposed on a new machine.
Augie Fackler <raf@durin42.com>
parents:
285
diff
changeset
|
19 (bin (substring (let ((x (file-name-directory binary))) |
e00b19603472
go.el: Fix some bugs exposed on a new machine.
Augie Fackler <raf@durin42.com>
parents:
285
diff
changeset
|
20 (if x x "z")) 0 -1)) |
277
884f7f932a83
emacs go: move go config to a new file
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
21 (basedir (file-name-directory bin))) |
288
e00b19603472
go.el: Fix some bugs exposed on a new machine.
Augie Fackler <raf@durin42.com>
parents:
285
diff
changeset
|
22 (if basedir |
e00b19603472
go.el: Fix some bugs exposed on a new machine.
Augie Fackler <raf@durin42.com>
parents:
285
diff
changeset
|
23 (concat basedir "src/github.com/nsf/gocode/emacs-company/") |
e00b19603472
go.el: Fix some bugs exposed on a new machine.
Augie Fackler <raf@durin42.com>
parents:
285
diff
changeset
|
24 ""))) |
277
884f7f932a83
emacs go: move go config to a new file
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
25 |
884f7f932a83
emacs go: move go config to a new file
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
26 (let* ((goloc (af-get-go-elisp-location)) |
884f7f932a83
emacs go: move go config to a new file
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
27 (goel (concat goloc "/go-mode.el"))) |
884f7f932a83
emacs go: move go config to a new file
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
28 (if (file-exists-p goel) |
884f7f932a83
emacs go: move go config to a new file
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
29 (progn |
884f7f932a83
emacs go: move go config to a new file
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
30 (message "Go is installed, loading go-mode") |
884f7f932a83
emacs go: move go config to a new file
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
31 (add-to-list 'load-path goloc) |
884f7f932a83
emacs go: move go config to a new file
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
32 (require 'go-mode) |
323
aa5afa13e12c
emacs: add go-eldoc for better go programming
Augie Fackler <raf@durin42.com>
parents:
294
diff
changeset
|
33 (add-hook 'go-mode-hook 'af-go-hook) |
aa5afa13e12c
emacs: add go-eldoc for better go programming
Augie Fackler <raf@durin42.com>
parents:
294
diff
changeset
|
34 (add-hook 'go-mode-hook 'go-eldoc-setup) |
277
884f7f932a83
emacs go: move go config to a new file
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
35 (let* ((loc (af-get-gocode-elisp-location)) |
884f7f932a83
emacs go: move go config to a new file
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
36 (el (concat loc "/company-go.el"))) |
884f7f932a83
emacs go: move go config to a new file
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
37 (if (file-exists-p el) |
884f7f932a83
emacs go: move go config to a new file
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
38 (progn |
884f7f932a83
emacs go: move go config to a new file
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
39 (message "Found gocode, loading company-mode support...") |
884f7f932a83
emacs go: move go config to a new file
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
40 (add-to-list 'load-path loc) |
884f7f932a83
emacs go: move go config to a new file
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
41 (require 'company-go)) |
884f7f932a83
emacs go: move go config to a new file
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
42 (message "gocode missing, skipping company-mode support.")))) |
884f7f932a83
emacs go: move go config to a new file
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
43 (message "Go appears to not be installed, skipping Go setup."))) |