• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

cjennings / chime / 25395258756
100%

Build:
DEFAULT BRANCH: main
Ran 05 May 2026 06:43PM UTC
Jobs 1
Files 1
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

05 May 2026 05:39PM UTC coverage: 96.489% (+0.1%) from 96.392%
25395258756

push

github

cjennings
refactor!: collapse six filter defcustoms into include/exclude alists

Six per-axis filter variables (keyword/tags/predicate × whitelist/blacklist)
were carrying parallel structure for what's really one decision: include
events that look like X, exclude events that look like Y. I merged them
into two alists, `chime-include-filters' and `chime-exclude-filters', each
keyed by axis (`keywords', `tags', `predicates').

Default for `chime-exclude-filters' keeps the same out-of-the-box
behavior — done items and declined Google Calendar invites stay
filtered:

  ((predicates . (chime-done-keywords-predicate
                  chime-declined-events-predicate)))

Implementation: one shared `chime--filter-predicates' helper that walks
the alist and emits a marker-taking predicate per non-empty axis. The
public callers — now `chime--apply-include-filters' and
`chime--apply-exclude-filters' — wrap that helper with
`-orfn'-then-`-filter' and `-orfn'-then-`-remove' respectively. The
async-environment regex injection list shrank from six names to two,
and the debug config dump in chime-debug.el follows.

The terminology shift (whitelist/blacklist → include/exclude) drops
loaded language for descriptive intent. The internal helpers and the
public function names all moved together.

Tests: 700-ish lines across five test files (test-chime-apply-whitelist,
test-chime-apply-blacklist, test-chime-whitelist-blacklist-conflicts,
test-chime-environment-regex, test-chime-declined-events-predicate)
were rewritten to bind the new alists. The dedup-conflict tests still
exercise the same precedence rule (exclude wins on overlap). README's
filtering section was rewritten end-to-end with new examples.

Migration:
  (setq chime-keyword-whitelist '("TODO"))
  ;; ->
  (setq chime-include-filters '((keywords . ("TODO"))))

  (setq chime-predicate-blacklist '(my-pred))
  ;; ->
  (setq chime-exclude-filters '((predicates . (my-pred))))

This brings the consolidation pass to 37 -> 29 defcu... (continued)

23 of 23 new or added lines in 1 file covered. (100.0%)

25 existing lines in 1 file now uncovered.

687 of 712 relevant lines covered (96.49%)

490.82 hits per line

Coverage Regressions

Lines Coverage ∆ File
25
96.49
0.1% chime.el
Jobs
ID Job ID Ran Files Coverage
1 25395258756.1 05 May 2026 06:43PM UTC 2
75.42
GitHub Action Run
Source Files on build 25395258756
  • Tree
  • List 1
  • Changed 1
  • Source Changed 1
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #25395258756
  • 3019a33d on github
  • Prev Build on main (#25383763487)
  • Next Build on main (#25527776449)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc