Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/heckj/warbler
Warbler language server implementation to identify the use of passive voice within Markdown documents
https://github.com/heckj/warbler
lsp markdown nlp python3
Last synced: 15 days ago
JSON representation
Warbler language server implementation to identify the use of passive voice within Markdown documents
- Host: GitHub
- URL: https://github.com/heckj/warbler
- Owner: heckj
- License: apache-2.0
- Created: 2020-09-23T19:25:02.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2021-03-16T23:56:18.000Z (over 3 years ago)
- Last Synced: 2024-10-10T19:41:16.141Z (about 1 month ago)
- Topics: lsp, markdown, nlp, python3
- Language: Python
- Homepage:
- Size: 235 KB
- Stars: 3
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Warbler
This is a [language server] implementation for markdown, specifically focusing
on using the LSP to provide writer feedback for content, rather than concrete validation of the markdown structure to any specification.[language server]: https://langserver.org/
This is an experimental implementation, intended to leverage modern NLP systems to identify and highlight the use of passive in written content.
Code for the LSP python implementation is derived from [Benten](https://github.com/rabix/benten) - another LSP that's implemented in python.
The name was chosen as a [common small songbird](http://www.pacificnorthwestbirds.com/category/warbler-summer/) from the pacific northwest. Something to look over your shoulder and call out...
## Dev Notes
This setup uses tox for most of it's build and such, so you'll need it as a prerequisite.
If you don't already have it installed:pip3 install tox
or
python3 -m pip install --user tox
Run tests:
tox
Development work:
- lint the code
tox -vv -e lint
- use your the editor happily
tox -vv -e dev
code .- run stand-alone on the CLI
python warbler
- local virtualenv outside of .tox
python3 -m venv .venv
python3 -m pip install --upgrade pip
source .venv/bin/activate
pip3 install .## dev notes
General thesis of this setup:
[client] ---> [LanguageServer]
Processing the docs:
1. convert the incoming markdown file into plain text (w/ markdown & beautifulsoup)
2. run the resulting text through textacy, filtering for passive voice tagging
3. link the tags back to locations within the markdown to reference where the issue is happening.