From 87af8b9b6f14beaade6e8d5130d062d2198ee5d9 Mon Sep 17 00:00:00 2001
From: Skyler Grey <sky@a.starrysky.fyi>
Date: Thu, 18 Jul 2024 20:24:24 +0000
Subject: [PATCH 1/2] fix!: Respect default-file when inserting entries

It's a common point of confusion that default-file does not set the
default file for insertions. This patch brings the behavior into line
with people's expectations.

BREAKING-CHANGE: If you are using default-file and expecting entries to be inserted to your main file, this will no longer happen
Fixes: beancount/fava#882
Refs: beancount/fava#1698, beancount/fava#822
---
 src/fava/core/file.py    | 5 ++++-
 src/fava/help/options.md | 2 +-
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/src/fava/core/file.py b/src/fava/core/file.py
index e76b7ffb9..d225a2497 100644
--- a/src/fava/core/file.py
+++ b/src/fava/core/file.py
@@ -233,7 +233,10 @@ def insert_entries(self, entries: list[Directive]) -> None:
             for entry in sorted(entries, key=_incomplete_sortkey):
                 path, updated_insert_options = insert_entry(
                     entry,
-                    self.ledger.beancount_file_path,
+                    (
+                        self.ledger.fava_options.default_file
+                        or self.ledger.beancount_file_path
+                    ),
                     insert_options=fava_options.insert_entry,
                     currency_column=fava_options.currency_column,
                     indent=fava_options.indent,
diff --git a/src/fava/help/options.md b/src/fava/help/options.md
index 22361dcec..dbef9eb23 100644
--- a/src/fava/help/options.md
+++ b/src/fava/help/options.md
@@ -113,7 +113,7 @@ a transaction, the account of the last posting is used) is matched against all
 of the matching options before the entry date. If the entry is a Transaction and
 no `insert-entry` option matches the account of the last posting the account of
 the second to last posting and so on will be tried. If no `insert-entry` option
-matches or none is given, the entry will be inserted at the end of the main
+matches or none is given, the entry will be inserted at the end of the default
 file.
 
 ---

From 3ff9ec604d9f6d16b4aa88107183a597f5e0c833 Mon Sep 17 00:00:00 2001
From: Skyler Grey <sky@a.starrysky.fyi>
Date: Thu, 18 Jul 2024 20:41:55 +0000
Subject: [PATCH 2/2] feat: Allow specifying the filename to default-file

I autogenerate some fava config, and one option I'd like to specify is
the default file.

Unfortunately, this previously had to be specified in the file which
would become the default file, leading to a messy and fragile setup in
which my (readonly) configuration file would become the default if the
magical "default-file" line was ever removed from the user-editable
config.

This feature allows existing semantics around default-file to continue,
while also providing the ability to set it in some other file if the
existing options are unsuitable.
---
 src/fava/core/fava_options.py   | 9 +++++++--
 src/fava/help/options.md        | 4 ++--
 tests/test_core_fava_options.py | 2 ++
 3 files changed, 11 insertions(+), 4 deletions(-)

diff --git a/src/fava/core/fava_options.py b/src/fava/core/fava_options.py
index 462ea29d5..23217da2b 100644
--- a/src/fava/core/fava_options.py
+++ b/src/fava/core/fava_options.py
@@ -119,12 +119,17 @@ def parse_option_custom_entry(  # noqa: PLR0912
     if key not in All_OPTS:
         raise UnknownOptionError(key)
 
+    value = entry.values[1].value if len(entry.values) > 1 else None
+
     if key == "default_file":
-        filename, _lineno = get_position(entry)
+        if value is None:
+            filename, _lineno = get_position(entry)
+        else:
+            filename = value
+
         options.default_file = filename
         return
 
-    value = entry.values[1].value
     if not isinstance(value, str):
         raise NotAStringOptionError(key)
 
diff --git a/src/fava/help/options.md b/src/fava/help/options.md
index dbef9eb23..968730620 100644
--- a/src/fava/help/options.md
+++ b/src/fava/help/options.md
@@ -50,8 +50,8 @@ locale `en_IN` the number `1111111.33` will be rendered `11,11,111.33`,
 ## `default-file`
 
 Use this option to specify a default file for the editor to open. This option
-takes no value, the file the custom entry is in will be used as the default. If
-this option is not specified, Fava opens the main file by default.
+may optionally take a value of a filename to be the default. If you don't
+provide a filename, the file this custom option is in is used.
 
 ---
 
diff --git a/tests/test_core_fava_options.py b/tests/test_core_fava_options.py
index 03206e6ad..9ed1e5bec 100644
--- a/tests/test_core_fava_options.py
+++ b/tests/test_core_fava_options.py
@@ -27,6 +27,7 @@ def test_fava_options(load_doc_custom_entries: list[Custom]) -> None:
     2016-04-14 custom "fava-option" "collapse_pattern" "(invalid"
     2016-04-14 custom "fava-option" "fiscal-year-end" "01-11"
     2016-04-14 custom "fava-option" "conversion-currencies" "USD EUR HOOLI"
+    2016-06-14 custom "fava-option" "default-file" "/some/file/name"
     """
 
     options, errors = parse_options(load_doc_custom_entries)
@@ -50,3 +51,4 @@ def test_fava_options(load_doc_custom_entries: list[Custom]) -> None:
     assert options.collapse_pattern == [re.compile("Account:Name")]
     assert options.fiscal_year_end == FiscalYearEnd(1, 11)
     assert options.conversion_currencies == ("USD", "EUR", "HOOLI")
+    assert options.default_file == "/some/file/name"
