Created
July 2, 2020 01:15
-
-
Save atotto/9124c705c1c36f4059b4dfcd5738e857 to your computer and use it in GitHub Desktop.
simple golang editor setting for emacs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(require 'package) | |
(let* ((no-ssl (and (memq system-type '(windows-nt ms-dos)) | |
(not (gnutls-available-p)))) | |
(proto (if no-ssl "http" "https"))) | |
(when no-ssl (warn "\ | |
Your version of Emacs does not support SSL connections, | |
which is unsafe because it allows man-in-the-middle attacks. | |
There are two things you can do about this warning: | |
1. Install an Emacs version that does support SSL and be safe. | |
2. Remove this warning from your init file so you won't see it again.")) | |
(add-to-list 'package-archives (cons "melpa" (concat proto "://melpa.org/packages/")) t) | |
;; Comment/uncomment this line to enable MELPA Stable if desired. See `package-archive-priorities` | |
;; and `package-pinned-packages`. Most users will not need or want to do this. | |
;;(add-to-list 'package-archives (cons "melpa-stable" (concat proto "://stable.melpa.org/packages/")) t) | |
) | |
(package-initialize) | |
(custom-set-variables | |
;; custom-set-variables was added by Custom. | |
;; If you edit it by hand, you could mess it up, so be careful. | |
;; Your init file should contain only one such instance. | |
;; If there is more than one, they won't work right. | |
'(package-selected-packages | |
(quote | |
(company-go company use-package lsp-mode go-mode helm)))) | |
(custom-set-faces | |
;; custom-set-faces was added by Custom. | |
;; If you edit it by hand, you could mess it up, so be careful. | |
;; Your init file should contain only one such instance. | |
;; If there is more than one, they won't work right. | |
) | |
(use-package lsp-mode | |
:ensure t | |
:commands (lsp lsp-deferred) | |
:hook (go-mode . lsp-deferred) | |
:config (lsp-register-custom-settings | |
'(("gopls.completeUnimported" t t) | |
("gopls.usePlaceholders" t t) | |
("gopls.staticcheck" t t)))) | |
(defun lsp-go-install-save-hooks () | |
(add-hook 'before-save-hook #'lsp-format-buffer t t) | |
(add-hook 'before-save-hook #'lsp-organize-imports t t)) | |
(add-hook 'go-mode-hook #'lsp-go-install-save-hooks) | |
(use-package company | |
:ensure t | |
:config | |
;; Optionally enable completion-as-you-type behavior. | |
(setq company-idle-delay 0) | |
(setq company-minimum-prefix-length 1)) | |
Author
atotto
commented
Jul 2, 2020
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment