An Emacs major mode for editing Go code with syntax highlighting, indentation, and integration with Go tools.
go-mode.el is an Emacs major mode specifically designed for editing Go source code. It provides syntax highlighting, automatic indentation, and deep integration with Go's toolchain, such as gofmt, godoc, and godef, to streamline Go development within the Emacs editor. It solves the problem of fragmented editor support by offering a unified, feature-rich environment tailored for Go programmers using Emacs.
Go developers who use Emacs as their primary editor and need a robust, integrated development environment with support for Go's tooling and idioms.
Developers choose go-mode.el because it is the canonical, actively maintained Emacs mode for Go, offering stable releases, comprehensive tool integration, and a design that leverages Emacs' native capabilities for a seamless editing experience.
Emacs mode for the Go programming language
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Deeply integrates with Go's official tools like gofmt, goimports, and godoc, enabling seamless formatting and documentation access directly from Emacs, as highlighted in the features section.
Part of MELPA Stable with regular tagged releases, ensuring a reliable and backward-compatible editing experience for long-term projects, as noted in the stability section.
Provides specialized functions for jumping to and editing function signatures, with support for anonymous functions and intuitive keyboard shortcuts like C-c C-f a for arguments.
Built-in support for displaying code coverage results from go test, enhancing testing workflows without leaving Emacs, as mentioned in the features list.
Requires installing separate tools like godef for code navigation and lsp-mode for LSP support, adding setup complexity beyond the core package, as admitted in the README.
Lacks integrated auto-completion and advanced error checking; users must configure third-party extensions like gocode or flycheck, which are listed as 'other extensions'.
Tied exclusively to Emacs, making it irrelevant for developers using other editors and assuming familiarity with Emacs' ecosystem, limiting its broader appeal.