
    3fi#                     b    d dl mZ d dlmZ erd dlmZ dj                         Z G d de      Zy)    )TYPE_CHECKING)TreeSitterSegmenter)Languagea  
    [
        (call target: ((identifier) @_identifier
            (#any-of? @_identifier "defmodule" "defprotocol" "defimpl"))) @module
        (call target: ((identifier) @_identifier
            (#any-of? @_identifier "def" "defmacro" "defmacrop" "defp"))) @function
        (unary_operator operator: "@" operand: (call target: ((identifier) @_identifier
              (#any-of? @_identifier "moduledoc" "typedoc""doc")))) @comment
    ]
c                   4    e Zd ZdZddZdefdZdedefdZy)	ElixirSegmenterzCode segmenter for Elixir.returnc                     ddl m}  |d      S )Nr   )get_languageelixir)tree_sitter_languagesr
   )selfr
   s     z/var/www/auto_recruiter/arenv/lib/python3.12/site-packages/langchain_community/document_loaders/parsers/language/elixir.pyr
   zElixirSegmenter.get_language   s    6H%%    c                     t         S )N)CHUNK_QUERY)r   s    r   get_chunk_queryzElixirSegmenter.get_chunk_query   s    r   textc                     d| S )Nz#  )r   r   s     r   make_line_commentz!ElixirSegmenter.make_line_comment"   s    D6{r   N)r   r   )__name__
__module____qualname____doc__r
   strr   r   r   r   r   r   r      s)    $&
 c c r   r   N)	typingr   Klangchain_community.document_loaders.parsers.language.tree_sitter_segmenterr   tree_sitterr   stripr   r   r   r   r   <module>r       s5      $	 
EG ) r   