Nächste: Paketrichtlinien, Vorige: Guix vor der Installation ausführen, Nach oben: Mitwirken [Inhalt][Index]
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 install emacs guile emacs-geiser emacs-geiser-guile
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 Introduction 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 an für häufige Git-Commit-Nachrichten und Paketdefinitionen im Verzeichnis etc/snippets. Diese Vorlagen können benutzt werden, um kurze Auslöse-Zeichenketten zu interaktiven Textschnipseln umzuschreiben. Wenn Sie dazu YASnippet verwenden, möchten Sie vielleicht das Schnipselverzeichnis etc/snippets/yas zu Ihrer yas-snippet-dirs-Variablen in Emacs hinzufügen. Wenn Sie Tempel verwenden, fügen Sie stattdessen den Pfad etc/snippets/tempel/* zur Emacs-Variablen tempel-path hinzu.
;; Angenommen das Guix-Checkout ist in ~/src/guix. ;; Yasnippet-Konfiguration (with-eval-after-load 'yasnippet (add-to-list 'yas-snippet-dirs "~/src/guix/etc/snippets/yas")) ;; Tempel-Konfiguration (with-eval-after-load 'tempel ;; Wenn tempel-path noch keine Liste ist, sondern eine Zeichenkette (unless (listp 'tempel-path) (setq tempel-path (list tempel-path))) (add-to-list 'tempel-path "~/src/guix/etc/snippets/tempel/*"))
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: Paketrichtlinien, Vorige: Guix vor der Installation ausführen, Nach oben: Mitwirken [Inhalt][Index]