From 76f53e6ad06fe203099ebe423be80f0f35ca8d37 Mon Sep 17 00:00:00 2001 From: David Florness Date: Sun, 23 May 2021 11:08:16 -0400 Subject: [PATCH] Allow directories with a go.mod file to be a project This is needed to use lsp-mode with gopls when inside the GOPATH. --- lisp/go.el | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/lisp/go.el b/lisp/go.el index 3f039d8..a4d2c80 100644 --- a/lisp/go.el +++ b/lisp/go.el @@ -1,3 +1,14 @@ (use-package go-mode :defer t :hook (go-mode . lsp)) + +(require 'project) + +(defun project-find-go-module (dir) + (when-let ((root (locate-dominating-file dir "go.mod"))) + (cons 'go-module root))) + +(cl-defmethod project-root ((project (head go-module))) + (cdr project)) + +(add-hook 'project-find-functions #'project-find-go-module) -- 2.38.4