Subject: Re: [bug#53472] [PATCH v4] gnu: Add emacs-nim-mode

From: Nicolas Goaziou <[email-masked]>
Date: Fri, 28 Jan 2022 08:55:26 +0100

Hello,

"(unmatched-parenthesis via Guix-patches" via <[email-masked]>
writes:

> * gnu/packages/emacs-xyz.scm(emacs-nim-mode): New variable.

Thank you.

You add both emacs-nim-mode and emacs-commenter. Could you split the
patch into two parts?
> +       (uri (string-append "https://github.com/yuutayamada/commenter/archive/refs/tags/v" version ".tar.gz"))

These URI are not stable. You should use git-fetch with commit
(string-append "v" version) instead.

> +       (sha256
> +        (base32 "1n9m8f4gflb0c3nh98nkmsqzscyf5d1p1gcz8apskkmf7z0z0q2j"))))
> +    (build-system emacs-build-system)
> +    (home-page "https://github.com/yuutayamada/commenter")
> +    (synopsis "Allows you to set both single and multi line comment variables like @code{comment-start} or @code{comment-end} etc.")

The synopsis is too long:

  "Set both single- and multi-line comment variables in Emacs"

> +    (description "This package allows you to set both single and multi line comment variables like @code{comment-start} or @code{comment-end} etc.")

I suggest to drop the "etc." since there is "like" before.

  "This Emacs package sets both single- and multi-line comment variables like @code{comment-start} or @code{comment-end}."

> +(define-public emacs-nim-mode
> +  (let ((commit "744e076f0bea1c5ddc49f92397d9aa98ffa7eff8")
> +        (revision "0"))

Since you're not using a tagged commit, could you put a comment above
the let binding explaining why?

> +      (synopsis "Major mode for editing Nim source code")

I would add "Emacs": "Emacs major mode for editing Nim source code"

> +      (description "This package provides major modes for Nim:
> ++@itemize
> ++@item Syntax highlighting for Nim code, Nimble configuration files, and nim.cfg
> ++@item `M-x nim-compile`, which can also be invoked with `C-c C-c` inside a Nim source file
> ++@item File outline by procedures
> ++@item Indentation and line breaking (alpha)
> ++@item Integration with nimsuggest, the Nim linting and completion server (alpha, both nimsuggest-mode and nimsuggest itself are currently VERY unstable and may make emacs much less responsive)
> ++@end itemize")

I suggest:

  This package includes major modes for Nim. In particular, it provides
  syntax highlighting for Nim code, Nimble configuration files, and
  @file{nim.cfg}, outlining features, a dedicated compilation command,
  indentation and line breaking.

  It also implements integration with @code{nimsuggest}, the Nim linting
  and completion server, although this is currently unstable.
 
> +      (license license:gpl3+))))

Could you send an updated patch?

Regards,
-- 
Nicolas Goaziou