Skip to content

paulfioravanti/plover-q-and-a

Repository files navigation

Plover Q&A

Build Status PyPI - Version PyPI - Downloads linting: pylint

This Plover extension plugin contains metas for your dictionaries that can assist with Q&A (Question and Answer): the process of recording lines of questioning in a conversation involving multiple people, usually in a legal context.

More information about the concept of Q&A can be found at:

More information about the creation of, and reasoning behind, the outlines that originally informed this plugin can be found at the following blog post:

You can see a video of the plugin in action here:

(And if you are a Vim user and want the syntax highlighting, you can find it in the Vim Steno Q&A plugin)

Install

  1. In the Plover application, open the Plugins Manager (either click the Plugins Manager icon, or from the Tools menu, select Plugins Manager).
  2. From the list of plugins, find plover-q-and-a
  3. Click "Install/Update"
  4. When it finishes installing, restart Plover
  5. After re-opening Plover, open the Configuration screen (either click the Configuration icon, or from the main Plover application menu, select Preferences...)
  6. Open the Plugins tab
  7. Check the box next to plover_q_and_a to activate the plugin

Config and Dictionaries

See the examples directory for example configuration and dictionaries to help you get up and running with using this plugin for Q&A.

How To Use

See the INSTRUCTIONS page.

Development

Clone from GitHub with git:

git clone git@github.com:paulfioravanti/plover-q-and-a.git
cd plover-q-and-a

Python Version

Plover's Python environment currently uses version 3.9 (see Plover's workflow_context.yml to confirm the current version).

So, in order to avoid unexpected issues, use your runtime version manager to make sure your local development environment also uses Python 3.9.x.

Testing

  • Pytest is used for testing in this plugin.
  • Coverage.py and pytest-cov are used for test coverage, and to run coverage within Pytest
  • Pylint is used for code quality
  • Mypy is used for static type checking

Currently, the only parts able to be tested are ones that do not rely directly on Plover.

Run tests, coverage, and linting with the following commands:

pytest --cov --cov-report=term-missing
pylint plover_q_and_a
mypy plover_q_and_a

To get a HTML test coverage report:

coverage run --module pytest
coverage html
open htmlcov/index.html

Deploying Changes

After making any code changes, install the plugin into Plover with the following command:

plover -s plover_plugins install .

Where plover in the command is a reference to your locally installed version of Plover. See the Invoke Plover from the command line page for details on how to create that reference.