Subject: Re: bug#70939: [PATCH] Add commands to run unit tests in go-ts-mode

From: Ankit Gadiya <[email-masked]>
Date: Wed, 29 May 2024 01:28:38 +0530

> > Sorry for the delay in reviewing, I've been having internet troubles since last Friday. I'll take a look at this next week.

No issues, appreciate the review.

> > A few quick things I noticed on a glance:
> >
> > + (let* ((node (go-ts-mode--find-defun-at start))
> > + (name (treesit-defun-name node))
> >
> > Indentation is off on the name line - looks like a TAB was used? Should only be spaces everywhere. Double check the rest is OK.
> >
> > +region. It is bound to 'C-c C-t' in 'go-ts-mode'.
> > ^ C-c C-t t
> >
> > +package of the current buffer. It is bound to 'C-c C-p' in 'go-ts-mode'.
> > ^ C-c C-t p
> >
> > + "List of go build tags for the test commands."
> > ^ Go
> >
> > + "Return a list with names of all defuns in the range."
> > We should probably say what the range actually is (START to END) - not sure if we have a convention for that wording already.
>
> A few more nits:
> +  "Return compile flag for build tags.
>           ^ the
>
> +This function respects `go-ts-mode-build-tags' variable for specifying
>                        ^ the
>
> +  "Return a list with names of all defuns in the range."
>                       ^ the
>
> Indentation is also off in go-ts-mode-test-function-at-point.

Thanks. I learned about whitespace-mode and checkdoc. I'll be running my changes
through it before sending the path now. Please let me know if there are any
other checks I can do in the future.

> When we run C-c C-t t outside of a function, we get:
> go test -v  -run '^nil$'
> Should we maybe not bother running anything at all? What do you think?
> Do we know how other packages behave under similar circumstances?

I'll check the packages and find out how it is handled elsewhere. One point of
reference can be Doom Emacs configuration. It uses the
re-search-(backward|forward) functions that throw an error if no match is found.

I'm also planning to add a third function to run all the tests in the current
file using the buffer-beginning and buffer-end as the range. I'll submit it in
the next patch along with the suggested fixes.

-- 
Ankit