Gibt es einen Modus zum automatischen Aktualisieren der Copyright-Jahre in Dateien?

21

Normalerweise stellen die Leute um diese Jahreszeit fest, dass ihr Copyright-Jahr in ihren Dateien nicht mehr aktuell ist. Dies ist besonders ärgerlich, wenn Sie das Copyright in jede Quelldatei einfügen möchten. Ich habe mich gefragt, ob Emacs hier helfen können.

Gibt es einen Modus, der das Copyright-Jahr in einer Datei automatisch aktualisiert? Idealerweise würde ich den Modus mit meinem Namen und meinen Zugehörigkeiten einrichten, sodass nur das Copyright für diese aktualisiert wird. Außerdem wird das Copyright nur dann automatisch aktualisiert, wenn eine Änderung vorgenommen wird (obwohl es hilfreich wäre, auch eine einfache Möglichkeit zu haben, eine Massenänderung an einem Projekt vorzunehmen).

Asmeurer
quelle
Es spielt keine Rolle, in welchem ​​Jahr Sie schreiben, da das Urheberrecht nach der Berner Konvention mindestens 50 Jahre auf der ganzen Welt beträgt.
Kathreadler

Antworten:

24

Sie können die copyright-updateFunktion verwenden. Ich würde die Dokumente für die Funktion lesen. und andere innen copyright.elfür mehr Info, aber als einfaches Beispiel, wenn ich habe:

;; Copyright (C) 2014, Jordon Biondo

In einer Datei, die copyright-updatevom Minibuffer ausgeführt wird, wird die zu sagende Zeile aktualisiert

;; Copyright (C) 2014, 2015, Jordon Biondo

Sie können die Funktion das alte Jahr entfernen lassen, wenn Sie möchten.

Um automatische Updates durchführen zu können, können Sie die Funktion zur before-save-hookListe hinzufügen .

Verwenden Sie den Befehl, um eine Stapelaktualisierung durchzuführen copyright-update-directory.

Die Copyright-Bibliothek bietet viele Funktionen und Möglichkeiten zum Anpassen. Ich würde vorschlagen, die Bibliothek zu öffnen, um zu sehen, wie Sie sie an Ihre Bedürfnisse anpassen können.

Jordon Biondo
quelle
3
Dies sind die Zeiten, in denen ich Emacs verehre.
PythonNut
6

Folgendes verwende ich:

(when (fboundp 'copyright-update)
  (setq copyright-names-regexp "Monnier\\|Free Software")
  (add-hook 'before-save-hook #'copyright-update))
Stefan
quelle