mirror of
https://github.com/jrnl-org/jrnl.git
synced 2025-05-10 08:38:32 +02:00
Prompt to include colors in config when first running jrnl (#1687)
* Add prompt to ask user if entries should be formatted with colors when installing jrnl * Use magenta instead of black for default date color * Use other default colors and alphabetize color list * Update tests * Delete test file * update lock file * fix failing test after merge conflict --------- Co-authored-by: Jonathan Wren <jonathan@nowandwren.com>
This commit is contained in:
parent
fecd696b2a
commit
e6804f1627
6 changed files with 1365 additions and 1311 deletions
|
@ -107,14 +107,23 @@ def get_default_config() -> dict[str, Any]:
|
|||
"linewrap": 79,
|
||||
"indent_character": "|",
|
||||
"colors": {
|
||||
"date": "none",
|
||||
"title": "none",
|
||||
"body": "none",
|
||||
"date": "none",
|
||||
"tags": "none",
|
||||
"title": "none",
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
def get_default_colors() -> dict[str, Any]:
|
||||
return {
|
||||
"body": "none",
|
||||
"date": "black",
|
||||
"tags": "yellow",
|
||||
"title": "cyan",
|
||||
}
|
||||
|
||||
|
||||
def get_default_journal_path() -> str:
|
||||
journal_data_path = xdg.BaseDirectory.save_data_path(XDG_RESOURCE) or home_dir()
|
||||
return os.path.join(journal_data_path, DEFAULT_JOURNAL_NAME)
|
||||
|
|
|
@ -12,6 +12,7 @@ from rich.pretty import pretty_repr
|
|||
from jrnl import __version__
|
||||
from jrnl.config import DEFAULT_JOURNAL_KEY
|
||||
from jrnl.config import get_config_path
|
||||
from jrnl.config import get_default_colors
|
||||
from jrnl.config import get_default_config
|
||||
from jrnl.config import get_default_journal_path
|
||||
from jrnl.config import load_config
|
||||
|
@ -147,6 +148,11 @@ def install() -> dict:
|
|||
default_config["encrypt"] = True
|
||||
print_msg(Message(MsgText.JournalEncrypted, MsgStyle.NORMAL))
|
||||
|
||||
# Use colors?
|
||||
use_colors = yesno(Message(MsgText.UseColorsQuestion), default=True)
|
||||
if use_colors:
|
||||
default_config["colors"] = get_default_colors()
|
||||
|
||||
save_config(default_config)
|
||||
return default_config
|
||||
|
||||
|
|
|
@ -37,6 +37,9 @@ class MsgText(Enum):
|
|||
EncryptJournalQuestion = """
|
||||
Do you want to encrypt your journal? (You can always change this later)
|
||||
"""
|
||||
UseColorsQuestion = """
|
||||
Do you want jrnl to use colors when displaying entries? (You can always change this later)
|
||||
"""
|
||||
YesOrNoPromptDefaultYes = "[Y/n]"
|
||||
YesOrNoPromptDefaultNo = "[y/N]"
|
||||
ContinueUpgrade = "Continue upgrading jrnl?"
|
||||
|
|
2612
poetry.lock
generated
2612
poetry.lock
generated
File diff suppressed because it is too large
Load diff
|
@ -57,6 +57,7 @@ Feature: Journals iteracting with the file system in a way that users can see
|
|||
When we run "jrnl hello world" and enter
|
||||
test.txt
|
||||
n
|
||||
\n
|
||||
Then the output should contain "Journal 'default' created"
|
||||
When we change directory to "subfolder"
|
||||
And we run "jrnl -n 1"
|
||||
|
|
|
@ -5,6 +5,7 @@ Feature: Installing jrnl
|
|||
When we run "jrnl hello world" and enter
|
||||
\n
|
||||
\n
|
||||
\n
|
||||
Then the output should contain "Journal 'default' created"
|
||||
And the default journal "journal.txt" should be in the "." directory
|
||||
And the config should contain "encrypt: false"
|
||||
|
@ -15,6 +16,7 @@ Feature: Installing jrnl
|
|||
When we run "jrnl hello world" and enter
|
||||
default/custom.txt
|
||||
n
|
||||
\n
|
||||
Then the output should contain "Journal 'default' created"
|
||||
And the default journal "custom.txt" should be in the "default" directory
|
||||
And the config should contain "encrypt: false"
|
||||
|
@ -26,6 +28,7 @@ Feature: Installing jrnl
|
|||
When we run "jrnl hello world" and enter
|
||||
~/custom.txt
|
||||
n
|
||||
\n
|
||||
Then the output should contain "Journal 'default' created"
|
||||
And the default journal "custom.txt" should be in the "home" directory
|
||||
And the config should contain "encrypt: false"
|
||||
|
@ -36,25 +39,57 @@ Feature: Installing jrnl
|
|||
When we run "jrnl hello world" and enter
|
||||
encrypted.txt
|
||||
y
|
||||
\n
|
||||
Then the output should contain "Journal will be encrypted"
|
||||
And the default journal "encrypted.txt" should be in the "." directory
|
||||
And the config should contain "encrypt: true"
|
||||
And the version in the config file should be up-to-date
|
||||
When we run "jrnl"
|
||||
Then we should be prompted for a password
|
||||
|
||||
|
||||
Scenario: Install jrnl with colors by default
|
||||
Given we use no config
|
||||
When we run "jrnl hello world" and enter
|
||||
\n
|
||||
\n
|
||||
\n
|
||||
Then the output should contain "Journal 'default' created"
|
||||
And the config should contain
|
||||
colors:
|
||||
body: none
|
||||
date: black
|
||||
tags: yellow
|
||||
title: cyan
|
||||
|
||||
Scenario: Install jrnl without colors
|
||||
Given we use no config
|
||||
When we run "jrnl hello world" and enter
|
||||
\n
|
||||
\n
|
||||
N
|
||||
Then the output should contain "Journal 'default' created"
|
||||
And the config should contain
|
||||
colors:
|
||||
body: none
|
||||
date: none
|
||||
tags: none
|
||||
title: none
|
||||
|
||||
Scenario: Install jrnl with encrypted default journal with no entries
|
||||
Given we use no config
|
||||
And we use the password "test" if prompted
|
||||
When we run "jrnl -1" and enter
|
||||
encrypted.txt
|
||||
y
|
||||
n
|
||||
test
|
||||
test
|
||||
n
|
||||
Then the error output should contain "Journal will be encrypted"
|
||||
And the default journal "encrypted.txt" should be in the "." directory
|
||||
And the config should contain "encrypt: true"
|
||||
And the version in the config file should be up-to-date
|
||||
When we run "jrnl -1"
|
||||
When we run "jrnl -1" and enter
|
||||
test
|
||||
Then we should be prompted for a password
|
||||
And the error output should contain "no entries found"
|
||||
And the error output should not contain "Wrong password, try again"
|
||||
|
|
Loading…
Add table
Reference in a new issue