Czy istnieje tryb automatycznej aktualizacji lat praw autorskich w plikach?

21

Zwykle mniej więcej o tej porze roku ludzie zaczynają zdawać sobie sprawę, że ich prawa autorskie są nieaktualne w swoich plikach. Jest to szczególnie denerwujące, jeśli chcesz umieścić prawa autorskie w każdym pliku źródłowym. Zastanawiałem się, czy emacs może tu pomóc.

Czy istnieje tryb, który automatycznie aktualizuje rok praw autorskich w pliku? Idealnie byłoby ustawić tryb z moim imieniem i przynależnością, aby aktualizował tylko prawa autorskie do nich. Aktualizowałoby to również prawa autorskie automatycznie tylko po dokonaniu zmiany (chociaż byłoby miło mieć również łatwy sposób na dokonanie dużej zmiany w projekcie).

asmeurer
źródło
Nie ma znaczenia, który rok napiszesz, ponieważ prawa autorskie wynikające z konwencji berneńskiej to przynajmniej życie + 50 lat na całym świecie.
Mathreadler

Odpowiedzi:

24

Możesz użyć tej copyright-updatefunkcji. Przeczytałbym dokumenty dotyczące funkcji. i inni w środku, copyright.elaby uzyskać więcej informacji, ale jako prosty przykład, jeśli mam:

;; Copyright (C) 2014, Jordon Biondo

w pliku i uruchamiany copyright-updatez minibufora, aktualizuje wiersz, aby powiedzieć

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

Możesz mieć funkcję usuwania starego roku, jeśli chcesz.

Aby obsługiwać automatyczne aktualizacje, możesz dodać funkcję do before-save-hooklisty.

Aby wykonać aktualizację wsadową, użyj polecenia copyright-update-directory.

Biblioteka praw autorskich ma wiele funkcji i sposobów jej dostosowania. Sugerowałbym otwarcie biblioteki, aby zobaczyć, jak dostosować ją do swoich potrzeb.

Jordon Biondo
źródło
3
To są czasy, w których jestem pod wrażeniem Emacsa.
PythonNut,
6

Oto, czego używam:

(when (fboundp 'copyright-update)
  (setq copyright-names-regexp "Monnier\\|Free Software")
  (add-hook 'before-save-hook #'copyright-update))
Stefan
źródło