* Update authors to "jrnl contributors" to comply with GPL3
* Include jrnl email address with contributors
* Include GPL notice in jrnl --version
* Apply consistent copyright and license to all Python files
* Add copyright and license to documentation
* Add copyright and license to docs theme
* Wiping poetry cache to try to resolve a test issue
* Testing with Python 3.9.0 in attempt to bypass GitHub Actions failure in 3.9.1
* make format
* Exclude Windows Python 3.9 build which is failing due to a GitHub Actions problem
* Modify testing to get around this 3.9 issue...
* Fix exclude
* make behave slightly less verbose for use with behave --format progress2
* standardize behave tests
* move tests around to be more behavior driven
* clean up txt file after tests
* add more tests, add more functionality to behave for calling mock editor
* move around behave tests, get rid of regression files
* clean up some code around keyrings
* add more placeholder test scenarios (marked with @todo)
You can run just these tests with `behave --no-skipped --tags=todo`
* fix "missing_directory" test
This test was missing the config file it was trying to use. So, it was
really a very useless, broken test that we absolutely should not have
approved the PR (#963) for.
* add write tests for each journal type
* update version tests, add new regex match behave step
* add config test outlines
* add journal types to some search tests
* change "basic" config reference to "simple"
* update configs
* add more journal types in search
* fix basic folder journal reference
* add flush output steps to behave, update delete flag tests
* fix failing test with a flush
* update more delete flag tests to include other journal types
* fix file cleanup after failed test with no debug on
* fix password test
* fix DayOne tag sample data, move search/format tag tests, and run them on multiple jrnl types
* added ability to auto-prompt for password for encrypted journals
Only uses password when prompted, and doesn't get in the way of other
input prompts. This allows us to run the same scenarios on both
encrypted journals and other journal types.
* fold encrypted scenarios into the rest of the scenarios where possible
* remove apostrophe that is breaking tests on CI
* add more journal type tests to import feature
* standardize whitespace in behave tests, take out duplicate test
* update handling of cache directories in test suite (easier syntax)
* skip failing YAML exporter emoji test on Windows
* added @todo tags for things that need follow-up
Co-authored-by: Micah Jerome Ellison <micah.jerome.ellison@gmail.com>
* More refactoring of cli.py
break up code from cli.py (now in jrnl.py) up into smaller functions
get rid of export mode
move --encrypt and --decrypt to commands.py
clean up the help screen even more
update flag name for import
* reorganize code, move around lots of functions
* clean up import statements
* move run function out of cli and into jrnl
* rename confusingly named function
* move editor function into editor file
* rename parse_args.py to args.py to make room for more args functions
* Fix error in test suite for windows
I accidentally flipped the conditional, so this fixes it.
Co-authored-by: Micah Jerome Ellison <micah.jerome.ellison@gmail.com>
* Update app description on help screen
Co-authored-by: Micah Jerome Ellison <micah.jerome.ellison@gmail.com>
If a date was given with an entry, and the star was also was added, the
star wouldn't be recognized if it was at the start of the title.
Example that didn't work, but now works with this fix:
jrnl "saturday: *Title words."
This is to be consistent in starring functionality with and without a
date in the entry.
* Add Python version check and faulty test to confirm it's working (should fail on 3.6 build only)
* Apply formatting
* Fix behave Python version test
* Make error message more descriptive and friendly
* remove period parsing in title
* fix title splitter
* revert title-body switch
* keep both splitting types
* make black happy
* make it lstrip not strip
* fix title-body order for the last time
* make black happy again
* added test
* second test for single line entry with punctuation
* delete extra blank lines
* Fix editor config when an argument with a space is used
* skip broken test on windows
* fix jrnl not behaving nicely with testing suite
* fix argument parsing for test suite
* fix one windows test, disable one windows test
* Add --delete for interactive removal of entries
* Add inquirer dependency for fancy prompting
* Fix some minor style issues
* Fix#434
* Use PyInquirer instead of inquirer for Windows compatibility
* Add WIP (broken) test
* Change deletion interface to be more basic
* Update environment.py
Co-authored-by: Jonathan Wren <jonathan@nowandwren.com>
* Pretty print journal entry titles and dates.
Changes appearance of all jrnl viewing commands, such as $ jrnl --short and
$ jrnl -n {NUM}.
Fix#508
* Removed extra newline at end of title
* Use ansiwrap to properly wrap strings with ANSI escapes
* Add ansiwrap to pyproject.toml
* Allow configuration of colors
- Replaced raw escapes with colorama
- Added colors key to config
- Add checks for validity of color values
* Add color configuration documentation
* Fix broken tests due to config change
* Add tests for colors in configs
- Identifying invalid color configs
- Upgrading config from no colors -> colors
* Add colorama dependency for all platforms
* Allow users to disable colorization of output
* Update poetry.lock
* Add tag and body color customization options
* Fix colorization of tags in title and body
* Updated tests to use no color by default
* Change pass to continue in verify_config()
* Better style in Entry.py
* Reduce code duplication for tag highlighting
- Breaks "unreadable date" regression test for unknown reason
* Properly colorize tags and print body
* Reformatting and clean up
* Replace list comprehension with generator
* Handle invalid colors by not using a color
* Process ANSI escapes properly with behave
* Fixed the 'spaces after tags directly next to punctuation' bug
Broke processing of tags next to any punctuation at all
* Closer to working tag colorization but not perfect
* Add tests printing for multiline journals
Fix#717
* Correctly indent first line of multiline entry
* Add test for multiline entries with tags
* Remove redundant UNICODE flag
* Progress towards proper tag colorization and body formatting
* Fix newline colorization bug
Debug code left intact since there are more bugs to fix :/
* And now the space just ends up before the tag instead of after it
* Fix assertion syntax warning
* Moved tag test to tagging.feature file
* Strip out debug code and clean up
* Bold datetimes in title
* Bold all titles
Fix#720
* Remove PY2 and PY3 constants
* Fix regression in features/steps/core.py
* Fix tag_regex
* Remove redundant re.UNICODE flag
* Remove extraneous code
Add test for aborting jrnl entry from editor
Use native mocking
Add comment explaining discrepancy between expected and asserted output
Fix check_empty_output method
Check message on stderr and patch subprocess.call
Add _mock_editor_function
Update features/steps/core.py
Add return from mock function
Add debug statements
Debug
Update features/steps/core.py
Move sys.exit() down
Fix test?
Fix test?
Fix test?
Clean up debug statements
Clean up debug statements
Remove extraneous code
Remove extra space
Add test for empty stdin input
Remove extra debug line
Fix test?
Fix test?
Update features/core.feature
Fix test?
Fix no stdin input test
Co-Authored-By: pspeter <peter.schmidb@gmail.com>