Skip to content

style: add pre-commit configuration - #70

Draft
henryiii wants to merge 1 commit into
masterfrom
pre-commit-setup
Draft

style: add pre-commit configuration#70
henryiii wants to merge 1 commit into
masterfrom
pre-commit-setup

Conversation

@henryiii

@henryiii henryiii commented Aug 9, 2026

Copy link
Copy Markdown
Collaborator

🤖 AI text below 🤖

Add a .pre-commit-config.yaml modeled on pybind11's, without the hooks that have no targets here (clang-format, shellcheck, pylint, rst checks). The tests/*_docs/ fixtures are excluded because they are compared byte-for-byte against generated output.

Beyond the automatic reformatting, this fixes real typos found by codespell/typos ("absoulte", "exmaple") in the README and cmake function files, and replaces the hatch fmt CI job with a prek run -a lint job so CI matches the hooks.

Model the configuration on pybind11's, without the hooks that have no
targets here (clang-format, shellcheck, pylint, rst checks). Exclude
tests/*_docs/ fixtures, which are compared byte-for-byte against
generated output. Apply the resulting fixes, including some real
spelling corrections, and replace the hatch-fmt CI job with a prek
lint job.

Assisted-by: ClaudeCode:claude-fable-5
#
# The optional parameters are:
# * EXTRA_ARGS - A list of arguments that will be added verbatim to the pybind11-mkdoc command.
# The optional parameters are: * EXTRA_ARGS - A list of arguments that will be

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

This was meant to be a bulleted list, so the original newline here was intentional. Maybe if I use - then it won't reformat?

Comment on lines +15 to +18
# Example usage: pybind11_add_module(my_pybind11_module
# src/my_pybind11_module.cc) pybind11_mkdoc( OUTPUT my_pybind11_module_doc.h
# PYBIND11_MODULE my_pybind11_module HEADERS include/my_header_1.h
# /absolute/path/to/header.h )

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Not sure if it is possible to preserve the original format here in the comments, but I felt it made things more readable.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Ahh, this requires a config file, I forgot about that.

#
# The optional parameters are:
# * EXTRA_ARGS - A list of arguments that will be added verbatim to the pybind11-mkdoc command.
# The optional parameters are: * EXTRA_ARGS - A list of arguments that will be

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Same comment as before, this is meant to be a bulleted list.

Comment on lines +15 to +18
# Example usage: pybind11_add_module(my_pybind11_module
# src/my_pybind11_module.cc) pybind11_mkdoc( OUTPUT my_pybind11_module_doc.h
# PYBIND11_MODULE my_pybind11_module HEADERS include/my_header_1.h
# /absolute/path/to/header.h )

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Same comment as before. I think the original version was more readable.

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.

2 participants