Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions .vale.ini
Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,19 @@ Microsoft.Units = suggestion
# Ignore Sphinx Python object roles, such as ":class:" and ":meth:",
# to prevent false positives from Microsoft.Spacing on dotted Python names.
TokenIgnores = :[a-z]+:\x60.+\x60

[*.rst]
BasedOnStyles = Vale, Microsoft
Microsoft.Contractions = suggestion
Microsoft.GeneralURL = No
Microsoft.Units = suggestion
TokenIgnores = (.. *)

[*.py]
BasedOnStyles = Vale, Microsoft
Microsoft.Contractions = suggestion
Microsoft.GeneralURL = No
Microsoft.Units = suggestion

# Ignore Python comments and Sphinx roles
TokenIgnores = (#.*),(:[a-z]+:\x60.+\x60)
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ BUILDDIR = ../_build
PAPEROPT_a4 = -D latex_paper_size=a4
PAPEROPT_letter = -D latex_paper_size=letter
ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
VALEFILES := $(shell find $(DOCS_DIR) -type f -name "*.rst" -print) # Also add `src` for docstrings.
VALEFILES := $(shell find $(DOCS_DIR) -type f -name "*.rst" -print) $(shell find src/icalendar -type f -name "*.py" -not -path "*/tests/*" -not -path "*/fuzzing/*" -print)
VALEOPTS ?=
PYTHONVERSION = >=3.11,<3.15

Expand Down
29 changes: 29 additions & 0 deletions PR_CHANGES.md
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Before merging this PR, this file should be removed. It's good to keep it for now, while we troubleshoot the PR and try to understand what's not passing.

Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# Configure Vale to Check Python Docstrings for Spelling and Style

This PR configures Vale to run on Python docstrings, ensuring consistent style and spelling in the documentation. The changes exclude test code and comments as per the issue requirements.

## Changes Made

### 1. Updated `.vale.ini`
- Added a `[*.py]` section to configure Vale for Python files.
- Set `BasedOnStyles = Vale, Microsoft` for Python files.
- Added `TokenIgnores` to ignore Python comments (starting with `#`) and Sphinx roles (e.g., `:class:`).
- This ensures Vale checks docstrings but skips code comments and test files.

### 2. Updated `Makefile`
- Modified `VALEFILES` to include Python source files from `src/icalendar/` while excluding `*/tests/*` and `*/fuzzing/*` directories.
- This targets only the main source code for docstring checking, avoiding test code and comments.

### 3. Synced Vale Styles
- Ran `uv run vale sync` to ensure all Vale styles and packages are up to date.

## Next Steps
- Run `make vale` to check for spelling and style issues in Python docstrings.
- Fix any identified issues by correcting spelling mistakes or adjusting word lists in `docs/styles/config/vocabularies/`.
- Potentially extend the accept and reject lists in `Base/accept.txt`, `Base/reject.txt`, and `icalendar/accept.txt`, `icalendar/reject.txt` based on findings.

## Testing
- The configuration has been set up to run Vale on Python files without affecting test code or comments.
- Vale sync has been completed successfully.

Closes #1007
2 changes: 1 addition & 1 deletion docs/how-to/usage.rst
Original file line number Diff line number Diff line change
Expand Up @@ -334,7 +334,7 @@ Show journal entries.
VJOURNAL({})


timezone implementations
Timezone implementations
''''''''''''''''''''''''

You can localize your events to take place in different timezones.
Expand Down
Loading