Skip to main content

Finds comments in source code in different programming languages

Project description

rtmigo / commie.python

Actions Status PyPI status PyPI version shields.io PyPI license PyPI pyversions

Usage

from pathlib import Path
import commie

# in this example we'll parse a Go source file
sourceCode=Path("/path/to/mycode.go").read_text()

for comment in commie.iter_comments_go(sourceCode):

  # comment code: "/* sample */"
  print("Comment inner text:", comment.text_span.extract(sourceCode))
  print("Comment text location:", comment.text_span.start, comment.text_span.end)

  # comment text: " sample "
  print("Comment code:", comment.markup_span.extract(sourceCode))
  print("Comment code location:", comment.markup_span.start, comment.markup_span.end)

Parsers

Method Works for
commie.iter_comments_c C99+, C++, Objective-C, C#, Java
commie.iter_comments_js JavaScript, Dart
commie.iter_comments_go Go
commie.iter_comments_ruby Ruby
commie.iter_comments_python Python
commie.iter_comments_shell Bash, Sh
commie.iter_comments_html HTML, XML, SGML
commie.iter_comments_css CSS

Forked from comment_parser

Motivation:

comment_parser commie
Returned only a line number Returns positions where the comment starts and ends. Just like regular string search
Returned only the text of a comment Respects markup as well, making it possible to remove or replace the entire comment
Depends on python-magic requiring an optional installation of binaries Does not have this dependency

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

commie-0.0.2.tar.gz (10.4 kB view hashes)

Uploaded Source

Built Distribution

commie-0.0.2-py3-none-any.whl (19.7 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page