code_annotations.extensions package#
Submodules#
code_annotations.extensions.base module#
Abstract and base classes to support plugins.
- class code_annotations.extensions.base.AnnotationExtension(config, echo)#
Bases:
object
Abstract base class that annotation extensions will inherit from.
- extension_name = None#
- abstract search(file_handle)#
Search for annotations in the given file.
- class code_annotations.extensions.base.SimpleRegexAnnotationExtension(config, echo)#
Bases:
AnnotationExtension
Abstract base class for languages that have comments which can be reasonably searched using regular expressions.
- comment_regex_fmt = "\n {multi_start} # start of the language-specific multi-line comment (ex. /*)\n (?P<comment> # Look for a multiline comment\n [\\d\\D]*? # capture all of the characters...\n )\n {multi_end} # until you find the end of the language-specific multi-line comment (ex. */)\n | # If you don't find any of those...\n (?P<prefixed_comment> # Look for a group of single-line comments\n (?: # Non-capture mode\n {single} # start by finding the single-line comment token (ex. //)\n .* # and capture all characters until the end of the line\n \\n? # followed by an optional carriage return\n \\ * # and some empty space\n )* # multiple times\n )\n "#
- lang_comment_definition = None#
- search(file_handle)#
Search for annotations in the given file.
- Parameters:
file_handle – Handle for the file to validate
- Returns:
List of dicts describing found annotations, or an empty list
code_annotations.extensions.javascript module#
Stevedore extension for static annotation searching in Javascript files.
- class code_annotations.extensions.javascript.JavascriptAnnotationExtension(config, echo)#
Bases:
SimpleRegexAnnotationExtension
Annotation extension for Javascript source files.
- extension_name = 'javascript'#
- lang_comment_definition = {'multi_end': '\\*/', 'multi_start': '/\\*', 'single': '//'}#
code_annotations.extensions.python module#
Stevedore extension for static annotation searching in Python files.
- class code_annotations.extensions.python.PythonAnnotationExtension(config, echo)#
Bases:
SimpleRegexAnnotationExtension
Annotation extension for Python source files.
- extension_name = 'python'#
- lang_comment_definition = {'multi_end': '"""', 'multi_start': '"""', 'single': '\\#'}#
Module contents#
Extensions used in static annotation functionality.