Skip to content

feat(format): add date case transforms - #1672

Draft
chhoumann wants to merge 3 commits into
masterfrom
feat/1667-date-case-transforms
Draft

feat(format): add date case transforms#1672
chhoumann wants to merge 3 commits into
masterfrom
feat/1667-date-case-transforms

Conversation

@chhoumann

Copy link
Copy Markdown
Owner

Summary

Extend QuickAdd's existing per-placeholder |case: contract to DATE, TIME, and VDATE output. This lets a capture target such as ## {{DATE:dddd, MMMM Do, yyyy.|case:lower}} match an intentionally lowercase daily-note heading while preserving exact Insert after matching.

Fixes #1667.

Changes

  • Format date and time text in the active Moment locale, then apply the requested case transform.
  • Compose DATE snapping before casing and keep VDATE's stored value unchanged so each occurrence can choose its own rendering.
  • Reserve an explicit trailing |case:<style> modifier while preserving other literal pipes; bracketed |case: text remains literal Moment format text.
  • Extend format autocomplete and builder previews, including ordinal Do previews, and document the next-release syntax in format and capture guides.
  • Add focused formatter, parser, suggestion, preview, compatibility, and isolated Obsidian capture regression coverage.
  • Scope Linux launcher contract tests to Linux so the full suite does not fail on macOS /tmp canonicalization.

Testing / validation

  • pnpm run test (4,931 passed, 41 skipped)
  • pnpm run build-with-lint
  • pnpm run check (0 errors, 0 warnings)
  • pnpm --dir docs run build (50 pages)
  • Isolated Obsidian 1.13.4 E2E spec: exact capture into Daily/2026-08-11.md under ## tuesday, august 11th, 2026. passed with verified file mutation.
  • Live builder inspection: the exact field previews ## friday, august 14th, 2026.; typing |case:l opens a visible, non-overlapping lower suggestion and restoring the field preserves the preview.

Checklist

  • PR title follows Conventional Commits; it becomes the squash-merge commit and drives the released version.
  • Linked any related issue(s).
  • Noted release/migration impact: no migration is required. |case: becomes a reserved trailing modifier for date/time formats; literal modifier-like text must be bracketed. Documentation is marked for the next release.

@chhoumann chhoumann linked an issue Aug 13, 2026 that may be closed by this pull request
@coderabbitai

coderabbitai Bot commented Aug 13, 2026

Copy link
Copy Markdown

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 1730230f-3b77-477b-aaee-5aab57907c03

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Aug 13, 2026

Copy link
Copy Markdown

Deploying quickadd with  Cloudflare Pages  Cloudflare Pages

Latest commit: 0c3033c
Status: ✅  Deploy successful!
Preview URL: https://ebd15ec3.quickadd.pages.dev
Branch Preview URL: https://feat-1667-date-case-transfor.quickadd.pages.dev

View logs

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support case transforms for date and time placeholders

1 participant