Files
langchain/libs/text-splitters
Dayna Blackwell 3b9750f0a4 fix(text-splitters): remove incorrect C# and Elixir separator keywords (#37037)
## Summary

Removes two incorrect separators from `get_separators_for_language()` in
`RecursiveCharacterTextSplitter`:

- **C#**: `"\nimplements "` is a Java keyword. C# uses `:` for interface
implementation. This separator never matches valid C# source code.
- **Elixir**: `"\nwhile "` does not exist in Elixir. The language uses
recursion and `Enum.reduce_while/3` instead of while loops.

Both are dead separators that silently degrade chunking quality by
occupying positions in the separator priority list without contributing
useful split points.

## Tests

Added two targeted tests:
- `test_csharp_separators_no_java_keywords`: verifies `"\nimplements "`
is not in the C# separator list
- `test_elixir_separators_no_while`: verifies `"\nwhile "` is not in the
Elixir separator list

Existing `test_csharp_code_splitter` continues to pass (no change to
expected output since `implements` never matched valid C# code).

Full suite: 129 passed, 0 failed.

Fixes #37030
2026-04-27 13:48:19 -04:00
..
2026-01-13 01:54:11 -05:00
2026-04-24 15:04:36 -04:00

🦜✂️ LangChain Text Splitters

PyPI - Version PyPI - License PyPI - Downloads Twitter

Looking for the JS/TS version? Check out LangChain.js.

Quick Install

pip install langchain-text-splitters

🤔 What is this?

LangChain Text Splitters contains utilities for splitting into chunks a wide variety of text documents.

📖 Documentation

For full documentation, see the API reference.

📕 Releases & Versioning

See our Releases and Versioning policies.

We encourage pinning your version to a specific version in order to avoid breaking your CI when we publish new tests. We recommend upgrading to the latest version periodically to make sure you have the latest tests.

Not pinning your version will ensure you always have the latest tests, but it may also break your CI if we introduce tests that your integration doesn't pass.

💁 Contributing

As an open-source project in a rapidly developing field, we are extremely open to contributions, whether it be in the form of a new feature, improved infrastructure, or better documentation.

For detailed information on how to contribute, see the Contributing Guide.