Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. TodoSniff.php

function TodoSniff::process

Processes this sniff, when one of its tokens is encountered.

Parameters

\PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.:

int $stackPtr The position of the current token: in the stack passed in $tokens.

Return value

void

Overrides Sniff::process

File

vendor/squizlabs/php_codesniffer/src/Standards/Generic/Sniffs/Commenting/TodoSniff.php, line 51

Class

TodoSniff

Namespace

PHP_CodeSniffer\Standards\Generic\Sniffs\Commenting

Code

public function process(File $phpcsFile, $stackPtr) {
    $tokens = $phpcsFile->getTokens();
    $content = $tokens[$stackPtr]['content'];
    $matches = [];
    preg_match('/(?:\\A|[^\\p{L}]+)todo([^\\p{L}]+(.*)|\\Z)/ui', $content, $matches);
    if (empty($matches) === false) {
        // Clear whitespace and some common characters not required at
        // the end of a to-do message to make the warning more informative.
        $type = 'CommentFound';
        $todoMessage = trim($matches[1]);
        $todoMessage = trim($todoMessage, '-:[](). ');
        $error = 'Comment refers to a TODO task';
        $data = [
            $todoMessage,
        ];
        if ($todoMessage !== '') {
            $type = 'TaskFound';
            $error .= ' "%s"';
        }
        $phpcsFile->addWarning($error, $stackPtr, $type, $data);
    }
}
RSS feed
Powered by Drupal