Skip to content

Latest commit

 

History

History
42 lines (33 loc) · 1.94 KB

README.org

File metadata and controls

42 lines (33 loc) · 1.94 KB

PIMacs/lang-go Doom Emacs Module

This Doom package provides ready to use configuration of the Emacs native go-ts-mode for editing Go programming language based on the native support of Tree Sitter.

Features

  • Handle and extand properly the Emacs V29.1+ native support of Go of go-ts-mode with native Tree Sitter Emacs integration.
  • Inherit and extand the Doom Emacs go-mode configuration by default.
  • Provide a solid programming bundle with go-[ts-]mode, LSP and [[https://github.com/golangci/golangci-lint][Golangci-lint]] working together.
  • Rapid key access for “Find definitions”, “Find references” and “Go back” without modifying the default Doom key bindings.
  • Realtime documentation with mouse or key bindings if the +lsp option is passed.

Module Options

  • lsp (recommended) : provide LSP integration with go-mode and go-ts-mode. If the module :pimacs lsp is loaded this option is automatically added. See the pimacs/lsp README for futher informations.

Use goimports on save

Use purcell/emacs-reformatter.

(reformatter-define go-format
    :program "goimports"
    :args '("/dev/stdin"))

(use-package go-ts-mode
  :hook
  (go-ts-mode . go-format-on-save-mode))

Pull Request Needed

The support of Golangci-lint is done with flycheck-golangci-lint only if the Doom module :checkers syntax is loaded and without the option +flymake !

Pull request is needed to support Golangci-lint with flymake or golangci-lint-langserver.