docstr icon indicating copy to clipboard operation
docstr copied to clipboard

Issue when working with type annotation in Python mode

Open failable opened this issue 4 years ago • 2 comments

The auto generated docstring has some issues with type hintings in Python mode. The type of the first argument is generated as [type] and the types of the following arguments seems shifted:

def forward(
    self,
    input_ids: torch.LongTensor,
    position_ids: torch.LongTensor,
    token_type_ids: torch.LongTensor,
) -> torch.FloatTensor:
    """[summary]

    Args:
        input_ids ([type]): [description]
        position_ids (torch.LongTensor): [description]
        token_type_ids (torch.LongTensor): [description]
         (torch.LongTensor): [description] 

    Returns:
        torch.FloatTensor: [description]
    """
    input_embeddings = self.word_embeddings(input_ids)
    position_embeddings = self.position_embeddings(position_ids)
    token_type_embeddings = self.token_type_embeddings(token_type_ids)

    embeddings = input_embeddings + token_type_embeddings + position_embeddings
    embeddings = self.layer_norm(embeddings)
    embeddings = self.dropout(embeddings)

    return embeddings

failable avatar Mar 17 '21 16:03 failable

This is issue with parsing python arguments. The current python parser is pretty fragile and I would need to take a deeper look on the day. Sorry for the inconvenience!

jcs090218 avatar Mar 17 '21 16:03 jcs090218

Just to mentioned, there is another alternative ts-docstr. It's base on tree-sitter, we can now parse parameters in a much dedicated way.

jcs090218 avatar Oct 01 '22 08:10 jcs090218