eric7.QScintilla.DocstringGenerator.BaseDocstringGenerator

Module implementing a docstring generator base class.

Global Attributes

None

Classes

BaseDocstringGenerator Class implementing a docstring generator base class.
DocstringMenuForEnterOnly Class implementing a special menu reacting to the enter/return keys only.
FunctionInfo Class implementing an object to store function information.

Functions

getIndentStr Function to get the indentation of a text.


BaseDocstringGenerator

Class implementing a docstring generator base class.

Derived from

None

Class Attributes

None

Class Methods

None

Methods

BaseDocstringGenerator Constructor
_generateDocstringList Protected method to generate type specific docstrings based on the extracted function information.
getDocstringType Public method to determine the docstring type to be generated.
hasFunctionDefinition Public method to test, if the cursor is right below a function definition.
insertDocstring Public method to insert a docstring for the function at the cursor position.
insertDocstringFromShortcut Public method to insert a docstring for the function at the cursor position initiated via a keyboard shortcut.
isDocstringIntro Public function to test, if the line up to the cursor position might be introducing a docstring.
isFunctionStart Public method to test, if a text is the start of a function or method definition.

Static Methods

None

BaseDocstringGenerator (Constructor)

BaseDocstringGenerator(editor)

Constructor

editor (Editor)
reference to the editor widget

BaseDocstringGenerator._generateDocstringList

_generateDocstringList(functionInfo, docstringType)

Protected method to generate type specific docstrings based on the extracted function information.

functionInfo (FunctionInfo)
reference to the function info object
docstringType (str)
kind of docstring to be generated
Return:
list of docstring lines
Return Type:
str

BaseDocstringGenerator.getDocstringType

getDocstringType()

Public method to determine the docstring type to be generated.

Return:
docstring type (one of 'ericdoc', 'numpydoc', 'googledoc', 'sphinxdoc')
Return Type:
str

BaseDocstringGenerator.hasFunctionDefinition

hasFunctionDefinition(cursorPosition)

Public method to test, if the cursor is right below a function definition.

cursorPosition (tuple of (int, int))
current cursor position (line and column) (unused)
Return:
flag indicating cursor is right below a function definition
Return Type:
bool

BaseDocstringGenerator.insertDocstring

insertDocstring(cursorPosition, fromStart=True)

Public method to insert a docstring for the function at the cursor position.

cursorPosition (tuple of (int, int))
position of the cursor (line and index) (unused)
fromStart (bool)
flag indicating that the editor text cursor is placed on the line starting the function definition (unused)

BaseDocstringGenerator.insertDocstringFromShortcut

insertDocstringFromShortcut(cursorPosition)

Public method to insert a docstring for the function at the cursor position initiated via a keyboard shortcut.

cursorPosition (tuple of (int, int))
position of the cursor (line and index) (unused)

BaseDocstringGenerator.isDocstringIntro

isDocstringIntro(cursorPosition)

Public function to test, if the line up to the cursor position might be introducing a docstring.

cursorPosition (tuple of (int, int))
current cursor position (line and column) (unused)
Return:
flag indicating a potential start of a docstring
Return Type:
bool

BaseDocstringGenerator.isFunctionStart

isFunctionStart(text)

Public method to test, if a text is the start of a function or method definition.

text (str)
line of text to be tested (unused)
Return:
flag indicating that the given text starts a function or method definition (always False)
Return Type:
bool
Up


DocstringMenuForEnterOnly

Class implementing a special menu reacting to the enter/return keys only.

If a keyboard input is not the "enter key", the menu is closed and the input is inserted to the code editor.

Derived from

QMenu

Class Attributes

None

Class Methods

None

Methods

DocstringMenuForEnterOnly Constructor
keyPressEvent Protected method to handle key press events.

Static Methods

None

DocstringMenuForEnterOnly (Constructor)

DocstringMenuForEnterOnly(editor)

Constructor

editor (Editor)
reference to the editor

DocstringMenuForEnterOnly.keyPressEvent

keyPressEvent(evt)

Protected method to handle key press events.

evt (QKeyEvent)
reference to the key press event object
Up


FunctionInfo

Class implementing an object to store function information.

Methods to extract the relevant information need to be implemented in language specific subclasses.

Derived from

None

Class Attributes

None

Class Methods

None

Methods

FunctionInfo Constructor
parseBody Public method to parse the function body text.
parseDefinition Public method to parse the function definition text.

Static Methods

None

FunctionInfo (Constructor)

FunctionInfo()

Constructor

FunctionInfo.parseBody

parseBody(text)

Public method to parse the function body text.

Note: This method should be overwritten in subclasses.

text (str)
function body text

FunctionInfo.parseDefinition

parseDefinition(text, quote, quoteReplace)

Public method to parse the function definition text.

Note: This method should be overwritten in subclasses.

text (str)
text containing the function definition
quote (str)
quote string to be replaced
quoteReplace (str)
quote string to replace the original
Up


getIndentStr

getIndentStr(text)

Function to get the indentation of a text.

text (str)
text to extract indentation from
Return:
indentation string
Return Type:
str
Up