37 lines
1.2 KiB
EmacsLisp
37 lines
1.2 KiB
EmacsLisp
;; Установка и настройка lsp-mode
|
||
(use-package lsp-mode
|
||
:ensure t
|
||
:commands (lsp lsp-deferred)
|
||
:init
|
||
(setq lsp-keymap-prefix "C-c l")
|
||
:config
|
||
(lsp-enable-which-key-integration t))
|
||
|
||
;; Установка lsp-ui для улучшенного интерфейса
|
||
(use-package lsp-ui
|
||
:ensure t
|
||
:commands lsp-ui-mode)
|
||
|
||
;; Установка company-mode для автодополнения
|
||
(use-package company
|
||
:ensure t
|
||
:config
|
||
(setq company-minimum-prefix-length 1
|
||
company-idle-delay 0.0)) ;; Опционально, для немедленного отображения
|
||
|
||
;; Настройка Go-mode
|
||
(use-package go-mode
|
||
:ensure t
|
||
:hook ((go-mode . lsp-deferred)
|
||
(before-save . lsp-format-buffer) ;; Форматирование перед сохранением
|
||
(before-save . lsp-organize-imports)))
|
||
|
||
;; Форматирование кода с использованием goimports
|
||
(setq gofmt-command "goimports")
|
||
(add-hook 'before-save-hook 'gofmt-before-save)
|
||
|
||
(add-hook 'go-mode-hook #'lsp-deferred)
|
||
|
||
;; Дополнительные настройки для LSP с Go
|
||
(setq lsp-go-use-gofumpt t) ;; Использовать gofumpt вместо gofmt
|