Skip to content

Commit c765e8d

Browse files
author
bwkernel
committed
Add feature: add golang config and python config
1 parent ceb6037 commit c765e8d

File tree

5 files changed

+151
-128
lines changed

5 files changed

+151
-128
lines changed

lisp/custom.el

+1-1
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@
4949
'(omnisharp-imenu-support t)
5050
'(package-selected-packages
5151
(quote
52-
(exec-path-from-shell go-autocomplete auto-complete-config auto-complete mc-extras multiple-cursors multi-term flycheck color-theme-solarized color-theme-sanityinc-tomorrow fill-column-indicator iedit dotnet sql-indent which-key evil-nerd-commenter powerline-evil evil-surround powerline window-numbering evil company monokai-theme hungry-delete smartparens js2-mode nodejs-repl popwin omnisharp helm web-mode expand-region popup cnfonts org-pomodoro yasnippet helm-ag elpy py-autopep8 counsel go-mode company-go)))
52+
(company-anaconda protobuf-mode go-gopath golint gotest go-projectile company-jedi exec-path-from-shell go-autocomplete auto-complete-config auto-complete mc-extras multiple-cursors multi-term flycheck color-theme-solarized color-theme-sanityinc-tomorrow fill-column-indicator iedit dotnet sql-indent which-key evil-nerd-commenter powerline-evil evil-surround powerline window-numbering evil company monokai-theme hungry-delete smartparens js2-mode nodejs-repl popwin omnisharp helm web-mode expand-region popup cnfonts org-pomodoro yasnippet helm-ag elpy py-autopep8 counsel go-mode company-go)))
5353
'(popwin:popup-window-position (quote right))
5454
'(popwin:popup-window-width 80)
5555
'(which-key-side-window-location (quote right)))

lisp/init-fonts.el

+77-75
Original file line numberDiff line numberDiff line change
@@ -22,80 +22,82 @@ This is helpful for writeroom-mode, in particular."
2222
;; (setq cjk-font-size 16)
2323
;; (setq ansi-font-size 16)
2424

