Nächste: , Vorige: , Nach oben: Mitwirken   [Inhalt][Index]


16.3 Perfekt eingerichtet

Um perfekt für das Hacken an Guix eingerichtet zu sein, brauchen Sie an sich dasselbe wie um perfekt für das Hacken mit Guile (siehe Using Guile in Emacs in Guile-Referenzhandbuch). Zunächst brauchen Sie mehr als ein Textverarbeitungsprogramm, Sie brauchen Emacs zusammen mit den vom wunderbaren Geiser verliehenen Kräften. Um diese zu installieren, können Sie Folgendes ausführen:

guix package -i emacs guile emacs-geiser

Geiser ermöglicht interaktive und inkrementelle Entwicklung aus Emacs heraus: Code kann in Puffern kompiliert und ausgewertet werden. Zugang zu Online-Dokumentation (Docstrings) steht ebenso zur Verfügung wie kontextabhängige Vervollständigung, M-. um zu einer Objektdefinition zu springen, eine REPL, um Ihren Code auszuprobieren, und mehr (siehe Einführung in Geiser User Manual). Zur bequemen Guix-Entwicklung sollten Sie Guiles Ladepfad so ergänzen, dass die Quelldateien in Ihrem Checkout gefunden werden.

;; Angenommen das Guix-Checkout ist in ~/src/guix.
(with-eval-after-load 'geiser-guile
  (add-to-list 'geiser-guile-load-path "~/src/guix"))

Um den Code tatsächlich zu bearbeiten, bietet Emacs schon einen netten Scheme-Modus. Aber Sie dürfen auch Paredit nicht verpassen. Es bietet Hilfsmittel, um direkt mit dem Syntaxbaum zu arbeiten, und kann so zum Beispiel einen S-Ausdruck hochheben oder ihn umhüllen, ihn verschlucken oder den nachfolgenden S-Ausdruck verwerfen, etc.

Wir bieten auch Vorlagen für häufige Git-Commit-Nachrichten und Paketdefinitionen im Verzeichnis etc/snippets. Diese Vorlagen können mit YASnippet zusammen benutzt werden, um kurze Auslöse-Zeichenketten zu interaktiven Textschnipseln umzuschreiben. Vielleicht möchten Sie das Schnipselverzeichnis zu Ihrer yas-snippet-dirs-Variablen in Emacs hinzufügen.

;; Angenommen das Guix-Checkout ist in ~/src/guix.
(with-eval-after-load 'yasnippet
  (add-to-list 'yas-snippet-dirs "~/src/guix/etc/snippets"))

Die Schnipsel für Commit-Nachrichten setzen Magit voraus, um zum Commit vorgemerkte Dateien anzuzeigen. Wenn Sie eine Commit-Nachricht bearbeiten, können Sie add gefolgt von TAB eintippen, um eine Commit-Nachrichten-Vorlage für das Hinzufügen eines Pakets zu erhalten; tippen Sie update gefolgt von TAB ein, um eine Vorlage zum Aktualisieren eines Pakets zu bekommen; tippen Sie https gefolgt von TAB ein, um eine Vorlage zum Ändern der Homepage-URI eines Pakets auf HTTPS einzufügen.

Das Hauptschnipsel für scheme-mode wird ausgelöst, indem Sie package... gefolgt von TAB eintippen. Dieses Snippet fügt auch die Auslöse-Zeichenkette origin... ein, die danach weiter umgeschrieben werden kann. Das origin-Schnipsel kann wiederum andere Auslöse-Zeichenketten einfügen, die alle auf ... enden, was selbst wieder weiter umgeschrieben werden kann.

Außerden stellen wir automatisches Einfügen und Aktualisieren von Urheberrechtsinformationen („Copyright“) über etc/copyright.el zur Verfügung. Dazu müssten Sie Ihren vollständigen Namen mit E-Mail-Adresse festlegen und eine Datei laden.

(setq user-full-name "Alice Doe")
(setq user-mail-address "alice@mail.org")
;; Assuming the Guix checkout is in ~/src/guix.
(load-file "~/src/guix/etc/copyright.el")

Um an der aktuellen Zeile Copyright-Informationen einzufügen, rufen Sie M-x guix-copyright auf.

Um Copyright-Informationen aktualisieren zu können, müssen Sie einen regulären Ausdruck copyright-names-regexp angeben.

(setq copyright-names-regexp
      (format "%s <%s>" user-full-name user-mail-address))

Sie können prüfen, ob Ihre Urheberrechtsinformationen aktuell sind, indem Sie M-x copyright-update auswerten. Wenn Sie möchten, dass dies automatisch nach jedem Speichern des Puffers geschieht, fügen Sie (add-hook 'after-save-hook 'copyright-update) in Emacs hinzu.


Nächste: , Vorige: , Nach oben: Mitwirken   [Inhalt][Index]