* CLI: Unhide "diagnostic" commandline option
* Display loaded plugins under "--diagnostic" rather than "--version"
* Align plugin names on diagnostic
* Store plugin module paths as variables
* Don't display full plugin module paths for built in and "regular" contributed plugins
* Make flake8 happy
* Adjust new plugin imports
* `jrnl.__version__` magic works!
Adjust version imports
Update version on GitHub release flow
Fix version imports & black issue
* escape strings in workflow
Co-authored-by: Jonathan Wren <jonathan@nowandwren.com>
Since we're implementing a plugin system that relies on implicit
namespacing, we should remove these files so that they don't confuse and
muddle our virtual envs (like the ones we use to run tests).
Also, they're not longer needed as of Python 3.3.
PEP 420 says:
Allowing implicit namespace packages means that the requirement to
provide an __init__.py file can be dropped completely...
* behavior outline
* FIrst pass at allow external plugins
* remove template exporter
* Add listing of active plugins to '--version' output
* Documentation for plugins
* [Docs] add custom imports and exporters to site TOC
* [Docs] better linewrapping
* enforce positive initial linewrap
Check column widths
update gitignore
throw error when linewrap too small
simply check for large enough linewrap value
* delete unused error message
* PR feedback
make exception more informative
update check_linewrap signature in src and test
make check_linewrap a free function
* delete unused function
* delete else..pass block
* newline for make format
* Include dates_exporter
* Use Base classes for importer and exporters.
* [Docs] improve documentation of custom Importers and Exporters
* [Testing] separate run with external plugin!
* basic behavior test
* prototype unittest for JSON Exporter
test for unimplemented method
* make format
delete unused imports
* Remove 'importer' or 'exporter' from filenames where not needed
* [Test] run different tests with or without the external plugins installed
* [Test] move test rot13 plugin into git tree
from 0dc912af82
* consolidate demo plugins to common package
* [Docs] name page for plugins
* [Docs] include the sample plug in code files directly
* style fixes
* [test] determine whether to run external plug in tests based on installed packages
* improved code documentation
* style fixes for GitHub actions
* Convert "short" and "pretty" (and "default") formaters to plugins
further to https://github.com/jrnl-org/jrnl/pull/1177
* more code clean up
tests pass locally...now for GitHub...
* [tests] dynamically determine jrnl version for plugin tests
* [GitHub Actions] direct install of testing plugins
* Remove template code
* [plugins] meta --> collector
* [Docs] create scripted entries using an custom importer
* (closer to) being able to run behave tests outside project root directory
* We already know when exporter to use
Don't re-calculate it!
* [Tests] don't name test plugin 'testing"
If so named, pip won't install it.
* [Test] run behave tests with test plugins outside project root
* [Test] behave tests pass locally
* [Docs] fix typo
* [GitHub Actions] run test commands from poetry's shell
* black-ify code
* [GitHub Actions] move downstream (rather than up) to run tests
* [GitHub Actions] set shell to poetry
* [GitHub Workflows] Manually activate virtual environment
* [GitHub Actions] Skip Windows & Python 3.8
Can't seem to find Python exe?
* [GiotHub Actions] explicitly use virtual env
* [GitHub Actions] create virutal env directly
* [GitHub Actions] better activate of Windows virtual env
* [GitHub Actions] create virtual env on Mac
* [Github Actions] install wheel and upgrade pip
* [GitHub Actions] skip virtual environments altogether
* [GitHub Actions] change directory for behave test
* Remove Windows exclusions from CI as per note -- they should be working now
Co-authored-by: Suhas <sugas182@gmail.com>
Co-authored-by: Micah Jerome Ellison <micah.jerome.ellison@gmail.com>
* Add Python 3.10 support
* Change Python 3.10 to 3.10-dev in CI
* Run poetry update
* Turn off fail-fast to troubleshoot
Co-authored-by: Jonathan Wren <jonathan@nowandwren.com>
* Add continue-on-error for 3.10
Co-authored-by: Jonathan Wren <jonathan@nowandwren.com>
* use prerelease poetry for prerelease python
* fix syntax error
* rename steps to make more sense
* remove dev dependency that breaks with python 3.10
* update tests
* Change test dependencies for minimal breakage on python 3.10
- loosen the test dep requirements (so we get warned about these
problems sooner)
- add new extras group to provide minimal deps required for testing (we
don't need to run static analysis again on every version)
* change how we check if deps are installed so test don't run wild
* add setuptools due to poetry bug, clean up other steps
* update lock file
* test
* Revert "test"
This reverts commit 31e538300e.
Co-authored-by: Jonathan Wren <jonathan@nowandwren.com>
Now that all the tests are passing, this breaks them up into a few
different files to make everything more organized.
Note: Pyflakes is complaining about some unused import statements.
- Misc linting issues
- Whitespace cleanup
- Entire test suite is now passing
- Add misc todo items in comments
Co-authored-by: Micah Jerome Ellison <micah.jerome.ellison@gmail.com>
- Take out old type coersion (it was causing needles complexity)
- Take out `read_value_from_string` function
- Use taml parser to parse yaml instead of using custom function
- Update tests to use new implementation
Co-authored-by: Micah Jerome Ellison <micah.jerome.ellison@gmail.com>
- Implement mock editor fixture
- Add fixture to keep track of editor state
- Implement various steps to check editor state
Co-authored-by: Micah Jerome Ellison <micah.jerome.ellison@gmail.com>