{"id":14978956,"url":"https://github.com/hattya/primula","last_synced_at":"2025-09-22T10:31:58.432Z","repository":{"id":228128072,"uuid":"773234656","full_name":"hattya/primula","owner":"hattya","description":"A code coverage tool for Vim script","archived":false,"fork":false,"pushed_at":"2024-10-20T06:35:06.000Z","size":103,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-11-14T11:07:56.859Z","etag":null,"topics":["coverage","python","vim"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hattya.png","metadata":{"files":{"readme":"README.rst","changelog":"CHANGES.rst","contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-03-17T05:14:27.000Z","updated_at":"2024-10-20T06:35:10.000Z","dependencies_parsed_at":"2024-04-06T03:29:03.989Z","dependency_job_id":"5e966a3b-e095-49e4-b3d6-12e456b721bd","html_url":"https://github.com/hattya/primula","commit_stats":{"total_commits":22,"total_committers":1,"mean_commits":22.0,"dds":0.0,"last_synced_commit":"09f31b4dd0d5e831de0db0fcf69926da4cce10ab"},"previous_names":["hattya/primula"],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hattya%2Fprimula","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hattya%2Fprimula/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hattya%2Fprimula/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hattya%2Fprimula/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hattya","download_url":"https://codeload.github.com/hattya/primula/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":233841627,"owners_count":18738651,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["coverage","python","vim"],"created_at":"2024-09-24T13:58:42.973Z","updated_at":"2025-09-22T10:31:53.143Z","avatar_url":"https://github.com/hattya.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"Primula\n=======\n\nPrimula is a code coverage tool for `Vim script`_.\n\n.. image:: https://img.shields.io/pypi/v/primula\n   :target: https://pypi.org/project/primula\n\n.. image:: https://github.com/hattya/primula/actions/workflows/ci.yml/badge.svg\n   :target: https://github.com/hattya/primula/actions/workflows/ci.yml\n\n.. image:: https://ci.appveyor.com/api/projects/status/if338u3j55a8kekm?svg=true\n   :target: https://ci.appveyor.com/project/hattya/primula\n\n.. image:: https://codecov.io/gh/hattya/primula/branch/master/graph/badge.svg\n   :target: https://codecov.io/gh/hattya/primula\n\n.. _Vim script: https://www.vim.org/\n\n\nInstallation\n------------\n\n.. code:: console\n\n   $ pip install primula\n\n\nRequirements\n------------\n\n- Python 3.9+\n- coverage 5.0+\n- Vim 7.4+\n\n\nUsage\n-----\n\nrun\n~~~\n\n.. code:: console\n\n   $ primula run vim --clean -Nnu vimrc -S /path/to/script.vim -c q\n   $ primula report -m\n\nThe contents of ``vimrc`` as follow:\n\n.. code:: vim\n\n   if $PROFILE !=# ''\n     execute 'profile start' $PROFILE\n     profile! file ./*\n   endif\n\n\ncombine\n~~~~~~~\n\n.. code:: console\n\n   $ vim --clean -Nn --cmd \"profile start profile.txt\" --cmd \"profile! file ./*\" -S /path/to/script.vim -c q\n   $ primula combine profile.txt\n   $ primula report -m\n\n\nConfiguration\n-------------\n\n.coveragerc\n~~~~~~~~~~~\n\n.. code:: ini\n\n   [primula]\n   environ = PROFILE\n   profile = profile.txt\n\n\ncond\n  It controls whether following condition commands to be included as\n  statements.\n\n  - ``:elsei[f]``\n  - ``:cat[ch]``\n  - ``:fina[lly]``\n\n  They are counted by Vim 8.1.309+.\n  \n  Default: ``True``\n\nend\n  It controls whether following end commands to be included as statements.\n\n  - ``:en[dif]``\n  - ``:endw[hile]``\n  - ``:endfo[r]``\n  - ``:endt[ry]``\n  - ``:endf[unction]``\n\n  Default: ``False``\n\nenviron\n  An environment variable name.\n\n  Default: ``PROFILE``\n\nprofile\n  A profile output path.\n\n  Default: ``profile.txt``\n\n\nLicense\n-------\n\nPrimula is distributed under the terms of the Apache License, Version 2.0.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhattya%2Fprimula","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhattya%2Fprimula","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhattya%2Fprimula/lists"}