Merge branch 'stdedos-master'
This commit is contained in:
commit
3cbea0d66d
7 changed files with 239 additions and 54 deletions
161
.gitignore
vendored
161
.gitignore
vendored
|
|
@ -1,5 +1,162 @@
|
||||||
*.pyc
|
## Python gitignore
|
||||||
|
# Byte-compiled / optimized / DLL files
|
||||||
|
__pycache__/
|
||||||
|
*.py[cod]
|
||||||
|
*$py.class
|
||||||
|
|
||||||
|
# C extensions
|
||||||
|
*.so
|
||||||
|
|
||||||
|
# Distribution / packaging
|
||||||
|
.Python
|
||||||
build/
|
build/
|
||||||
|
develop-eggs/
|
||||||
dist/
|
dist/
|
||||||
colout.egg-info/
|
downloads/
|
||||||
|
eggs/
|
||||||
.eggs/
|
.eggs/
|
||||||
|
lib/
|
||||||
|
lib64/
|
||||||
|
parts/
|
||||||
|
sdist/
|
||||||
|
var/
|
||||||
|
wheels/
|
||||||
|
*.egg-info/
|
||||||
|
.installed.cfg
|
||||||
|
*.egg
|
||||||
|
MANIFEST
|
||||||
|
|
||||||
|
# PyInstaller
|
||||||
|
# Usually these files are written by a python script from a template
|
||||||
|
# before PyInstaller builds the exe, so as to inject date/other infos into it.
|
||||||
|
*.manifest
|
||||||
|
*.spec
|
||||||
|
|
||||||
|
# Installer logs
|
||||||
|
pip-log.txt
|
||||||
|
pip-delete-this-directory.txt
|
||||||
|
|
||||||
|
# Unit test / coverage reports
|
||||||
|
htmlcov/
|
||||||
|
.tox/
|
||||||
|
.coverage
|
||||||
|
.coverage.*
|
||||||
|
.cache
|
||||||
|
nosetests.xml
|
||||||
|
coverage.xml
|
||||||
|
*.cover
|
||||||
|
.hypothesis/
|
||||||
|
.pytest_cache/
|
||||||
|
|
||||||
|
# Translations
|
||||||
|
*.mo
|
||||||
|
*.pot
|
||||||
|
|
||||||
|
# Django stuff:
|
||||||
|
*.log
|
||||||
|
local_settings.py
|
||||||
|
db.sqlite3
|
||||||
|
|
||||||
|
# Flask stuff:
|
||||||
|
instance/
|
||||||
|
.webassets-cache
|
||||||
|
|
||||||
|
# Scrapy stuff:
|
||||||
|
.scrapy
|
||||||
|
|
||||||
|
# Sphinx documentation
|
||||||
|
docs/_build/
|
||||||
|
|
||||||
|
# PyBuilder
|
||||||
|
target/
|
||||||
|
|
||||||
|
# Jupyter Notebook
|
||||||
|
.ipynb_checkpoints
|
||||||
|
|
||||||
|
# pyenv
|
||||||
|
.python-version
|
||||||
|
|
||||||
|
# celery beat schedule file
|
||||||
|
celerybeat-schedule
|
||||||
|
|
||||||
|
# SageMath parsed files
|
||||||
|
*.sage.py
|
||||||
|
|
||||||
|
# Environments
|
||||||
|
.env
|
||||||
|
.venv
|
||||||
|
env/
|
||||||
|
venv/
|
||||||
|
ENV/
|
||||||
|
env.bak/
|
||||||
|
venv.bak/
|
||||||
|
|
||||||
|
# Spyder project settings
|
||||||
|
.spyderproject
|
||||||
|
.spyproject
|
||||||
|
|
||||||
|
# Rope project settings
|
||||||
|
.ropeproject
|
||||||
|
|
||||||
|
# mkdocs documentation
|
||||||
|
/site
|
||||||
|
|
||||||
|
# mypy
|
||||||
|
.mypy_cache/
|
||||||
|
|
||||||
|
## Jetbrains
|
||||||
|
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and WebStorm
|
||||||
|
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
|
||||||
|
|
||||||
|
# User-specific stuff
|
||||||
|
.idea/**/workspace.xml
|
||||||
|
.idea/**/tasks.xml
|
||||||
|
.idea/**/usage.statistics.xml
|
||||||
|
.idea/**/dictionaries
|
||||||
|
.idea/**/shelf
|
||||||
|
|
||||||
|
# Sensitive or high-churn files
|
||||||
|
.idea/**/dataSources/
|
||||||
|
.idea/**/dataSources.ids
|
||||||
|
.idea/**/dataSources.local.xml
|
||||||
|
.idea/**/sqlDataSources.xml
|
||||||
|
.idea/**/dynamic.xml
|
||||||
|
.idea/**/uiDesigner.xml
|
||||||
|
.idea/**/dbnavigator.xml
|
||||||
|
|
||||||
|
# Gradle
|
||||||
|
.idea/**/gradle.xml
|
||||||
|
.idea/**/libraries
|
||||||
|
|
||||||
|
# Mongo Explorer plugin
|
||||||
|
.idea/**/mongoSettings.xml
|
||||||
|
|
||||||
|
# Editor-based Rest Client
|
||||||
|
.idea/httpRequests
|
||||||
|
|
||||||
|
# SonarLint
|
||||||
|
.idea/sonarlint
|
||||||
|
|
||||||
|
# CMake
|
||||||
|
cmake-build-*/
|
||||||
|
|
||||||
|
# File-based project format
|
||||||
|
*.iws
|
||||||
|
|
||||||
|
# IntelliJ
|
||||||
|
out/
|
||||||
|
|
||||||
|
# mpeltonen/sbt-idea plugin
|
||||||
|
.idea_modules/
|
||||||
|
|
||||||
|
# JIRA plugin
|
||||||
|
atlassian-ide-plugin.xml
|
||||||
|
|
||||||
|
# Cursive Clojure plugin
|
||||||
|
.idea/replstate.xml
|
||||||
|
|
||||||
|
# Crashlytics plugin (for Android Studio and IntelliJ)
|
||||||
|
com_crashlytics_export_strings.xml
|
||||||
|
crashlytics.properties
|
||||||
|
crashlytics-build.properties
|
||||||
|
fabric.properties
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,9 @@
|
||||||
language: python
|
language: python
|
||||||
python:
|
python:
|
||||||
- "2.7"
|
|
||||||
- "3.3"
|
|
||||||
- "3.4"
|
|
||||||
- "3.5"
|
- "3.5"
|
||||||
- "3.6"
|
- "3.6"
|
||||||
- "3.7-dev"
|
- "3.7"
|
||||||
- "pypy"
|
- "3.8"
|
||||||
- "pypy3"
|
- "pypy3"
|
||||||
install:
|
install:
|
||||||
- pip install .
|
- pip install .
|
||||||
|
|
|
||||||
|
|
@ -1,2 +1 @@
|
||||||
include README.md
|
|
||||||
include LICENSE
|
include LICENSE
|
||||||
|
|
|
||||||
88
README.md
88
README.md
|
|
@ -3,9 +3,9 @@ colout(1) -- Color Up Arbitrary Command Output
|
||||||
|
|
||||||
## Synopsis
|
## Synopsis
|
||||||
|
|
||||||
`colout` [-h] [-r RESOURCE]
|
`colout [-h] [-r RESOURCE]`
|
||||||
|
|
||||||
`colout` [-g] [-c] [-l min,max] [-a] [-t] [-T DIR] [-P DIR] [-d COLORMAP] [-s] [-e CHAR] [-E CHAR] [--debug] PATTERN [COLOR(S) [STYLE(S)]]
|
`colout [-g] [-c] [-l min,max] [-a] [-t] [-T DIR] [-P DIR] [-d COLORMAP] [-s] [-e CHAR] [-E CHAR] [--debug] PATTERN [COLOR(S) [STYLE(S)]]`
|
||||||
|
|
||||||
## Description
|
## Description
|
||||||
|
|
||||||
|
|
@ -25,10 +25,12 @@ rainbow, random, Random, Spectrum, spectrum, scale, Scale, hash, Hash, none, an
|
||||||
RGB hexadecimal triplet (`#11aaff`, for example) or any number between 0 and 255.
|
RGB hexadecimal triplet (`#11aaff`, for example) or any number between 0 and 255.
|
||||||
|
|
||||||
Available styles are: normal, bold, faint, italic, underline, blink,
|
Available styles are: normal, bold, faint, italic, underline, blink,
|
||||||
rapid\_blink, reverse, conceal or random (some styles may have no effect, depending
|
rapid_blink, reverse, conceal or random (some styles may have no effect, depending
|
||||||
on your terminal).
|
on your terminal).
|
||||||
|
|
||||||
In some case, you can indicate a foreground and a background color, by indicating boths colors separated by a period(for example: `red.blue`). You can also use this system to combine two styles (for example, for a bold style that also blinks: `bold.blink`).
|
In some case, you can indicate a foreground and a background color, by indicating both colors
|
||||||
|
separated by a period (for example: `red.blue`). You can also use this system to combine two styles
|
||||||
|
(for example, for a bold style that also blinks: `bold.blink`).
|
||||||
|
|
||||||
`rainbow` will cycle over a the default colormap at each matching pattern.
|
`rainbow` will cycle over a the default colormap at each matching pattern.
|
||||||
`Rainbow` will do the same over the default colormap for the 256-colors mode
|
`Rainbow` will do the same over the default colormap for the 256-colors mode
|
||||||
|
|
@ -57,7 +59,7 @@ this special color on a large group, while interpreting only its numerical part.
|
||||||
You can use the name of a syntax-coloring ["lexer"](http://pygments.org/docs/lexers/)
|
You can use the name of a syntax-coloring ["lexer"](http://pygments.org/docs/lexers/)
|
||||||
as a color (for example: "Cpp", "ruby", "xml+django", etc.).
|
as a color (for example: "Cpp", "ruby", "xml+django", etc.).
|
||||||
|
|
||||||
If GIMP palettes files (\*.gpl) are available, you can also use their names as a
|
If GIMP palettes files (*.gpl) are available, you can also use their names as a
|
||||||
colormap (see the `-P` switch below).
|
colormap (see the `-P` switch below).
|
||||||
|
|
||||||
Note that the RGB colors (either the hex triplets or the palettes's colors) will
|
Note that the RGB colors (either the hex triplets or the palettes's colors) will
|
||||||
|
|
@ -78,23 +80,24 @@ use the `-r` switch (see below).
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
The reccomended method is using [pipsi](https://github.com/mitsuhiko/pipsi)
|
The recomended method is using pip to install the package for the local user:
|
||||||
```
|
|
||||||
pipsi install colout
|
```console
|
||||||
|
$ pip install --user colout
|
||||||
```
|
```
|
||||||
|
|
||||||
Another method is to use pip to install the package for the local user:
|
Another method is using [pipsi](https://github.com/mitsuhiko/pipsi)
|
||||||
|
(_pipsi is no longer maintained, <https://github.com/mitsuhiko/pipsi/blob/db3e3fccbe4f8f9ed1104ed7293ec8fec6579efc/README.md#L3>_)
|
||||||
```
|
```console
|
||||||
pip install --user colout
|
$ pipsi install colout
|
||||||
```
|
```
|
||||||
|
|
||||||
There is also a PPA for Ubuntu 16.04 (Xenial)/18.04 (Bionic)
|
There is also a PPA for Ubuntu 16.04 (Xenial)/18.04 (Bionic) (@`0.6.1-3~dist7`, not actively maintained)
|
||||||
|
|
||||||
```
|
```console
|
||||||
sudo add-apt-repository ppa:csaba-kertesz/random
|
$ sudo add-apt-repository ppa:csaba-kertesz/random
|
||||||
sudo apt-get update
|
$ sudo apt-get update
|
||||||
sudo apt-get/aptitude install colout
|
$ sudo apt-get/aptitude install colout
|
||||||
```
|
```
|
||||||
|
|
||||||
## Options
|
## Options
|
||||||
|
|
@ -109,8 +112,8 @@ sudo apt-get/aptitude install colout
|
||||||
Use the given list of comma-separated colors as a colormap (cycle the colors at each match).
|
Use the given list of comma-separated colors as a colormap (cycle the colors at each match).
|
||||||
|
|
||||||
* `-l min,max`, `--scale min,max`:
|
* `-l min,max`, `--scale min,max`:
|
||||||
When using the 'scale' colormap, parse matches as decimal numbers (taking your locale into account)
|
When using the 'scale' colormap, parse matches as decimal numbers (taking your locale into
|
||||||
or as arithmetic expression (like "1+2/0.9\*3") and apply the rainbow colormap linearly
|
account) or as arithmetic expression (like "1+2/0.9*3") and apply the rainbow colormap linearly
|
||||||
between the given min,max (0,100, by default).
|
between the given min,max (0,100, by default).
|
||||||
|
|
||||||
* `-a`, `--all`:
|
* `-a`, `--all`:
|
||||||
|
|
@ -121,10 +124,10 @@ sudo apt-get/aptitude install colout
|
||||||
Interpret PATTERN as a predefined theme (perm, cmake, g++, etc.).
|
Interpret PATTERN as a predefined theme (perm, cmake, g++, etc.).
|
||||||
|
|
||||||
* `-T DIR`, `--themes-dir DIR`:
|
* `-T DIR`, `--themes-dir DIR`:
|
||||||
Search for additional themes (colout\_\*.py files) in this directory.
|
Search for additional themes (colout_*.py files) in this directory.
|
||||||
|
|
||||||
* `-P DIR`, `--palettes-dir DIR`:
|
* `-P DIR`, `--palettes-dir DIR`:
|
||||||
Search for additional palettes (\*.gpl files) in this directory.
|
Search for additional palettes (*.gpl files) in this directory.
|
||||||
|
|
||||||
* `-d COLORMAP`, `--default COLORMAP`:
|
* `-d COLORMAP`, `--default COLORMAP`:
|
||||||
When using special colormaps (`random`, `scale` or `hash`), use this COLORMAP instead of the default one.
|
When using special colormaps (`random`, `scale` or `hash`), use this COLORMAP instead of the default one.
|
||||||
|
|
@ -180,7 +183,7 @@ with each matching colors.
|
||||||
Using a default colormap that is incompatible with the special colormap's mode
|
Using a default colormap that is incompatible with the special colormap's mode
|
||||||
(i.e. number of colors) will end badly.
|
(i.e. number of colors) will end badly.
|
||||||
|
|
||||||
Color pairs ("foreground.background") work in 8-colors mode for simple coloring, but may fail with `--colormap`.
|
Color pairs (`foreground.background`) work in 8-colors mode for simple coloring, but may fail with `--colormap`.
|
||||||
|
|
||||||
## Examples
|
## Examples
|
||||||
|
|
||||||
|
|
@ -192,7 +195,7 @@ Color pairs ("foreground.background") work in 8-colors mode for simple coloring,
|
||||||
* Color in bold violet home directories in _/etc/passwd_:
|
* Color in bold violet home directories in _/etc/passwd_:
|
||||||
`colout '/home/[a-z]+' 135 < /etc/passwd`
|
`colout '/home/[a-z]+' 135 < /etc/passwd`
|
||||||
|
|
||||||
* Color in yellow user/groups id, in bold green name and in bold red home directories in _/etc/passwd_:
|
* Color in yellow user/groups id, in bold green name and in bold red home directories in `/etc/passwd`:
|
||||||
`colout ':x:([0-9]+:[0-9]+):([^:]+).*(/home/[a-z]+)' yellow,green,red normal,bold < /etc/passwd`
|
`colout ':x:([0-9]+:[0-9]+):([^:]+).*(/home/[a-z]+)' yellow,green,red normal,bold < /etc/passwd`
|
||||||
|
|
||||||
* Color in yellow file permissions with read rights for everyone:
|
* Color in yellow file permissions with read rights for everyone:
|
||||||
|
|
@ -256,11 +259,13 @@ Color pairs ("foreground.background") work in 8-colors mode for simple coloring,
|
||||||
The following bash function color the output of any command with the
|
The following bash function color the output of any command with the
|
||||||
cmake and g++ themes:
|
cmake and g++ themes:
|
||||||
|
|
||||||
function cm()
|
```bash
|
||||||
{
|
function cm()
|
||||||
set -o pipefail
|
{
|
||||||
$@ 2>&1 | colout -t cmake | colout -t g++
|
set -o pipefail
|
||||||
}
|
$@ 2>&1 | colout -t cmake | colout -t g++
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
You then can use the `cm` alias as a prefix to your build command,
|
You then can use the `cm` alias as a prefix to your build command,
|
||||||
for example: `cm make test`
|
for example: `cm make test`
|
||||||
|
|
@ -329,32 +334,36 @@ Take a look at the `example.gdbinit` file distributed with colout for more gdb c
|
||||||
### Themes
|
### Themes
|
||||||
|
|
||||||
You can easily add your own theme to colout.
|
You can easily add your own theme to colout.
|
||||||
A theme is basically a module with a function named `theme` that take the configuration context as an argument and
|
A theme is basically a module with a function named `theme` that take the configuration context as
|
||||||
return back the (modified) context and a list of triplets.
|
an argument and return back the (modified) context and a list of triplets.
|
||||||
Each triplet figures the same arguments than those of the command line interface.
|
Each triplet figures the same arguments than those of the command line interface.
|
||||||
|
|
||||||
def theme(context):
|
```python
|
||||||
return context,[ [regexp, colors, styles] ]
|
def theme(context):
|
||||||
|
return context,[ [regexp, colors, styles] ]
|
||||||
|
```
|
||||||
|
|
||||||
With the context dictionary at hand, you have access to the internal configuration of colout, you can thus change colormaps for
|
With the context dictionary at hand, you have access to the internal configuration of colout, you
|
||||||
special keywords, the scale, even the available colors, styles or themes.
|
can thus change colormaps for special keywords, the scale, even the available colors, styles or
|
||||||
|
themes.
|
||||||
|
|
||||||
See the cmake theme for how to modify an existing colormap if (and only if) the user didn't ask for an
|
See the cmake them for how to modify an existing colormap if (and only if) the user didn't ask for an alternative one.
|
||||||
alternative one.
|
|
||||||
See the ninja theme for how to extend an existing theme with more regexps and a different configuration.
|
See the ninja theme for how to extend an existing theme with more regexps and a different configuration.
|
||||||
See the gcc theme for an example of how to use the localization of existing softwares to build translated regexp.
|
See the gcc theme for an example of how to use the localization of existing softwares to build translated regexp.
|
||||||
|
|
||||||
|
|
||||||
### Buffering
|
### Buffering
|
||||||
|
|
||||||
Note that when you use colout within real time streams (like `tail -f X | grep Y | colout Z`) of commands,
|
Note that when you use colout within real time streams (like `tail -f X | grep Y | colout Z`) of
|
||||||
you may observe that the lines are printed by large chunks and not one by one, in real time.
|
commands, you may observe that the lines are printed by large chunks and not one by one, in real
|
||||||
|
time.
|
||||||
This is not due to colout but to the buffering behavior of your shell.
|
This is not due to colout but to the buffering behavior of your shell.
|
||||||
|
|
||||||
To fix that, use `stdbuf`, for example: `tail -f X | stdbuf -o0 grep Y | colout Z`.
|
To fix that, use `stdbuf`, for example: `tail -f X | stdbuf -o0 grep Y | colout Z`.
|
||||||
|
|
||||||
## Authors
|
## Authors
|
||||||
|
|
||||||
* nojhan <nojhan@nojhan.net>: original idea, main developer, maintener.
|
* nojhan <nojhan@nojhan.net>: original idea, main developer, maintainer.
|
||||||
* Adrian Sadłocha <adrian.adek@gmail.com>
|
* Adrian Sadłocha <adrian.adek@gmail.com>
|
||||||
* Alex Burka <aburka@seas.upenn.edu>
|
* Alex Burka <aburka@seas.upenn.edu>
|
||||||
* Brian Foley <bpfoley@gmail.com>
|
* Brian Foley <bpfoley@gmail.com>
|
||||||
|
|
@ -377,3 +386,4 @@ To fix that, use `stdbuf`, for example: `tail -f X | stdbuf -o0 grep Y | colout
|
||||||
* Piotr Staroszczyk <piotr.staroszczyk@get24.org>
|
* Piotr Staroszczyk <piotr.staroszczyk@get24.org>
|
||||||
* Scott Lawrence <oz@lindenlab.com>
|
* Scott Lawrence <oz@lindenlab.com>
|
||||||
* Xu Di <xudifsd@gmail.com>
|
* Xu Di <xudifsd@gmail.com>
|
||||||
|
* https://github.com/stdedos: maintainer.
|
||||||
|
|
|
||||||
3
requirements-build.txt
Normal file
3
requirements-build.txt
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
tox
|
||||||
|
tox-wheel
|
||||||
|
twine
|
||||||
16
setup.py
16
setup.py
|
|
@ -20,15 +20,18 @@ setup_requires = ['setuptools_scm']
|
||||||
|
|
||||||
classifiers = """
|
classifiers = """
|
||||||
Environment :: Console
|
Environment :: Console
|
||||||
|
Development Status :: 5 - Production/Stable
|
||||||
License :: OSI Approved :: GNU General Public License v3 (GPLv3)
|
License :: OSI Approved :: GNU General Public License v3 (GPLv3)
|
||||||
Programming Language :: Python :: 2
|
Operating System :: POSIX
|
||||||
Programming Language :: Python :: 2.7
|
Operating System :: POSIX :: Linux
|
||||||
Programming Language :: Python :: 3
|
Programming Language :: Python :: 3 :: Only
|
||||||
Programming Language :: Python :: 3.3
|
|
||||||
Programming Language :: Python :: 3.4
|
|
||||||
Programming Language :: Python :: 3.5
|
Programming Language :: Python :: 3.5
|
||||||
Programming Language :: Python :: 3.6
|
Programming Language :: Python :: 3.6
|
||||||
Programming Language :: Python :: 3.7
|
Programming Language :: Python :: 3.7
|
||||||
|
Programming Language :: Python :: 3.8
|
||||||
|
Topic :: Utilities
|
||||||
|
Topic :: Text Processing
|
||||||
|
Topic :: Text Processing :: Filters
|
||||||
""".strip().split('\n')
|
""".strip().split('\n')
|
||||||
|
|
||||||
setup(
|
setup(
|
||||||
|
|
@ -40,13 +43,14 @@ setup(
|
||||||
'console_scripts': ['colout=colout.colout:main'],
|
'console_scripts': ['colout=colout.colout:main'],
|
||||||
},
|
},
|
||||||
long_description=open(os.path.join(os.path.dirname(__file__), 'README.md')).read(),
|
long_description=open(os.path.join(os.path.dirname(__file__), 'README.md')).read(),
|
||||||
|
long_description_content_type='text/markdown;variant=CommonMark',
|
||||||
author='nojhan',
|
author='nojhan',
|
||||||
author_email='nojhan@nojhan.net',
|
author_email='nojhan@nojhan.net',
|
||||||
url='http://nojhan.github.com/colout/',
|
url='http://nojhan.github.com/colout/',
|
||||||
packages=packages,
|
packages=packages,
|
||||||
package_data={'': ['LICENSE', 'README.md']},
|
package_data={'': ['LICENSE', 'README.md']},
|
||||||
package_dir={'colout': 'colout'},
|
package_dir={'colout': 'colout'},
|
||||||
python_requires='>=2.7,!=3.0.*,!=3.1.*,!=3.2.*',
|
python_requires='>=3.5',
|
||||||
setup_requires=setup_requires,
|
setup_requires=setup_requires,
|
||||||
include_package_data=True,
|
include_package_data=True,
|
||||||
install_requires=requires,
|
install_requires=requires,
|
||||||
|
|
|
||||||
15
tox.ini
Normal file
15
tox.ini
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
[tox]
|
||||||
|
envlist=py35,py36,py37,py38,cov
|
||||||
|
|
||||||
|
[testenv]
|
||||||
|
wheel = true
|
||||||
|
deps=
|
||||||
|
pytest
|
||||||
|
pytest-cov
|
||||||
|
pytest-xdist
|
||||||
|
setenv=
|
||||||
|
py{35,36,37,38}: COVERAGE_FILE=.coverage.{envname}
|
||||||
|
commands=
|
||||||
|
py{35,36,37,38}: python -m pytest --cov=colout --cov-report=term-missing --no-cov-on-fail
|
||||||
|
cov: coverage combine
|
||||||
|
cov: coverage html --fail-under=85
|
||||||
Loading…
Add table
Add a link
Reference in a new issue