Skip to content

feat: notations for file system paths#210

Merged
jGleitz merged 1 commit into
mainfrom
file-system-notation
Jun 10, 2025
Merged

feat: notations for file system paths#210
jGleitz merged 1 commit into
mainfrom
file-system-notation

Conversation

@jGleitz

@jGleitz jGleitz commented Jun 10, 2025

Copy link
Copy Markdown
Owner

No description provided.

@jGleitz jGleitz requested a review from Copilot June 10, 2025 11:27

Copilot AI left a comment

Copy link
Copy Markdown

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 adds new file system path notations and updates existing notation regex patterns to better handle leading delimiters, while also updating test cases and notation implementations.

  • Introduces UnixPath and WindowsPath notation implementations and corresponding tests
  • Updates ScreamingSnakeCase and SnakeCase regex patterns with negative lookbehind
  • Revises JavaNotations by removing the "data" modifier from JavaTypeName, and adjusts BaseStringNotation to include empty parts

Reviewed Changes

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

Show a summary per file
File Description
src/test/kotlin/NotationsTest.kt Updated test cases for underscore-prefixed words in snake case notations
src/test/kotlin/FileSystemNotationsTest.kt Added new tests for Unix and Windows path notations
src/main/kotlin/Notations.kt Updated regex patterns in ScreamingSnakeCase and SnakeCase
src/main/kotlin/JavaNotations.kt Changed JavaTypeName from a data object to a standard object
src/main/kotlin/FileSystemNotations.kt Introduced new notations for Unix and Windows file system paths
src/main/kotlin/BaseStringNotation.kt Modified parsing behavior to include empty parts, facilitating absolute path support
Comments suppressed due to low confidence (2)

src/main/kotlin/BaseStringNotation.kt:15

  • The removal of the isNotBlank filter in the split operation changes the behavior by including empty parts (used for absolute paths). Consider updating the documentation to clarify this design decision and its implications.
Word(sourceString.split(splitAt).asSequence().mapIndexed(::transformPartAfterParse))

src/main/kotlin/JavaNotations.kt:14

  • [nitpick] The change from 'data object' to 'object' for JavaTypeName is noted; it would be beneficial to include a comment explaining the rationale behind this change to aid future maintenance.
object JavaTypeName : StringNotation by UpperCamelCase {

@jGleitz jGleitz force-pushed the file-system-notation branch from 3fc9495 to 6e42451 Compare June 10, 2025 11:31
@jGleitz jGleitz force-pushed the file-system-notation branch from 6e42451 to 099fd18 Compare June 10, 2025 11:33
@sonarqubecloud

Copy link
Copy Markdown

@jGleitz jGleitz enabled auto-merge (rebase) June 10, 2025 11:34
@jGleitz jGleitz merged commit 71b1c22 into main Jun 10, 2025
7 checks passed
@jGleitz jGleitz deleted the file-system-notation branch June 10, 2025 11:34
@jGleitz

jGleitz commented Jun 10, 2025

Copy link
Copy Markdown
Owner Author

🎉 This PR is included in version 1.5.0 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

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

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants