---
title: patterns | CodeWeaver Docs
description: API reference for codeweaver.engine.chunker.delimiters.patterns
url: "https://docs.knitli.com/api/engine/chunker/delimiters/patterns"
type: static
generatedAt: "2026-04-17T17:21:08.406Z"
---

# patterns
       [Open in ChatGPT](https://chatgpt.com/?q=Read%20https%3A%2F%2Fdocs.knitli.com%2Fcodeweaver%2Fapi%2Fengine%2Fchunker%2Fdelimiters%2Fpatterns%2F.%20I%20want%20to%20ask%20questions%20about%20it.)[Open in Claude](https://claude.ai/new?q=Read%20https%3A%2F%2Fdocs.knitli.com%2Fcodeweaver%2Fapi%2Fengine%2Fchunker%2Fdelimiters%2Fpatterns%2F.%20I%20want%20to%20ask%20questions%20about%20it.)[View in Markdown](/codeweaver/api/engine/chunker/delimiters/patterns.md)       [Share on LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fdocs.knitli.com%2Fcodeweaver%2Fapi%2Fengine%2Fchunker%2Fdelimiters%2Fpatterns%2F)[Share on X](https://x.com/intent/tweet?url=https%3A%2F%2Fdocs.knitli.com%2Fcodeweaver%2Fapi%2Fengine%2Fchunker%2Fdelimiters%2Fpatterns%2F&text=patterns)[Share on Threads](https://threads.net/intent/post?url=https%3A%2F%2Fdocs.knitli.com%2Fcodeweaver%2Fapi%2Fengine%2Fchunker%2Fdelimiters%2Fpatterns%2F&text=patterns)[Share on Bluesky](https://bsky.app/intent/compose?text=patterns%20https%3A%2F%2Fdocs.knitli.com%2Fcodeweaver%2Fapi%2Fengine%2Fchunker%2Fdelimiters%2Fpatterns%2F)[Share on Facebook](https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fdocs.knitli.com%2Fcodeweaver%2Fapi%2Fengine%2Fchunker%2Fdelimiters%2Fpatterns%2F)[Share on Reddit](https://reddit.com/submit?url=https%3A%2F%2Fdocs.knitli.com%2Fcodeweaver%2Fapi%2Fengine%2Fchunker%2Fdelimiters%2Fpatterns%2F&title=patterns)[Share on Hacker News](https://news.ycombinator.com/submitlink?u=https%3A%2F%2Fdocs.knitli.com%2Fcodeweaver%2Fapi%2Fengine%2Fchunker%2Fdelimiters%2Fpatterns%2F&t=patterns)[Share on Email](mailto:?subject=patterns&body=https%3A%2F%2Fdocs.knitli.com%2Fcodeweaver%2Fapi%2Fengine%2Fchunker%2Fdelimiters%2Fpatterns%2F)[Share on WhatsApp](https://wa.me/?text=patterns%20https%3A%2F%2Fdocs.knitli.com%2Fcodeweaver%2Fapi%2Fengine%2Fchunker%2Fdelimiters%2Fpatterns%2F)[Share on Telegram](https://t.me/share/url?url=https%3A%2F%2Fdocs.knitli.com%2Fcodeweaver%2Fapi%2Fengine%2Fchunker%2Fdelimiters%2Fpatterns%2F&text=patterns)
# `codeweaver.engine.chunker.delimiters.patterns`
[Section titled “codeweaver.engine.chunker.delimiters.patterns”](#codeweaverenginechunkerdelimiterspatterns)
Delimiter pattern definitions and expansion logic.

This module provides a DSL for defining reusable delimiter patterns that can be expanded into concrete delimiter definitions. Patterns allow specifying multiple start/end combinations with shared semantic properties.

Example: >>> function_pattern = DelimiterPattern( … starts=[“def”, “function”, “fn”], … ends=[”:”, ”{”, ”=>”], … kind=DelimiterKind.FUNCTION, … ) >>> delimiters = expand_pattern(function_pattern) >>> len(delimiters) 9 # 3 starts * 3 ends

## Function: `expand_pattern`
[Section titled “Function: expand_pattern”](#function-expand_pattern)

**

```
expand_pattern()
```

Expand a DelimiterPattern into concrete DelimiterDict entries.

Generates all combinations of start/end delimiters specified in the pattern, with consistent semantic properties across all combinations.

Args: pattern: The delimiter pattern to expand

Returns: List of DelimiterDict entries, one per start/end combination

Example: >>> pattern = DelimiterPattern( … starts=[“if”, “while”], ends=[”:”, “then”], kind=DelimiterKind.CONDITIONAL … ) >>> delims = expand_pattern(pattern) >>> len(delims) 4 # 2 starts * 2 ends >>> delims[0][“start”] ‘if’ >>> delims[0][“end”] ’:‘

## Function: `generate_latex_patterns`
[Section titled “Function: generate_latex_patterns”](#function-generate_latex_patterns)

**

```
generate_latex_patterns()
```

Generate LaTeX delimiter patterns for given starts and ends.

Args: starts: List of LaTeX start commands ends: List of LaTeX end commands kind: DelimiterKind for the patterns

Returns: List of DelimiterPattern instances

## Function: `kind_from_delimiter_tuple`
[Section titled “Function: kind_from_delimiter_tuple”](#function-kind_from_delimiter_tuple)

**

```
kind_from_delimiter_tuple()
```

Infer DelimiterKind from delimiter strings using patterns.

Matches the provided start/end strings against known patterns to determine the most specific DelimiterKind classification.

Args: start: Start delimiter string (optional if `delimiter` provided) end: End delimiter string (optional if `delimiter` provided) delimiter: tuple of (start, end) strings (optional if `start` and `end` provided)

## Function: `matches_pattern`
[Section titled “Function: matches_pattern”](#function-matches_pattern)

**

```
matches_pattern()
```

Test if delimiter matches a pattern.

Case-insensitive matching of delimiter strings against pattern specifications. Useful for classifying unknown delimiters or validating delimiter definitions.

Args: start: Start delimiter string to test end: End delimiter string to test pattern: Pattern to match against

Returns: True if delimiter matches pattern, False otherwise

Example: >>> pattern = DelimiterPattern( … starts=[“def”, “function”], ends=“ANY”, kind=DelimiterKind.FUNCTION … ) >>> matches_pattern(“def”, ”:”, pattern) True >>> matches_pattern(“DEF”, “end”, pattern) # case-insensitive True >>> matches_pattern(“class”, ”:”, pattern) False