diff --git a/.github/workflows/changelog.yaml b/.github/workflows/changelog.yaml
index c8d184ec..b6dc9139 100644
--- a/.github/workflows/changelog.yaml
+++ b/.github/workflows/changelog.yaml
@@ -1,3 +1,6 @@
+# Copyright (C) 2012-2022 jrnl contributors
+# License: https://www.gnu.org/licenses/gpl-3.0.html
+
name: Changelog
on:
diff --git a/.github/workflows/docs.yaml b/.github/workflows/docs.yaml
index ac85f2c0..c4b6ef43 100644
--- a/.github/workflows/docs.yaml
+++ b/.github/workflows/docs.yaml
@@ -1,3 +1,6 @@
+# Copyright (C) 2012-2022 jrnl contributors
+# License: https://www.gnu.org/licenses/gpl-3.0.html
+
name: Docs
on:
diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml
index 5e0169c1..3eb8c8f4 100644
--- a/.github/workflows/release.yaml
+++ b/.github/workflows/release.yaml
@@ -1,3 +1,6 @@
+# Copyright (C) 2012-2022 jrnl contributors
+# License: https://www.gnu.org/licenses/gpl-3.0.html
+
name: Release
on:
workflow_dispatch:
diff --git a/.github/workflows/testing_prs.yaml b/.github/workflows/testing_prs.yaml
index b5514f19..27126df8 100644
--- a/.github/workflows/testing_prs.yaml
+++ b/.github/workflows/testing_prs.yaml
@@ -1,3 +1,6 @@
+# Copyright (C) 2012-2022 jrnl contributors
+# License: https://www.gnu.org/licenses/gpl-3.0.html
+
name: Testing
on:
diff --git a/.github/workflows/testing_schedule.yaml b/.github/workflows/testing_schedule.yaml
index 44dd0b69..fd38cd41 100644
--- a/.github/workflows/testing_schedule.yaml
+++ b/.github/workflows/testing_schedule.yaml
@@ -1,3 +1,6 @@
+# Copyright (C) 2012-2022 jrnl contributors
+# License: https://www.gnu.org/licenses/gpl-3.0.html
+
name: Testing
on:
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 93b57d7e..bd00f6e2 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -1,5 +1,8 @@
-
+
+
# Contributing
See "[Contributing](docs/contributing.md)" in the `docs` directory.
diff --git a/README.md b/README.md
index cacd8dda..e2809a0f 100644
--- a/README.md
+++ b/README.md
@@ -1,3 +1,8 @@
+
+
diff --git a/docs/advanced.md b/docs/advanced.md
index c0b1195c..61529fc4 100644
--- a/docs/advanced.md
+++ b/docs/advanced.md
@@ -1,5 +1,7 @@
-
+
# Advanced Usage
diff --git a/docs/contributing.md b/docs/contributing.md
index b12ce7be..ea651df5 100644
--- a/docs/contributing.md
+++ b/docs/contributing.md
@@ -1,5 +1,8 @@
-
+
+
# Contributing to jrnl
We welcome contributions to jrnl, whether it's through reporting bugs, improving the documentation, testing releases, engaging in discussion on features and bugs, or writing code.
diff --git a/docs/encryption.md b/docs/encryption.md
index 06217f01..e8b86e62 100644
--- a/docs/encryption.md
+++ b/docs/encryption.md
@@ -1,5 +1,8 @@
-
+
+
# Encryption
## A Note on Security
diff --git a/docs/external-editors.md b/docs/external-editors.md
index 8797325a..efa0b55c 100644
--- a/docs/external-editors.md
+++ b/docs/external-editors.md
@@ -1,3 +1,8 @@
+
+
# External editors
Configure your preferred external editor by updating the `editor` option
diff --git a/docs/formats.md b/docs/formats.md
index 99b3e69b..a87c4e8a 100644
--- a/docs/formats.md
+++ b/docs/formats.md
@@ -1,5 +1,8 @@
-
+
+
# Formats
`jrnl` supports a variety of alternate formats. These can be used to display your
diff --git a/docs/installation.md b/docs/installation.md
index a37e21fd..4d2c4c97 100644
--- a/docs/installation.md
+++ b/docs/installation.md
@@ -1,5 +1,8 @@
-
+
+
# Getting started
## Installation
diff --git a/docs/journal-types.md b/docs/journal-types.md
index 65efc143..b2ec78da 100644
--- a/docs/journal-types.md
+++ b/docs/journal-types.md
@@ -1,5 +1,8 @@
-
+
+
# Journal Types
`jrnl` can store your journal in a few different ways:
diff --git a/docs/overview.md b/docs/overview.md
index 57269585..b20c85f9 100644
--- a/docs/overview.md
+++ b/docs/overview.md
@@ -1,5 +1,8 @@
-
+
+
# Overview
`jrnl` is a simple journal application for the command line.
diff --git a/docs/privacy-and-security.md b/docs/privacy-and-security.md
index c2996d25..9030df99 100644
--- a/docs/privacy-and-security.md
+++ b/docs/privacy-and-security.md
@@ -1,5 +1,8 @@
-
+
+
# Privacy and Security
`jrnl` is designed with privacy and security in mind, but like any other
diff --git a/docs/reference-command-line.md b/docs/reference-command-line.md
index bc624fe5..149ae26f 100644
--- a/docs/reference-command-line.md
+++ b/docs/reference-command-line.md
@@ -1,3 +1,8 @@
+
+
# Command Line Reference
## Synopsis
diff --git a/docs/reference-config-file.md b/docs/reference-config-file.md
index 97ec290c..03454c05 100644
--- a/docs/reference-config-file.md
+++ b/docs/reference-config-file.md
@@ -1,3 +1,8 @@
+
+
# Configuration File Reference
`jrnl` stores its information in a YAML configuration file.
diff --git a/docs/tips-and-tricks.md b/docs/tips-and-tricks.md
index a158916c..c4531798 100644
--- a/docs/tips-and-tricks.md
+++ b/docs/tips-and-tricks.md
@@ -1,5 +1,8 @@
-
+
+
# Tips and Tricks
This page contains tips and tricks for using `jrnl`, often in conjunction
diff --git a/docs/usage.md b/docs/usage.md
index 1a4de2a2..9e8c3ee3 100644
--- a/docs/usage.md
+++ b/docs/usage.md
@@ -1,5 +1,8 @@
-
+
+
# Basic Usage #
`jrnl` has two modes: **composing** and **viewing**. Whenever you don't enter
diff --git a/docs_theme/assets/colors.css b/docs_theme/assets/colors.css
index 93d84b4d..3f8b46a8 100644
--- a/docs_theme/assets/colors.css
+++ b/docs_theme/assets/colors.css
@@ -1,5 +1,7 @@
-/* Copyright (C) 2012-2021 jrnl contributors
- License: https://www.gnu.org/licenses/gpl-3.0.html */
+/*
+Copyright (C) 2012-2022 jrnl contributors
+License: https://www.gnu.org/licenses/gpl-3.0.html
+*/
:root {
/* For dark bg */
diff --git a/docs_theme/assets/highlight.css b/docs_theme/assets/highlight.css
index b7052917..27950c0f 100644
--- a/docs_theme/assets/highlight.css
+++ b/docs_theme/assets/highlight.css
@@ -1,4 +1,7 @@
/*
+Copyright (C) 2012-2022 jrnl contributors
+License: https://www.gnu.org/licenses/gpl-3.0.html
+
Atom One Dark With support for ReasonML by Gidi Morris, based off work by
Daniel Gamage
diff --git a/docs_theme/assets/index.css b/docs_theme/assets/index.css
index a7ed63ee..d6e834e3 100644
--- a/docs_theme/assets/index.css
+++ b/docs_theme/assets/index.css
@@ -1,5 +1,8 @@
-/* Copyright (C) 2012-2021 jrnl contributors
- License: https://www.gnu.org/licenses/gpl-3.0.html */
+/*
+Copyright (C) 2012-2022 jrnl contributors
+License: https://www.gnu.org/licenses/gpl-3.0.html
+*/
+
/* reset */article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,video{display:inline-block}audio:not([controls]){display:none;height:0}[hidden]{display:none}html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}a:focus{outline:thin dotted}a:active,a:hover{outline:0}h1{font-size:2em;margin:.67em 0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}mark{background:#ff0;color:#000}code,kbd,pre,samp{font-family:monospace,serif;font-size:1em}pre{white-space:pre-wrap}q{quotes:"\201C" "\201D" "\2018" "\2019"}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:0}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}button,input{line-height:normal}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}textarea{overflow:auto;vertical-align:top}table{border-collapse:collapse;border-spacing:0}
body {
diff --git a/docs_theme/assets/theme.css b/docs_theme/assets/theme.css
index 20c4cd89..152e0521 100644
--- a/docs_theme/assets/theme.css
+++ b/docs_theme/assets/theme.css
@@ -1,5 +1,7 @@
-/* Copyright (C) 2012-2021 jrnl contributors
- License: https://www.gnu.org/licenses/gpl-3.0.html */
+/*
+Copyright (C) 2012-2022 jrnl contributors
+License: https://www.gnu.org/licenses/gpl-3.0.html
+*/
/* ------------------------------------------------------------ */
/* Overrides for jrnl theme */
diff --git a/docs_theme/index.html b/docs_theme/index.html
index b21493d2..57c90c76 100644
--- a/docs_theme/index.html
+++ b/docs_theme/index.html
@@ -1,5 +1,8 @@
-
+
+
diff --git a/docs_theme/main.html b/docs_theme/main.html
index 18a4f1cf..7849dd02 100644
--- a/docs_theme/main.html
+++ b/docs_theme/main.html
@@ -1,3 +1,8 @@
+
+
{% extends "base.html" %}
{%- block search_button %}
diff --git a/docs_theme/search.html b/docs_theme/search.html
index b191fc2a..37bcfe5d 100644
--- a/docs_theme/search.html
+++ b/docs_theme/search.html
@@ -1,3 +1,8 @@
+
+
{% extends "main.html" %}
{% block content %}
diff --git a/jrnl/DayOneJournal.py b/jrnl/DayOneJournal.py
index 1e484365..8034e36b 100644
--- a/jrnl/DayOneJournal.py
+++ b/jrnl/DayOneJournal.py
@@ -1,3 +1,6 @@
+# Copyright (C) 2012-2022 jrnl contributors
+# License: https://www.gnu.org/licenses/gpl-3.0.html
+
import datetime
import fnmatch
import os
diff --git a/jrnl/EncryptedJournal.py b/jrnl/EncryptedJournal.py
index fb4ba5ce..e2aec8ed 100644
--- a/jrnl/EncryptedJournal.py
+++ b/jrnl/EncryptedJournal.py
@@ -1,3 +1,6 @@
+# Copyright (C) 2012-2022 jrnl contributors
+# License: https://www.gnu.org/licenses/gpl-3.0.html
+
import base64
import hashlib
import logging
diff --git a/jrnl/Entry.py b/jrnl/Entry.py
index 800345c6..323eef73 100644
--- a/jrnl/Entry.py
+++ b/jrnl/Entry.py
@@ -1,7 +1,6 @@
-# Copyright (C) 2012-2021 jrnl contributors
+# Copyright (C) 2012-2022 jrnl contributors
# License: https://www.gnu.org/licenses/gpl-3.0.html
-
import datetime
import re
diff --git a/jrnl/FolderJournal.py b/jrnl/FolderJournal.py
index a381c872..b5cf2e71 100644
--- a/jrnl/FolderJournal.py
+++ b/jrnl/FolderJournal.py
@@ -1,8 +1,6 @@
-# encoding: utf-8
-# Copyright (C) 2012-2021 jrnl contributors
+# Copyright (C) 2012-2022 jrnl contributors
# License: https://www.gnu.org/licenses/gpl-3.0.html
-
import codecs
import fnmatch
import os
diff --git a/jrnl/Journal.py b/jrnl/Journal.py
index b2e5383b..301bba76 100644
--- a/jrnl/Journal.py
+++ b/jrnl/Journal.py
@@ -1,7 +1,6 @@
-# Copyright (C) 2012-2021 jrnl contributors
+# Copyright (C) 2012-2022 jrnl contributors
# License: https://www.gnu.org/licenses/gpl-3.0.html
-
import datetime
import logging
import os
diff --git a/jrnl/__init__.py b/jrnl/__init__.py
index 550d580f..2fc7e3bf 100644
--- a/jrnl/__init__.py
+++ b/jrnl/__init__.py
@@ -1,4 +1,4 @@
-# Copyright (C) 2012-2021 jrnl contributors
+# Copyright (C) 2012-2022 jrnl contributors
# License: https://www.gnu.org/licenses/gpl-3.0.html
try:
diff --git a/jrnl/__main__.py b/jrnl/__main__.py
index 49497161..06ffedaa 100644
--- a/jrnl/__main__.py
+++ b/jrnl/__main__.py
@@ -1,4 +1,4 @@
-# Copyright (C) 2012-2021 jrnl contributors
+# Copyright (C) 2012-2022 jrnl contributors
# License: https://www.gnu.org/licenses/gpl-3.0.html
import sys
diff --git a/jrnl/args.py b/jrnl/args.py
index 1f3e3c9a..5fd8e370 100644
--- a/jrnl/args.py
+++ b/jrnl/args.py
@@ -1,4 +1,4 @@
-# Copyright (C) 2012-2021 jrnl contributors
+# Copyright (C) 2012-2022 jrnl contributors
# License: https://www.gnu.org/licenses/gpl-3.0.html
import argparse
diff --git a/jrnl/cli.py b/jrnl/cli.py
index 305e4502..e81fb1ce 100644
--- a/jrnl/cli.py
+++ b/jrnl/cli.py
@@ -1,4 +1,4 @@
-# Copyright (C) 2012-2021 jrnl contributors
+# Copyright (C) 2012-2022 jrnl contributors
# License: https://www.gnu.org/licenses/gpl-3.0.html
import logging
diff --git a/jrnl/color.py b/jrnl/color.py
index 7cc8df2f..7268d773 100644
--- a/jrnl/color.py
+++ b/jrnl/color.py
@@ -1,3 +1,6 @@
+# Copyright (C) 2012-2022 jrnl contributors
+# License: https://www.gnu.org/licenses/gpl-3.0.html
+
import re
from string import punctuation
from string import whitespace
diff --git a/jrnl/commands.py b/jrnl/commands.py
index 7ef9f09c..dd2ce52b 100644
--- a/jrnl/commands.py
+++ b/jrnl/commands.py
@@ -1,3 +1,6 @@
+# Copyright (C) 2012-2022 jrnl contributors
+# License: https://www.gnu.org/licenses/gpl-3.0.html
+
"""
Functions in this file are standalone commands. All standalone commands are split into
two categories depending on whether they require the config to be loaded to be able to
@@ -38,7 +41,7 @@ def preconfig_version(_):
version_str = f"""{__title__} version {__version__}
-Copyright (C) 2012-2021 jrnl contributors
+Copyright (C) 2012-2022 jrnl contributors
This is free software, and you are welcome to redistribute it under certain
conditions; for details, see: https://www.gnu.org/licenses/gpl-3.0.html"""
diff --git a/jrnl/config.py b/jrnl/config.py
index c9b860bb..40746d3e 100644
--- a/jrnl/config.py
+++ b/jrnl/config.py
@@ -1,3 +1,6 @@
+# Copyright (C) 2012-2022 jrnl contributors
+# License: https://www.gnu.org/licenses/gpl-3.0.html
+
import logging
import os
diff --git a/jrnl/editor.py b/jrnl/editor.py
index 91aa4d52..a6bff5d3 100644
--- a/jrnl/editor.py
+++ b/jrnl/editor.py
@@ -1,3 +1,6 @@
+# Copyright (C) 2012-2022 jrnl contributors
+# License: https://www.gnu.org/licenses/gpl-3.0.html
+
import logging
import os
import subprocess
diff --git a/jrnl/exception.py b/jrnl/exception.py
index fdfa61a4..6dfc6593 100644
--- a/jrnl/exception.py
+++ b/jrnl/exception.py
@@ -1,5 +1,6 @@
-# Copyright (C) 2012-2021 jrnl contributors
+# Copyright (C) 2012-2022 jrnl contributors
# License: https://www.gnu.org/licenses/gpl-3.0.html
+
from jrnl.messages import Message
from jrnl.output import print_msg
diff --git a/jrnl/install.py b/jrnl/install.py
index 88663d58..a7dc6318 100644
--- a/jrnl/install.py
+++ b/jrnl/install.py
@@ -1,7 +1,6 @@
-# Copyright (C) 2012-2021 jrnl contributors
+# Copyright (C) 2012-2022 jrnl contributors
# License: https://www.gnu.org/licenses/gpl-3.0.html
-
import glob
import logging
import os
diff --git a/jrnl/jrnl.py b/jrnl/jrnl.py
index 18ee4ed4..2c5fafae 100644
--- a/jrnl/jrnl.py
+++ b/jrnl/jrnl.py
@@ -1,4 +1,4 @@
-# Copyright (C) 2012-2021 jrnl contributors
+# Copyright (C) 2012-2022 jrnl contributors
# License: https://www.gnu.org/licenses/gpl-3.0.html
import logging
diff --git a/jrnl/messages/Message.py b/jrnl/messages/Message.py
index 2c02e8a0..86809192 100644
--- a/jrnl/messages/Message.py
+++ b/jrnl/messages/Message.py
@@ -1,3 +1,6 @@
+# Copyright (C) 2012-2022 jrnl contributors
+# License: https://www.gnu.org/licenses/gpl-3.0.html
+
from typing import NamedTuple
from typing import Mapping
diff --git a/jrnl/messages/MsgStyle.py b/jrnl/messages/MsgStyle.py
index 41daa535..b8e15316 100644
--- a/jrnl/messages/MsgStyle.py
+++ b/jrnl/messages/MsgStyle.py
@@ -1,3 +1,6 @@
+# Copyright (C) 2012-2022 jrnl contributors
+# License: https://www.gnu.org/licenses/gpl-3.0.html
+
from enum import Enum
from typing import NamedTuple
from typing import Callable
diff --git a/jrnl/messages/MsgText.py b/jrnl/messages/MsgText.py
index f8e85b60..8de0d518 100644
--- a/jrnl/messages/MsgText.py
+++ b/jrnl/messages/MsgText.py
@@ -1,3 +1,6 @@
+# Copyright (C) 2012-2022 jrnl contributors
+# License: https://www.gnu.org/licenses/gpl-3.0.html
+
from enum import Enum
diff --git a/jrnl/messages/__init__.py b/jrnl/messages/__init__.py
index 930fbe75..f2eaec4c 100644
--- a/jrnl/messages/__init__.py
+++ b/jrnl/messages/__init__.py
@@ -1,3 +1,6 @@
+# Copyright (C) 2012-2022 jrnl contributors
+# License: https://www.gnu.org/licenses/gpl-3.0.html
+
from .Message import Message
from .MsgStyle import MsgStyle
from .MsgText import MsgText
diff --git a/jrnl/os_compat.py b/jrnl/os_compat.py
index 6615b886..1ede4534 100644
--- a/jrnl/os_compat.py
+++ b/jrnl/os_compat.py
@@ -1,4 +1,4 @@
-# Copyright (C) 2012-2021 jrnl contributors
+# Copyright (C) 2012-2022 jrnl contributors
# License: https://www.gnu.org/licenses/gpl-3.0.html
import shlex
diff --git a/jrnl/output.py b/jrnl/output.py
index fb21990b..3eae32cc 100644
--- a/jrnl/output.py
+++ b/jrnl/output.py
@@ -1,5 +1,6 @@
-# Copyright (C) 2012-2021 jrnl contributors
+# Copyright (C) 2012-2022 jrnl contributors
# License: https://www.gnu.org/licenses/gpl-3.0.html
+
import textwrap
from typing import Union
diff --git a/jrnl/override.py b/jrnl/override.py
index 760b003e..6ef378f4 100644
--- a/jrnl/override.py
+++ b/jrnl/override.py
@@ -1,3 +1,6 @@
+# Copyright (C) 2012-2022 jrnl contributors
+# License: https://www.gnu.org/licenses/gpl-3.0.html
+
from .config import update_config, make_yaml_valid_dict
from argparse import Namespace
diff --git a/jrnl/path.py b/jrnl/path.py
index bb465d6e..cf13a2a8 100644
--- a/jrnl/path.py
+++ b/jrnl/path.py
@@ -1,3 +1,6 @@
+# Copyright (C) 2012-2022 jrnl contributors
+# License: https://www.gnu.org/licenses/gpl-3.0.html
+
import os.path
diff --git a/jrnl/plugins/__init__.py b/jrnl/plugins/__init__.py
index e3484927..f994e4fc 100644
--- a/jrnl/plugins/__init__.py
+++ b/jrnl/plugins/__init__.py
@@ -1,5 +1,4 @@
-# encoding: utf-8
-# Copyright (C) 2012-2021 jrnl contributors
+# Copyright (C) 2012-2022 jrnl contributors
# License: https://www.gnu.org/licenses/gpl-3.0.html
from .fancy_exporter import FancyExporter
diff --git a/jrnl/plugins/dates_exporter.py b/jrnl/plugins/dates_exporter.py
index e032b652..c1c8fd0a 100644
--- a/jrnl/plugins/dates_exporter.py
+++ b/jrnl/plugins/dates_exporter.py
@@ -1,6 +1,6 @@
-# encoding: utf-8
-# Copyright (C) 2012-2021 jrnl contributors
+# Copyright (C) 2012-2022 jrnl contributors
# License: https://www.gnu.org/licenses/gpl-3.0.html
+
from collections import Counter
from .text_exporter import TextExporter
diff --git a/jrnl/plugins/fancy_exporter.py b/jrnl/plugins/fancy_exporter.py
index 0c440e96..cdbd4b08 100644
--- a/jrnl/plugins/fancy_exporter.py
+++ b/jrnl/plugins/fancy_exporter.py
@@ -1,5 +1,4 @@
-# encoding: utf-8
-# Copyright (C) 2012-2021 jrnl contributors
+# Copyright (C) 2012-2022 jrnl contributors
# License: https://www.gnu.org/licenses/gpl-3.0.html
from jrnl.exception import JrnlException
diff --git a/jrnl/plugins/jrnl_importer.py b/jrnl/plugins/jrnl_importer.py
index cfdee0d7..0468b476 100644
--- a/jrnl/plugins/jrnl_importer.py
+++ b/jrnl/plugins/jrnl_importer.py
@@ -1,5 +1,4 @@
-# encoding: utf-8
-# Copyright (C) 2012-2021 jrnl contributors
+# Copyright (C) 2012-2022 jrnl contributors
# License: https://www.gnu.org/licenses/gpl-3.0.html
import sys
diff --git a/jrnl/plugins/json_exporter.py b/jrnl/plugins/json_exporter.py
index 666d9a3d..abce6f50 100644
--- a/jrnl/plugins/json_exporter.py
+++ b/jrnl/plugins/json_exporter.py
@@ -1,5 +1,4 @@
-# encoding: utf-8
-# Copyright (C) 2012-2021 jrnl contributors
+# Copyright (C) 2012-2022 jrnl contributors
# License: https://www.gnu.org/licenses/gpl-3.0.html
import json
diff --git a/jrnl/plugins/markdown_exporter.py b/jrnl/plugins/markdown_exporter.py
index 63be85e0..30614746 100644
--- a/jrnl/plugins/markdown_exporter.py
+++ b/jrnl/plugins/markdown_exporter.py
@@ -1,5 +1,4 @@
-# encoding: utf-8
-# Copyright (C) 2012-2021 jrnl contributors
+# Copyright (C) 2012-2022 jrnl contributors
# License: https://www.gnu.org/licenses/gpl-3.0.html
import os
diff --git a/jrnl/plugins/tag_exporter.py b/jrnl/plugins/tag_exporter.py
index 1153fa01..9c2b7fb5 100644
--- a/jrnl/plugins/tag_exporter.py
+++ b/jrnl/plugins/tag_exporter.py
@@ -1,5 +1,4 @@
-# encoding: utf-8
-# Copyright (C) 2012-2021 jrnl contributors
+# Copyright (C) 2012-2022 jrnl contributors
# License: https://www.gnu.org/licenses/gpl-3.0.html
from .text_exporter import TextExporter
diff --git a/jrnl/plugins/text_exporter.py b/jrnl/plugins/text_exporter.py
index d82a1e40..55c0d83a 100644
--- a/jrnl/plugins/text_exporter.py
+++ b/jrnl/plugins/text_exporter.py
@@ -1,5 +1,4 @@
-# encoding: utf-8
-# Copyright (C) 2012-2021 jrnl contributors
+# Copyright (C) 2012-2022 jrnl contributors
# License: https://www.gnu.org/licenses/gpl-3.0.html
import os
diff --git a/jrnl/plugins/util.py b/jrnl/plugins/util.py
index ae49a2a8..a2188306 100644
--- a/jrnl/plugins/util.py
+++ b/jrnl/plugins/util.py
@@ -1,5 +1,4 @@
-# encoding: utf-8
-# Copyright (C) 2012-2021 jrnl contributors
+# Copyright (C) 2012-2022 jrnl contributors
# License: https://www.gnu.org/licenses/gpl-3.0.html
diff --git a/jrnl/plugins/xml_exporter.py b/jrnl/plugins/xml_exporter.py
index 9901f4b7..10050b50 100644
--- a/jrnl/plugins/xml_exporter.py
+++ b/jrnl/plugins/xml_exporter.py
@@ -1,5 +1,4 @@
-# encoding: utf-8
-# Copyright (C) 2012-2021 jrnl contributors
+# Copyright (C) 2012-2022 jrnl contributors
# License: https://www.gnu.org/licenses/gpl-3.0.html
from xml.dom import minidom
diff --git a/jrnl/plugins/yaml_exporter.py b/jrnl/plugins/yaml_exporter.py
index f78c781b..00a4613b 100644
--- a/jrnl/plugins/yaml_exporter.py
+++ b/jrnl/plugins/yaml_exporter.py
@@ -1,5 +1,4 @@
-# encoding: utf-8
-# Copyright (C) 2012-2021 jrnl contributors
+# Copyright (C) 2012-2022 jrnl contributors
# License: https://www.gnu.org/licenses/gpl-3.0.html
import os
diff --git a/jrnl/prompt.py b/jrnl/prompt.py
index 843e7425..4cd38d90 100644
--- a/jrnl/prompt.py
+++ b/jrnl/prompt.py
@@ -1,5 +1,6 @@
-# Copyright (C) 2012-2021 jrnl contributors
+# Copyright (C) 2012-2022 jrnl contributors
# License: https://www.gnu.org/licenses/gpl-3.0.html
+
from jrnl.messages import Message
from jrnl.messages import MsgText
from jrnl.messages import MsgStyle
diff --git a/jrnl/time.py b/jrnl/time.py
index f4e7319d..c457c12b 100644
--- a/jrnl/time.py
+++ b/jrnl/time.py
@@ -1,4 +1,4 @@
-# Copyright (C) 2012-2021 jrnl contributors
+# Copyright (C) 2012-2022 jrnl contributors
# License: https://www.gnu.org/licenses/gpl-3.0.html
import datetime
diff --git a/jrnl/upgrade.py b/jrnl/upgrade.py
index 5c033534..29ff8eb4 100644
--- a/jrnl/upgrade.py
+++ b/jrnl/upgrade.py
@@ -1,4 +1,4 @@
-# Copyright (C) 2012-2021 jrnl contributors
+# Copyright (C) 2012-2022 jrnl contributors
# License: https://www.gnu.org/licenses/gpl-3.0.html
import os
diff --git a/tests/bdd/features/build.feature b/tests/bdd/features/build.feature
index e9b47b49..d2f5e950 100644
--- a/tests/bdd/features/build.feature
+++ b/tests/bdd/features/build.feature
@@ -1,3 +1,6 @@
+# Copyright (C) 2012-2022 jrnl contributors
+# License: https://www.gnu.org/licenses/gpl-3.0.html
+
Feature: Build process
Scenario: Version numbers should stay in sync
diff --git a/tests/bdd/features/change_time.feature b/tests/bdd/features/change_time.feature
index bd8e77f7..7f4a08e3 100644
--- a/tests/bdd/features/change_time.feature
+++ b/tests/bdd/features/change_time.feature
@@ -1,3 +1,6 @@
+# Copyright (C) 2012-2022 jrnl contributors
+# License: https://www.gnu.org/licenses/gpl-3.0.html
+
Feature: Change entry times in journal
Scenario Outline: Change time flag changes single entry timestamp
Given we use the config ""
diff --git a/tests/bdd/features/config_file.feature b/tests/bdd/features/config_file.feature
index 168cd7aa..76e93059 100644
--- a/tests/bdd/features/config_file.feature
+++ b/tests/bdd/features/config_file.feature
@@ -1,3 +1,6 @@
+# Copyright (C) 2012-2022 jrnl contributors
+# License: https://www.gnu.org/licenses/gpl-3.0.html
+
Feature: Multiple journals
Scenario: Read a journal from an alternate config
diff --git a/tests/bdd/features/core.feature b/tests/bdd/features/core.feature
index 4399341d..7b8de194 100644
--- a/tests/bdd/features/core.feature
+++ b/tests/bdd/features/core.feature
@@ -1,3 +1,6 @@
+# Copyright (C) 2012-2022 jrnl contributors
+# License: https://www.gnu.org/licenses/gpl-3.0.html
+
Feature: Functionality of jrnl outside of actually handling journals
Scenario: Displaying the version number
diff --git a/tests/bdd/features/datetime.feature b/tests/bdd/features/datetime.feature
index 1b9d00b9..28d63169 100644
--- a/tests/bdd/features/datetime.feature
+++ b/tests/bdd/features/datetime.feature
@@ -1,3 +1,6 @@
+# Copyright (C) 2012-2022 jrnl contributors
+# License: https://www.gnu.org/licenses/gpl-3.0.html
+
Feature: Reading and writing to journal with custom date formats
Scenario: Dates can include a time
diff --git a/tests/bdd/features/delete.feature b/tests/bdd/features/delete.feature
index fe323966..806abb18 100644
--- a/tests/bdd/features/delete.feature
+++ b/tests/bdd/features/delete.feature
@@ -1,3 +1,6 @@
+# Copyright (C) 2012-2022 jrnl contributors
+# License: https://www.gnu.org/licenses/gpl-3.0.html
+
Feature: Delete entries from journal
Scenario Outline: Delete flag allows deletion of single entry
Given we use the config ""
diff --git a/tests/bdd/features/encrypt.feature b/tests/bdd/features/encrypt.feature
index 09a80bcc..16c8855c 100644
--- a/tests/bdd/features/encrypt.feature
+++ b/tests/bdd/features/encrypt.feature
@@ -1,3 +1,6 @@
+# Copyright (C) 2012-2022 jrnl contributors
+# License: https://www.gnu.org/licenses/gpl-3.0.html
+
Feature: Encrypting and decrypting journals
Scenario: Decrypting a journal
diff --git a/tests/bdd/features/file_storage.feature b/tests/bdd/features/file_storage.feature
index 5cb6ba45..0e54f620 100644
--- a/tests/bdd/features/file_storage.feature
+++ b/tests/bdd/features/file_storage.feature
@@ -1,3 +1,6 @@
+# Copyright (C) 2012-2022 jrnl contributors
+# License: https://www.gnu.org/licenses/gpl-3.0.html
+
Feature: Journals iteracting with the file system in a way that users can see
Scenario: Adding entries to a Folder journal should generate date files
diff --git a/tests/bdd/features/format.feature b/tests/bdd/features/format.feature
index ce29a016..9781ff51 100644
--- a/tests/bdd/features/format.feature
+++ b/tests/bdd/features/format.feature
@@ -1,3 +1,6 @@
+# Copyright (C) 2012-2022 jrnl contributors
+# License: https://www.gnu.org/licenses/gpl-3.0.html
+
Feature: Custom formats
Scenario Outline: Short printing via --format flag
diff --git a/tests/bdd/features/import.feature b/tests/bdd/features/import.feature
index 920cddf2..3872702e 100644
--- a/tests/bdd/features/import.feature
+++ b/tests/bdd/features/import.feature
@@ -1,3 +1,6 @@
+# Copyright (C) 2012-2022 jrnl contributors
+# License: https://www.gnu.org/licenses/gpl-3.0.html
+
Feature: Importing data
Scenario Outline: --import allows new entry from stdin
diff --git a/tests/bdd/features/multiple_journals.feature b/tests/bdd/features/multiple_journals.feature
index 09bd71fd..642149ca 100644
--- a/tests/bdd/features/multiple_journals.feature
+++ b/tests/bdd/features/multiple_journals.feature
@@ -1,3 +1,6 @@
+# Copyright (C) 2012-2022 jrnl contributors
+# License: https://www.gnu.org/licenses/gpl-3.0.html
+
Feature: Multiple journals
Scenario: Loading a config with two journals
diff --git a/tests/bdd/features/override.feature b/tests/bdd/features/override.feature
index 90b7e40b..9af459f3 100644
--- a/tests/bdd/features/override.feature
+++ b/tests/bdd/features/override.feature
@@ -1,3 +1,6 @@
+# Copyright (C) 2012-2022 jrnl contributors
+# License: https://www.gnu.org/licenses/gpl-3.0.html
+
Feature: Implementing Runtime Overrides for Select Configuration Keys
Scenario: Override configured editor with built-in input === editor:''
diff --git a/tests/bdd/features/password.feature b/tests/bdd/features/password.feature
index 23a08aab..cf00f85c 100644
--- a/tests/bdd/features/password.feature
+++ b/tests/bdd/features/password.feature
@@ -1,3 +1,6 @@
+# Copyright (C) 2012-2022 jrnl contributors
+# License: https://www.gnu.org/licenses/gpl-3.0.html
+
Feature: Using the installed keyring
Scenario: Storing a password in keyring
diff --git a/tests/bdd/features/search.feature b/tests/bdd/features/search.feature
index 60b4fefb..239f74d5 100644
--- a/tests/bdd/features/search.feature
+++ b/tests/bdd/features/search.feature
@@ -1,3 +1,6 @@
+# Copyright (C) 2012-2022 jrnl contributors
+# License: https://www.gnu.org/licenses/gpl-3.0.html
+
Feature: Searching in a journal
Scenario Outline: Displaying entries using -on today should display entries created today
diff --git a/tests/bdd/features/star.feature b/tests/bdd/features/star.feature
index f59a7ecc..825ee2fa 100644
--- a/tests/bdd/features/star.feature
+++ b/tests/bdd/features/star.feature
@@ -1,3 +1,6 @@
+# Copyright (C) 2012-2022 jrnl contributors
+# License: https://www.gnu.org/licenses/gpl-3.0.html
+
Feature: Starring entries
Scenario Outline: Starring an entry will mark it in the journal file
diff --git a/tests/bdd/features/tag.feature b/tests/bdd/features/tag.feature
index a62b5ac8..1d762431 100644
--- a/tests/bdd/features/tag.feature
+++ b/tests/bdd/features/tag.feature
@@ -1,3 +1,6 @@
+# Copyright (C) 2012-2022 jrnl contributors
+# License: https://www.gnu.org/licenses/gpl-3.0.html
+
Feature: Tagging
# See search.feature for tag-related searches
# And format.feature for tag-related output
diff --git a/tests/bdd/features/upgrade.feature b/tests/bdd/features/upgrade.feature
index c092dedb..5e53130a 100644
--- a/tests/bdd/features/upgrade.feature
+++ b/tests/bdd/features/upgrade.feature
@@ -1,3 +1,6 @@
+# Copyright (C) 2012-2022 jrnl contributors
+# License: https://www.gnu.org/licenses/gpl-3.0.html
+
Feature: Upgrading Journals from 1.x.x to 2.x.x
Scenario: Upgrade and parse journals with square brackets
diff --git a/tests/bdd/features/write.feature b/tests/bdd/features/write.feature
index ede1934b..fe0573ff 100644
--- a/tests/bdd/features/write.feature
+++ b/tests/bdd/features/write.feature
@@ -1,3 +1,6 @@
+# Copyright (C) 2012-2022 jrnl contributors
+# License: https://www.gnu.org/licenses/gpl-3.0.html
+
Feature: Writing new entries.
Scenario Outline: Multiline entry with punctuation should keep title punctuation
diff --git a/tests/bdd/test_features.py b/tests/bdd/test_features.py
index 04f9d46f..fda146e1 100644
--- a/tests/bdd/test_features.py
+++ b/tests/bdd/test_features.py
@@ -1,3 +1,6 @@
+# Copyright (C) 2012-2022 jrnl contributors
+# License: https://www.gnu.org/licenses/gpl-3.0.html
+
from pytest_bdd import scenarios
scenarios("features/build.feature")
diff --git a/tests/conftest.py b/tests/conftest.py
index c4dc5ef5..ed85affa 100644
--- a/tests/conftest.py
+++ b/tests/conftest.py
@@ -1,4 +1,4 @@
-# Copyright (C) 2012-2021 jrnl contributors
+# Copyright (C) 2012-2022 jrnl contributors
# License: https://www.gnu.org/licenses/gpl-3.0.html
from pytest import mark
diff --git a/tests/lib/fixtures.py b/tests/lib/fixtures.py
index 6fc7cc2a..1ad17708 100644
--- a/tests/lib/fixtures.py
+++ b/tests/lib/fixtures.py
@@ -1,4 +1,4 @@
-# Copyright (C) 2012-2021 jrnl contributors
+# Copyright (C) 2012-2022 jrnl contributors
# License: https://www.gnu.org/licenses/gpl-3.0.html
from collections import defaultdict
diff --git a/tests/lib/given_steps.py b/tests/lib/given_steps.py
index 4b545849..6da84643 100644
--- a/tests/lib/given_steps.py
+++ b/tests/lib/given_steps.py
@@ -1,4 +1,4 @@
-# Copyright (C) 2012-2021 jrnl contributors
+# Copyright (C) 2012-2022 jrnl contributors
# License: https://www.gnu.org/licenses/gpl-3.0.html
from datetime import datetime
diff --git a/tests/lib/helpers.py b/tests/lib/helpers.py
index ad68cde3..39a24f71 100644
--- a/tests/lib/helpers.py
+++ b/tests/lib/helpers.py
@@ -1,4 +1,4 @@
-# Copyright (C) 2012-2021 jrnl contributors
+# Copyright (C) 2012-2022 jrnl contributors
# License: https://www.gnu.org/licenses/gpl-3.0.html
import functools
diff --git a/tests/lib/then_steps.py b/tests/lib/then_steps.py
index 5ec83d3c..08d8ddc7 100644
--- a/tests/lib/then_steps.py
+++ b/tests/lib/then_steps.py
@@ -1,4 +1,4 @@
-# Copyright (C) 2012-2021 jrnl contributors
+# Copyright (C) 2012-2022 jrnl contributors
# License: https://www.gnu.org/licenses/gpl-3.0.html
import json
diff --git a/tests/lib/when_steps.py b/tests/lib/when_steps.py
index bc1d742d..759c708d 100644
--- a/tests/lib/when_steps.py
+++ b/tests/lib/when_steps.py
@@ -1,4 +1,4 @@
-# Copyright (C) 2012-2021 jrnl contributors
+# Copyright (C) 2012-2022 jrnl contributors
# License: https://www.gnu.org/licenses/gpl-3.0.html
from contextlib import ExitStack
diff --git a/tests/unit/test_color.py b/tests/unit/test_color.py
index 527b8e89..800d619a 100644
--- a/tests/unit/test_color.py
+++ b/tests/unit/test_color.py
@@ -1,3 +1,6 @@
+# Copyright (C) 2012-2022 jrnl contributors
+# License: https://www.gnu.org/licenses/gpl-3.0.html
+
from colorama import Fore
from colorama import Style
import pytest
diff --git a/tests/unit/test_config_file.py b/tests/unit/test_config_file.py
index f9cdb7ec..0ffb3b38 100644
--- a/tests/unit/test_config_file.py
+++ b/tests/unit/test_config_file.py
@@ -1,3 +1,6 @@
+# Copyright (C) 2012-2022 jrnl contributors
+# License: https://www.gnu.org/licenses/gpl-3.0.html
+
import pytest
import os
diff --git a/tests/unit/test_export.py b/tests/unit/test_export.py
index 1ca8856f..c5137794 100644
--- a/tests/unit/test_export.py
+++ b/tests/unit/test_export.py
@@ -1,3 +1,6 @@
+# Copyright (C) 2012-2022 jrnl contributors
+# License: https://www.gnu.org/licenses/gpl-3.0.html
+
import pytest
from jrnl.exception import JrnlException
diff --git a/tests/unit/test_install.py b/tests/unit/test_install.py
index bc36b927..8e5db8df 100644
--- a/tests/unit/test_install.py
+++ b/tests/unit/test_install.py
@@ -1,3 +1,6 @@
+# Copyright (C) 2012-2022 jrnl contributors
+# License: https://www.gnu.org/licenses/gpl-3.0.html
+
import sys
from unittest import mock
diff --git a/tests/unit/test_jrnl.py b/tests/unit/test_jrnl.py
index f87f6dad..247a9fd1 100644
--- a/tests/unit/test_jrnl.py
+++ b/tests/unit/test_jrnl.py
@@ -1,3 +1,6 @@
+# Copyright (C) 2012-2022 jrnl contributors
+# License: https://www.gnu.org/licenses/gpl-3.0.html
+
from unittest import mock
import pytest
diff --git a/tests/unit/test_os_compat.py b/tests/unit/test_os_compat.py
index 02d54716..2a3b0b14 100644
--- a/tests/unit/test_os_compat.py
+++ b/tests/unit/test_os_compat.py
@@ -1,3 +1,6 @@
+# Copyright (C) 2012-2022 jrnl contributors
+# License: https://www.gnu.org/licenses/gpl-3.0.html
+
from unittest import mock
import pytest
diff --git a/tests/unit/test_output.py b/tests/unit/test_output.py
index 0fa9f45b..e93ec44a 100644
--- a/tests/unit/test_output.py
+++ b/tests/unit/test_output.py
@@ -1,5 +1,6 @@
-# Copyright (C) 2012-2021 jrnl contributors
+# Copyright (C) 2012-2022 jrnl contributors
# License: https://www.gnu.org/licenses/gpl-3.0.html
+
from unittest.mock import Mock
from unittest.mock import patch
diff --git a/tests/unit/test_override.py b/tests/unit/test_override.py
index 2719e884..438ae03b 100644
--- a/tests/unit/test_override.py
+++ b/tests/unit/test_override.py
@@ -1,3 +1,6 @@
+# Copyright (C) 2012-2022 jrnl contributors
+# License: https://www.gnu.org/licenses/gpl-3.0.html
+
import pytest
from jrnl.override import _convert_dots_to_list
diff --git a/tests/unit/test_parse_args.py b/tests/unit/test_parse_args.py
index 7acae571..6c187576 100644
--- a/tests/unit/test_parse_args.py
+++ b/tests/unit/test_parse_args.py
@@ -1,3 +1,6 @@
+# Copyright (C) 2012-2022 jrnl contributors
+# License: https://www.gnu.org/licenses/gpl-3.0.html
+
import shlex
import pytest
diff --git a/tests/unit/test_path.py b/tests/unit/test_path.py
index a13b89e5..efc6e54d 100644
--- a/tests/unit/test_path.py
+++ b/tests/unit/test_path.py
@@ -1,3 +1,6 @@
+# Copyright (C) 2012-2022 jrnl contributors
+# License: https://www.gnu.org/licenses/gpl-3.0.html
+
import pytest
import random
import string
diff --git a/tests/unit/test_time.py b/tests/unit/test_time.py
index 5f22148e..8bed5f86 100644
--- a/tests/unit/test_time.py
+++ b/tests/unit/test_time.py
@@ -1,3 +1,6 @@
+# Copyright (C) 2012-2022 jrnl contributors
+# License: https://www.gnu.org/licenses/gpl-3.0.html
+
import datetime
from jrnl import time