neovim/neovim

View on GitHub

Showing 46 of 66 total issues

File clint.py has 1660 lines of code (exceeds 250 allowed). Consider refactoring.
Open

#!/usr/bin/env python3
#
# https://github.com/cpplint/cpplint
#
# Copyright (c) 2009 Google Inc. All rights reserved.
Severity: Major
Found in src/clint.py - About 4 days to fix

    Function CheckSpacing has a Cognitive Complexity of 64 (exceeds 5 allowed). Consider refactoring.
    Open

    def CheckSpacing(filename, clean_lines, linenum, error):
        """Checks for the correctness of various spacing issues in the code.
    
        Things we check for: spaces around operators, spaces after
        if/for/while/switch, no spaces around parens in function calls, two
    Severity: Minor
    Found in src/clint.py - About 1 day to fix

    Cognitive Complexity

    Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

    A method's cognitive complexity is based on a few simple rules:

    • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
    • Code is considered more complex for each "break in the linear flow of the code"
    • Code is considered more complex when "flow breaking structures are nested"

    Further reading

    Function CheckLanguage has a Cognitive Complexity of 58 (exceeds 5 allowed). Consider refactoring.
    Open

    def CheckLanguage(filename, clean_lines, linenum, error):
        """Checks rules from the 'C++ language rules' section of cppguide.html.
    
        Some of these rules are hard to test (function overloading, using
        uint32 inappropriately), but we do the best we can.
    Severity: Minor
    Found in src/clint.py - About 1 day to fix

    Cognitive Complexity

    Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

    A method's cognitive complexity is based on a few simple rules:

    • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
    • Code is considered more complex for each "break in the linear flow of the code"
    • Code is considered more complex when "flow breaking structures are nested"

    Further reading

    Function Update has a Cognitive Complexity of 32 (exceeds 5 allowed). Consider refactoring.
    Open

        def Update(self, clean_lines, linenum):
            """Update nesting state with current line.
    
            Args:
              clean_lines: A CleansedLines instance containing the file.
    Severity: Minor
    Found in src/clint.py - About 4 hrs to fix

    Cognitive Complexity

    Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

    A method's cognitive complexity is based on a few simple rules:

    • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
    • Code is considered more complex for each "break in the linear flow of the code"
    • Code is considered more complex when "flow breaking structures are nested"

    Further reading

    Function ParseArguments has a Cognitive Complexity of 29 (exceeds 5 allowed). Consider refactoring.
    Open

    def ParseArguments(args):
        """Parses the command line arguments.
    
        This may set the output format and verbosity level as side-effects.
    
    
    Severity: Minor
    Found in src/clint.py - About 4 hrs to fix

    Cognitive Complexity

    Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

    A method's cognitive complexity is based on a few simple rules:

    • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
    • Code is considered more complex for each "break in the linear flow of the code"
    • Code is considered more complex when "flow breaking structures are nested"

    Further reading

    Function FindPreviousMatchingAngleBracket has a Cognitive Complexity of 28 (exceeds 5 allowed). Consider refactoring.
    Open

    def FindPreviousMatchingAngleBracket(clean_lines, linenum, init_prefix):
        """Find the corresponding < that started a template.
    
        Args:
          clean_lines: A CleansedLines instance containing the file.
    Severity: Minor
    Found in src/clint.py - About 4 hrs to fix

    Cognitive Complexity

    Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

    A method's cognitive complexity is based on a few simple rules:

    • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
    • Code is considered more complex for each "break in the linear flow of the code"
    • Code is considered more complex when "flow breaking structures are nested"

    Further reading

    Function FindNextMatchingAngleBracket has a Cognitive Complexity of 28 (exceeds 5 allowed). Consider refactoring.
    Open

    def FindNextMatchingAngleBracket(clean_lines, linenum, init_suffix):
        """Find the corresponding > to close a template.
    
        Args:
          clean_lines: A CleansedLines instance containing the file.
    Severity: Minor
    Found in src/clint.py - About 4 hrs to fix

    Cognitive Complexity

    Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

    A method's cognitive complexity is based on a few simple rules:

    • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
    • Code is considered more complex for each "break in the linear flow of the code"
    • Code is considered more complex when "flow breaking structures are nested"

    Further reading

    Function exports has a Cognitive Complexity of 21 (exceeds 5 allowed). Consider refactoring.
    Open

    module.exports = async ({ github, context }) => {
      const pr_data = await github.rest.pulls.get({
        owner: context.repo.owner,
        repo: context.repo.repo,
        pull_number: context.issue.number,
    Severity: Minor
    Found in .github/scripts/reviewers_add.js - About 2 hrs to fix

    Cognitive Complexity

    Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

    A method's cognitive complexity is based on a few simple rules:

    • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
    • Code is considered more complex for each "break in the linear flow of the code"
    • Code is considered more complex when "flow breaking structures are nested"

    Further reading

    Function CheckBraces has a Cognitive Complexity of 21 (exceeds 5 allowed). Consider refactoring.
    Open

    def CheckBraces(filename, clean_lines, linenum, error):
        """Looks for misplaced braces (e.g. at the end of line).
    
        Args:
          filename: The name of the current file.
    Severity: Minor
    Found in src/clint.py - About 2 hrs to fix

    Cognitive Complexity

    Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

    A method's cognitive complexity is based on a few simple rules:

    • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
    • Code is considered more complex for each "break in the linear flow of the code"
    • Code is considered more complex when "flow breaking structures are nested"

    Further reading

    Function to_string has a Cognitive Complexity of 15 (exceeds 5 allowed). Consider refactoring.
    Open

        def to_string(self):
            do_hl = (os.getenv('NVIM_GDB_HIGHLIGHT_UGRID') and
                     os.getenv('NVIM_GDB_HIGHLIGHT_UGRID') != '0')
            grid = self.val
            height = int(grid['height'])
    Severity: Minor
    Found in contrib/gdb/nvim-gdb-pretty-printers.py - About 1 hr to fix

    Cognitive Complexity

    Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

    A method's cognitive complexity is based on a few simple rules:

    • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
    • Code is considered more complex for each "break in the linear flow of the code"
    • Code is considered more complex when "flow breaking structures are nested"

    Further reading

    Function CheckIncludes has a Cognitive Complexity of 15 (exceeds 5 allowed). Consider refactoring.
    Open

    def CheckIncludes(filename, lines, error):
        """Checks that headers only include _defs headers.
    
        Args:
          filename: The name of the C++ header file.
    Severity: Minor
    Found in src/clint.py - About 1 hr to fix

    Cognitive Complexity

    Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

    A method's cognitive complexity is based on a few simple rules:

    • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
    • Code is considered more complex for each "break in the linear flow of the code"
    • Code is considered more complex when "flow breaking structures are nested"

    Further reading

    Function _ShouldPrintError has a Cognitive Complexity of 15 (exceeds 5 allowed). Consider refactoring.
    Open

    def _ShouldPrintError(category, confidence, linenum):
        """If confidence >= verbose, category passes filter and isn't suppressed."""
    
        # There are three ways we might decide not to print an error message:
        # a "NOLINT(category)" comment appears in the source,
    Severity: Minor
    Found in src/clint.py - About 1 hr to fix

    Cognitive Complexity

    Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

    A method's cognitive complexity is based on a few simple rules:

    • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
    • Code is considered more complex for each "break in the linear flow of the code"
    • Code is considered more complex when "flow breaking structures are nested"

    Further reading

    Function UpdatePreprocessor has a Cognitive Complexity of 15 (exceeds 5 allowed). Consider refactoring.
    Open

        def UpdatePreprocessor(self, line):
            """Update preprocessor stack.
    
            We need to handle preprocessors due to classes like this:
              #ifdef SWIG
    Severity: Minor
    Found in src/clint.py - About 1 hr to fix

    Cognitive Complexity

    Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

    A method's cognitive complexity is based on a few simple rules:

    • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
    • Code is considered more complex for each "break in the linear flow of the code"
    • Code is considered more complex when "flow breaking structures are nested"

    Further reading

    Function ProcessFileData has a Cognitive Complexity of 14 (exceeds 5 allowed). Consider refactoring.
    Open

    def ProcessFileData(filename, file_extension, lines, error,
                        extra_check_functions=[]):
        """Performs lint checks and reports any errors to the given error function.
    
        Args:
    Severity: Minor
    Found in src/clint.py - About 1 hr to fix

    Cognitive Complexity

    Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

    A method's cognitive complexity is based on a few simple rules:

    • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
    • Code is considered more complex for each "break in the linear flow of the code"
    • Code is considered more complex when "flow breaking structures are nested"

    Further reading

    Function ParseNolintSuppressions has a Cognitive Complexity of 12 (exceeds 5 allowed). Consider refactoring.
    Open

    def ParseNolintSuppressions(raw_line, linenum):
        """Updates the global list of error-suppressions.
    
        Parses any NOLINT comments on the current line, updating the global
        error_suppressions store.  Reports an error if the NOLINT comment
    Severity: Minor
    Found in src/clint.py - About 1 hr to fix

    Cognitive Complexity

    Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

    A method's cognitive complexity is based on a few simple rules:

    • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
    • Code is considered more complex for each "break in the linear flow of the code"
    • Code is considered more complex when "flow breaking structures are nested"

    Further reading

    Function ProcessFile has a Cognitive Complexity of 11 (exceeds 5 allowed). Consider refactoring.
    Open

    def ProcessFile(filename, vlevel, extra_check_functions=[]):
        """Does neovim-lint on a single file.
    
        Args:
          filename: The name of the file to parse.
    Severity: Minor
    Found in src/clint.py - About 1 hr to fix

    Cognitive Complexity

    Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

    A method's cognitive complexity is based on a few simple rules:

    • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
    • Code is considered more complex for each "break in the linear flow of the code"
    • Code is considered more complex when "flow breaking structures are nested"

    Further reading

    Function CheckComment has a Cognitive Complexity of 10 (exceeds 5 allowed). Consider refactoring.
    Open

    def CheckComment(comment, filename, linenum, error):
        """Checks for common mistakes in TODO comments.
    
        Args:
          comment: The text of the comment from the line in question.
    Severity: Minor
    Found in src/clint.py - About 1 hr to fix

    Cognitive Complexity

    Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

    A method's cognitive complexity is based on a few simple rules:

    • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
    • Code is considered more complex for each "break in the linear flow of the code"
    • Code is considered more complex when "flow breaking structures are nested"

    Further reading

    Consider simplifying this complex logical expression.
    Open

                if commentend < len(line) and not line[commentend] == ' ':
                    # but some lines are exceptions -- e.g. if they're big
                    # comment delimiters like:
                    # //----------------------------------------------------------
                    # or are an empty C++ style Doxygen comment, like:
    Severity: Major
    Found in src/clint.py - About 1 hr to fix

      Avoid deeply nested control flow statements.
      Open

                          if not nesting_stack:
                              # Found matching angle bracket
                              return True
                      elif operator == ',':
      Severity: Major
      Found in src/clint.py - About 45 mins to fix

        Avoid deeply nested control flow statements.
        Open

                            if not nesting_stack:
                                # Found matching angle bracket
                                return True
                        elif operator == ',':
        Severity: Major
        Found in src/clint.py - About 45 mins to fix
          Severity
          Category
          Status
          Source
          Language