Skip to content

Conversation

@TheNagaki
Copy link

Implemented the french-politeness package

Jules B. and others added 3 commits December 10, 2025 13:17
Used "propagate_case : true" & "word : true" to ensure correct behavior. Removed Utils as there were no relations to the current package. Updated ReadMe accordingly.
Copy link
Collaborator

@smeech smeech left a comment

Choose a reason for hiding this comment

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

Thank you.

A package of simple trigger/replace pairs with a couple of forms. No script or shell or potentially malicious code.

I've left a few comments for you to consider.

I'll let CoPilot review and run the CI checks.

espanso install french-politeness
```

Or manually by cloning this repository into your Espanso configuration folder.
Copy link
Collaborator

@smeech smeech Dec 20, 2025

Choose a reason for hiding this comment

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

I would tend not to recommend the cloning route as it can break subsequent espanso [package] install and uninstall commands for any packages.

propagate_case: true
word: true
- triggers:
- "mr"
Copy link
Collaborator

Choose a reason for hiding this comment

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

At risk of Anglo-centrism, I would point out that for English users, this will trigger on the common word "Mr", as will "bat" below.


## License

This package is licensed under the Apache License 2.0. See the LICENSE file for details.
Copy link
Collaborator

@smeech smeech Dec 20, 2025

Choose a reason for hiding this comment

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

The patent protection introduced into v2.0 of the Apache License is somewhat contentious.

You haven't included a LICENSE file, by the way, which the Apache License requires, I believe.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR implements a new Espanso package for French politeness expressions, providing text expansion shortcuts for common French greetings, salutations, and formal expressions. The package includes comprehensive configuration, documentation, and metadata files.

Key changes:

  • Added French politeness package with 26 text expansion triggers for opening and closing expressions
  • Implemented case propagation and word boundary detection for natural text replacement
  • Included interactive forms for customizable greetings (:cher and :alattde)

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 3 comments.

File Description
packages/french-politeness/0.1.0/package.yml Core espanso configuration defining 26 French expression triggers with case propagation and interactive forms
packages/french-politeness/0.1.0/_manifest.yml Package metadata including author, version, description, and tags
packages/french-politeness/0.1.0/README.md Complete documentation with usage instructions, trigger tables, and feature descriptions

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

| bav | Bien à vous, |
| cdt | Cordialement, |
| sltd | Salutations distinguées, |
| eslt | En vous envoyant mes salutations distinguées, |
Copy link

Copilot AI Dec 20, 2025

Choose a reason for hiding this comment

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

The replacement text is grammatically incorrect and should match the correction in the package.yml file. The correct French expression is "En vous adressant mes salutations distinguées" rather than "En vous envoyant mes salutations distinguées". The verb "envoyer" (to send) is not appropriate for this formal French expression.

Suggested change
| eslt | En vous envoyant mes salutations distinguées, |
| eslt | En vous adressant mes salutations distinguées, |

Copilot uses AI. Check for mistakes.
| Trigger | Replacement | Notes |
| ------- | ----------- | ----- |
| bjr | bonjour | Case-sensitive (Bjr → Bonjour) |
| bapm | bonne après-midi | Case-sensitive (Bapm → Bonne Après-Midi) |
Copy link

Copilot AI Dec 20, 2025

Choose a reason for hiding this comment

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

The case propagation note is inconsistent with how propagate_case actually works. Case propagation preserves the casing pattern (e.g., 'Bjr' becomes 'Bonjour'), but 'Bapm' would become 'Bonne après-midi', not 'Bonne Après-Midi' with each word capitalized. The note should accurately describe the behavior as maintaining the initial capital letter, not capitalizing each word.

Suggested change
| bapm | bonne après-midi | Case-sensitive (Bapm → Bonne Après-Midi) |
| bapm | bonne après-midi | Case-sensitive (Bapm → Bonne après-midi) |

Copilot uses AI. Check for mistakes.
Copy link
Collaborator

@smeech smeech Dec 20, 2025

Choose a reason for hiding this comment

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

Consider addition of uppercase_style: capitalize_words unless the capitalisation is intended simply for the beginning of sentences.

replace: "Salutations distinguées,"
word: true
- trigger: "eslt"
replace: "En vous envoyant mes salutations distinguées,"
Copy link

Copilot AI Dec 20, 2025

Choose a reason for hiding this comment

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

The replacement text is grammatically incorrect. The correct French expression should be "En vous adressant mes salutations distinguées" (addressing you with my distinguished greetings) rather than "En vous envoyant mes salutations distinguées" (sending you my distinguished greetings). The verb "envoyer" (to send) is not the appropriate verb for this formal French expression.

Suggested change
replace: "En vous envoyant mes salutations distinguées,"
replace: "En vous adressant mes salutations distinguées,"

Copilot uses AI. Check for mistakes.
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