25-
;; ;; 设置一个字体集,用的是create-fontset-from-fontset-spec内置函数
26-
;; ;; 中文一个字体,英文一个字体混编。显示效果很好。
27-
;; (defun set-font()
28-
;; (interactive)
29-
;; (create-fontset-from-fontset-spec
30-
;; (concat
31-
;; "-*-fixed-medium-r-normal-*-*-*-*-*-*-*-fontset-myfontset,"
32-
;; (format "ascii:-outline-Consolas-normal-normal-normal-mono-%d-*-*-*-c-*-iso8859-1," ansi-font-size)
33-
;; (format "unicode:-outline-Consolas-normal-normal-normal-mono-%d-*-*-*-c-*-iso8859-1," cjk-font-size)
34-
;; (format "chinese-gb2312:-microsoft-Microsoft YaHei-normal-normal-normal-*-%d-*-*-*-*-0-iso8859-1," cjk-font-size)
35-
;; ;; (format "unicode:-outline-文泉驿等宽微米黑-normal-normal-normal-sans-*-*-*-*-p-*-gb2312.1980-0," cjk-font-size)
36-
;; ;; (format "chinese-gb2312:-outline-文泉驿等宽微米黑-normal-normal-normal-sans-*-*-*-*-p-*-gb2312.1980-0," cjk-font-size)
37-
;; )))
38-
39-
;; ;; 函数字体增大,每次增加2个字号,最大48号
40-
;; (defun increase-font-size()
41-
;; "increase font size"
42-
;; (interactive)
43-
;; (if (< cjk-font-size 48)
44-
;; (progn
45-
;; (setq cjk-font-size (+ cjk-font-size 2))
46-
;; (setq ansi-font-size (+ ansi-font-size 2))))
47-
;; (message "cjk-size:%d pt, ansi-size:%d pt" cjk-font-size ansi-font-size)
48-
;; (font-reload)
49-
;; (sit-for .5))
50-
51-
;; ;; 函数字体增大,每次减小2个字号,最小2号
52-
;; (defun decrease-font-size()
53-
;; "decrease font size"
54-
;; (interactive)
55-
;; (if (> cjk-font-size 2)
56-
;; (progn
57-
;; (setq cjk-font-size (- cjk-font-size 2))
58-
;; (setq ansi-font-size (- ansi-font-size 2))))
59-
;; (message "cjk-size:%d pt, ansi-size:%d pt" cjk-font-size ansi-font-size)
60-
;; (font-reload)
61-
;; (sit-for .5))
62-
63-
;; ;; 恢复成默认大小16号
64-
;; (defun default-font-size()
65-
;; "default font size"
66-
;; (interactive)
67-
;; (setq cjk-font-size 16)
68-
;; (setq ansi-font-size 16)
69-
;; (message "cjk-size:%d pt, ansi-size:%d pt" cjk-font-size ansi-font-size)
70-
;; (font-reload)
71-
;; (sit-for .5))
72-
73-
;; (defun font-reload()
74-
;; "font setting reload"
75-
;; (interactive)
76-
;; (set-font)
77-
;; (set-frame-font "fontset-myfontset" 1 t))
78-
79-
;; ;; 只在GUI情况下应用字体。Console时保持终端字体。
80-
81-
;; (if window-system
82-
;; (progn
83-
;; (set-font)
84-
;; ;; 把上面的字体集设置成默认字体
85-
;; ;; 这个字体名使用是create-fontset-from-fontset-spec函数的第一行的最后两个字段
86-
;; (set-frame-font "fontset-myfontset")
87-
88-
;; ;; 鼠标快捷键绑定
89-
;; (global-set-key '[C-wheel-up] 'increase-font-size)
90-
;; (global-set-key '[C-wheel-down] 'decrease-font-size)
91-
;; ;; 键盘快捷键绑定
92-
;; (global-set-key (kbd "C--") 'decrease-font-size) ;Ctrl+-
93-
;; (global-set-key (kbd "C-0") 'default-font-size) ;Ctrl+0
94-
;; (global-set-key (kbd "C-=") 'increase-font-size) ;Ctrl+=
95-
;; (font-reload)
96-
;; ))
97-
98-
;; (if (eq system-type 'darwin)
99-
;; (font-reload))
25+
;; 设置一个字体集,用的是create-fontset-from-fontset-spec内置函数
26+
;; 中文一个字体,英文一个字体混编。显示效果很好。
27+
(defun set-font()
28+
(interactive)
29+
(create-fontset-from-fontset-spec
30+
(concat
31+
"-*-fixed-medium-r-normal-*-*-*-*-*-*-*-fontset-myfontset,"
32+
(format "ascii:-outline-Consolas-normal-normal-normal-mono-%d-*-*-*-c-*-iso8859-1," ansi-font-size)
33+
(format "unicode:-outline-Consolas-normal-normal-normal-mono-%d-*-*-*-c-*-iso8859-1," cjk-font-size)
34+
(format "chinese-gb2312:-microsoft-Microsoft YaHei-normal-normal-normal-*-%d-*-*-*-*-0-iso8859-1," cjk-font-size)
35+
;; (format "unicode:-outline-文泉驿等宽微米黑-normal-normal-normal-sans-*-*-*-*-p-*-gb2312.1980-0," cjk-font-size)
36+
;; (format "chinese-gb2312:-outline-文泉驿等宽微米黑-normal-normal-normal-sans-*-*-*-*-p-*-gb2312.1980-0," cjk-font-size)
37+
)))
38+
39+
;; 函数字体增大,每次增加2个字号,最大48号
40+
(defun increase-font-size()
41+
"increase font size"
42+
(interactive)
43+
(if (< cjk-font-size 48)
44+
(progn
45+
(setq cjk-font-size (+ cjk-font-size 2))
46+
(setq ansi-font-size (+ ansi-font-size 2))))
47+
(message "cjk-size:%d pt, ansi-size:%d pt" cjk-font-size ansi-font-size)
48+
(font-reload)
49+
(sit-for .5))
50+
51+
;; 函数字体增大,每次减小2个字号,最小2号
52+
(defun decrease-font-size()
53+
"decrease font size"
54+
(interactive)
55+
(if (> cjk-font-size 2)
56+
(progn
57+
(setq cjk-font-size (- cjk-font-size 2))
58+
(setq ansi-font-size (- ansi-font-size 2))))
59+
(message "cjk-size:%d pt, ansi-size:%d pt" cjk-font-size ansi-font-size)
60+
(font-reload)
61+
(sit-for .5))
62+
63+
;; 恢复成默认大小16号
64+
(defun default-font-size()
65+
"default font size"
66+
(interactive)
67+
(setq cjk-font-size 16)
68+
(setq ansi-font-size 16)
69+
(message "cjk-size:%d pt, ansi-size:%d pt" cjk-font-size ansi-font-size)
70+
(font-reload)
71+
(sit-for .5))
72+
73+
(defun font-reload()
74+
"font setting reload"
75+
(interactive)
76+
(set-font)
77+
(set-frame-font "fontset-myfontset" 1 t))
78+
79+
(default-font-size)
80+
81+
;; 只在GUI情况下应用字体。Console时保持终端字体。
82+
83+
(if window-system
84+
(progn
85+
(set-font)
86+
;; 把上面的字体集设置成默认字体
87+
;; 这个字体名使用是create-fontset-from-fontset-spec函数的第一行的最后两个字段
88+
(set-frame-font "fontset-myfontset")
89+
90+
;; 鼠标快捷键绑定
91+
(global-set-key '[C-wheel-up] 'increase-font-size)
92+
(global-set-key '[C-wheel-down] 'decrease-font-size)
93+
;; 键盘快捷键绑定
94+
(global-set-key (kbd "C--") 'decrease-font-size) ;Ctrl+-
95+
(global-set-key (kbd "C-0") 'default-font-size) ;Ctrl+0
96+
(global-set-key (kbd "C-+") 'increase-font-size) ;Ctrl++
97+
(font-reload)
98+
))
99+
100+
(if (eq system-type 'darwin)
101+
(font-reload))
100102

101103
(provide 'init-fonts)

lisp/init-go.el

+31-44
Original file line numberDiff line numberDiff line change
@@ -1,48 +1,35 @@
1-
;;; init-go --- golang
2-
;;; Commentary:
3-
;; http://tleyden.github.io/blog/2014/05/22/configure-emacs-as-a-go-editor-from-scratch/
4-
;; https://robinxiong.gitbooks.io/golang/content/section1/emacs.html
5-
;; http://studygolang.com/topics/583
6-
7-
;;; Code:
8-
(require 'go-mode)
9-
10-
;; removes all unused imports
11-
(add-hook 'go-mode-hook '(lambda() (local-set-key (kbd "C-c C-r")'go-remove-unused-imports)))
12-
13-
;; format the current buffer
14-
(add-hook 'go-mode-hook '(lambda () (local-set-key (kbd "C-c C-f") 'gofmt)))
15-
16-
;; format the buffer when save
17-
(add-hook 'before-save-hook 'gofmt-before-save)
18-
19-
;; show the go documentation for a given package
20-
;; Note: godoc depends on the godoc utility.
21-
;; It must be installed and on your $PATH.
22-
;; To install it run: go get code.google.com/p/go.tools/cmd/godoc.
23-
(add-hook 'go-mode-hook '(lambda() (local-set-key (kbd "C-c C-k") 'godoc)))
24-
25-
;; Gocode autocomplete
26-
;;(add-hook 'go-mode-hook 'company-mode)
27-
(add-hook 'go-mode-hook '(lambda()
28-
(set (make-local-variable 'company-backends)'(company-go))
29-
(company-mode)))
30-
31-
;; Go oracle
32-
;; Note: $GOPATH will defined in init-exec-path-from-shell
33-
;;(load-file "$GOPATH/src/golang.org/x/tools/cmd/oracle/oracle.el")
34-
;;(add-hook 'go-mode-hook 'go-oracle-mode)
35-
36-
;; Go company
37-
(require-package 'auto-complete)
38-
(require-package 'go-autocomplete)
39-
;; (require-package 'auto-complete-config)
40-
(ac-config-default)
1+
(require-package 'go-mode)
412

423
(require-package 'company-go)
43-
(add-hook 'go-mode-hook (lambda ()
44-
(set (make-local-variable 'company-backends) '(company-go))
45-
(company-mode)))
4+
(require-package 'go-projectile)
5+
(require-package 'gotest)
6+
(require-package 'golint)
7+
(require-package 'go-gopath)
8+
9+
(defun go-mode-defaults ()
10+
;; Prefer goimports to gofmt if installed
11+
(let ((goimports (executable-find "goimports")))
12+
(when goimports
13+
(setq gofmt-command goimports)))
14+
15+
(add-hook 'before-save-hook 'gofmt-before-save nil t)
16+
(whitespace-toggle-options '(tabs))
17+
(set (make-local-variable 'company-backends) '(company-go))
18+
19+
(local-set-key (kbd "C-c C-b") 'pop-tag-mark)
20+
(local-set-key (kbd "C-c t") 'go-test-current-file)
21+
(local-set-key (kbd "C-c j") 'godef-jump)
22+
(setq tab-width 4))
23+
24+
(add-hook 'go-mode-hook 'go-mode-defaults)
25+
26+
27+
;; (require-package 'protobuf-mode)
28+
;; (defconst protobuf-style
29+
;; '((c-basic-offset . 2)
30+
;; (indent-tabs-mode . nil)))
31+
32+
;; (add-hook 'protobuf-mode-hook
33+
;; (lambda () (c-add-style "my-style" protobuf-style t)))
4634

4735
(provide 'init-go)
48-
;;; init-go.el ends here

lisp/init-omnisharp.el

+16
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
(define-key omnisharp-mode-map (kbd "C-d a p") 'dotnet-add-package)
3434
(define-key omnisharp-mode-map (kbd "C-d g c") 'dotnet-goto-csproj)
3535
(define-key omnisharp-mode-map (kbd "C-c i") #'omnisharp-find-implementations)
36+
(define-key omnisharp-mode-map (kbd "C-c f") #'omnisharp-code-format-entire-file)
3637
(omnisharp-mode)
3738
(flycheck-mode))
3839

@@ -63,4 +64,19 @@ on their own line."
6364

6465
(add-hook 'csharp-mode-hook 'my-csharp-mode-setup t)
6566

67+
;; (defun format-region-or-buffer()
68+
;; (interactive)
69+
;; (save-excursion
70+
;; (if(region-active-p)
71+
;; (progn
72+
;; (omnisharp-code-format-entire-file (region-beginning) (region-end))
73+
;; (message "Indented selected region."))
74+
;; (progn
75+
;; (indent-buffer)
76+
;; (message "Indented buffer.")))))
77+
78+
;; (global-set-key (kbd "C-M-\\") 'indent-region-or-buffer)
79+
80+
81+
6682
(provide 'init-omnisharp)

lisp/init-python.el

+26-8
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,30 @@
1-
;;(elpy-enable)
2-
;;(require 'py-autopep8)
3-
;;(add-hook 'elpy-mode-hook 'py-autopep8-enable-on-save)
1+
(require-package 'elpy)
2+
(elpy-enable)
43

5-
(defun my-python-mode-setup()
6-
(elpy-enable)
7-
(elpy-mode)
8-
(setq python-indent-offset 4))
4+
;; (require-package 'company-jedi)
5+
;; (defun my/python-mode-hook ()
6+
;; (add-to-list 'company-backends 'company-jedi))
97

10-
(add-hook 'python-mode-hook 'my-python-mode-setup t)
8+
;; (add-hook 'python-mode-hook 'my/python-mode-hook)
9+
10+
(setq jedi:setup-keys t)
11+
(setq jedi:complete-on-dot t)
12+
;; (require-package 'anaconda-mode)
13+
;; (add-hook 'python-mode-hook 'anaconda-mode)
14+
;; (add-hook 'python-mode-hook 'anaconda-eldoc-mode)
15+
16+
;; (require-package 'company-anaconda)
17+
;; (eval-after-load "company"
18+
;; '(add-to-list 'company-backends 'company-anaconda))
19+
20+
21+
(setq elpy-rpc-backend "jedi")
22+
23+
24+
;; (require-package 'company-jedi)
25+
;; (defun my-python-mode-hook ()
26+
;; (add-to-list 'company-backends 'company-jedi))
27+
28+
;; (add-hook 'python-mode-hook 'my-python-mode-hook)
1129

1230
(provide 'init-python)

0 commit comments

Comments
 (0)