guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH 0/6] Error reporting and hints for missing modules


From: Ludovic Courtès
Subject: [PATCH 0/6] Error reporting and hints for missing modules
Date: Wed, 8 Nov 2017 14:09:15 +0100

Hi!

Here’s an improved version that supports hints (with Texinfo markup and
i18n) and error reporting with source location info.

Hints try to make suggestions.  If you write:

  (use-package-modules qemu)

You’ll get:

  configuration.scm:7:0: error: module (gnu packages qemu) not found
  hint: Did you mean `(use-package-modules virtualization)'?

If you write:

  (use-service-modules openssh)

You get:

  configuration.scm:9:0: error: module (gnu services openssh) not found
  hint: Did you mean `(use-service-modules ssh)'?

The “did you mean” hints are based on exact matches on the package or
service names.  We could go as far as doing inexact searches akin to
what “guix package -s” and “guix system search” do, but maybe that’s
overkill given that the suggestions could be wrong.

Anyway, I think that’s already an improvement and we can always refine
it later.

Thoughts?

Ludo’.

Ludovic Courtès (6):
  ui: Introduce (guix i18n).
  ui: Define and honor '&error-location' and '&fix-hint' conditions.
  services: 'fold-service-types' honors its seed.
  services: 'fold-service-types' includes (gnu services).
  services: Add 'lookup-service-types'.
  gnu: Improve error reporting of the use-.*modules macros.

 Makefile.am          |   1 +
 gnu.scm              | 100 ++++++++++++++++++++++++++++++++++++++++++++++++---
 gnu/services.scm     |  20 +++++++++--
 guix/i18n.scm        |  51 ++++++++++++++++++++++++++
 guix/ui.scm          |  50 ++++++++++++--------------
 guix/utils.scm       |  17 +++++++++
 po/guix/POTFILES.in  |   1 +
 tests/guix-system.sh |  28 +++++++++++++++
 tests/services.scm   |  10 +++++-
 9 files changed, 243 insertions(+), 35 deletions(-)
 create mode 100644 guix/i18n.scm

-- 
2.15.0




reply via email to

[Prev in Thread] Current Thread [Next in Thread]