有没有一种模式可以自动更新文件中的版权年份?


21

通常在每年的这个时候左右,人们开始意识到其版权年份在其文件中已过时。如果您想在每个源文件中添加版权,这将特别令人讨厌。我想知道emacs是否可以在这里提供帮助。

有没有一种模式可以自动更新文件中的版权年份?理想情况下,我将使用我的姓名和从属关系设置模式,以便仅更新这些人的版权。它还只会在进行更改时自动更新版权(尽管最好有一种简便的方法对项目进行批量更改也很不错)。


您写哪年都没关系,因为伯尔尼公约的版权在全世界至少有50年的寿命。
mathreadler

Answers:


24

您可以使用该copyright-update功能。我会阅读该功能的文档。和其他内部copyright.el的更多信息,但作为一个简单示例,如果我有:

;; Copyright (C) 2014, Jordon Biondo

在文件中并copyright-update从minibuffer 运行,它会更新该行以表示

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

您可以根据需要让该功能删除旧年份。

要处理自动更新,可以将功能添加到before-save-hook列表中。

要进行批量更新,请使用命令copyright-update-directory

版权库具有很多功能和自定义方式,我建议打开该库以开始了解如何使它适应您的需求。


3
这些是我对Emacs敬畏的时代。
PythonNut 2015年

6

这是我使用的:

(when (fboundp 'copyright-update)
  (setq copyright-names-regexp "Monnier\\|Free Software")
  (add-hook 'before-save-hook #'copyright-update))
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.