A VIM-inspired filemanager for the console
This report summarizes scanner evidence for ranger/ranger, a Python project with 17,423 GitHub stars. SynthScan examined 27,611 lines of code across 142 source files, recording 786 pattern matches distributed across 16 syntactic categories. The legacy adjusted pattern signal is 52.5 (High pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Can maintainers explain intent, assumptions, and trade-offs? 293 finding(s).
Are imports declared and package/API names verified? 330 finding(s).
Are wrappers, guards, and repeated structures necessary? 200 finding(s).
Which changes need focused human review? 786 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 786 distinct pattern matches across 16 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | ranger/core/runner.py | 128 | except TypeError: | CODE |
| HIGH | ranger/core/runner.py | 282 | except Exception: # pylint: disable=broad-exception-caught | CODE |
| HIGH | ranger/core/filter_stack.py | 187 | except ValueError: | CODE |
| HIGH | ranger/core/filter_stack.py | 131 | except StopIteration: | CODE |
| HIGH | ranger/core/metadata.py | 82 | except KeyError: | CODE |
| HIGH | ranger/core/actions.py | 159 | except AttributeError: | CODE |
| HIGH | ranger/core/actions.py | 925 | except KeyError: | CODE |
| HIGH | ranger/core/actions.py | 1224 | except ImportError: | CODE |
| HIGH | ranger/core/actions.py | 1720 | except OSError: | CODE |
| HIGH | ranger/core/actions.py | 126 | except ValueError: | CODE |
| HIGH | ranger/core/actions.py | 131 | except ValueError: | CODE |
| HIGH | ranger/core/actions.py | 575 | except IndexError: | CODE |
| HIGH | ranger/core/actions.py | 1194 | except KeyError: | CODE |
| HIGH | ranger/core/fm.py | 54 | except KeyError: | CODE |
| HIGH | ranger/core/loader.py | 47 | except AttributeError: | CODE |
| HIGH | ranger/core/loader.py | 294 | except OSError: | CODE |
| HIGH | ranger/core/loader.py | 303 | except OSError: | CODE |
| HIGH | ranger/core/loader.py | 313 | except OSError: | CODE |
| HIGH | ranger/core/loader.py | 93 | except OSError: | CODE |
| HIGH | ranger/core/loader.py | 287 | except OSError: | CODE |
| HIGH | ranger/core/tab.py | 66 | except (TypeError, IndexError): | CODE |
| HIGH | ranger/core/tab.py | 74 | except (TypeError, IndexError): | CODE |
| HIGH | ranger/core/main.py | 246 | except (AttributeError, NameError): | CODE |
| HIGH | ranger/core/main.py | 223 | except Exception: # pylint: disable=broad-except | CODE |
| HIGH | ranger/config/commands.py | 947 | except ValueError: | CODE |
| HIGH | ranger/ext/signals.py | 194 | except KeyError: | CODE |
| HIGH | ranger/ext/signals.py | 200 | except IndexError: | CODE |
| HIGH | ranger/ext/direction.py | 107 | except KeyError: | CODE |
| HIGH | ranger/ext/keybinding_parser.py | 157 | except KeyError: | CODE |
| HIGH | ranger/ext/keybinding_parser.py | 161 | except IndexError: | CODE |
| HIGH | ranger/ext/shutil_generatorized.py | 132 | except AttributeError: | CODE |
| HIGH | ranger/ext/shutil_generatorized.py | 73 | except OSError: | CODE |
| HIGH | ranger/ext/shutil_generatorized.py | 77 | except NotImplementedError: | CODE |
| HIGH | ranger/ext/shutil_generatorized.py | 89 | except OSError: | CODE |
| HIGH | ranger/ext/shutil_generatorized.py | 98 | except OSError: | CODE |
| HIGH | ranger/ext/shutil_generatorized.py | 144 | except OSError: | CODE |
| HIGH | ranger/ext/shutil_generatorized.py | 26 | except OSError: | CODE |
| HIGH | ranger/ext/shutil_generatorized.py | 31 | except OSError: | CODE |
| HIGH | ranger/ext/shutil_generatorized.py | 36 | except OSError: | CODE |
| HIGH | ranger/ext/shutil_generatorized.py | 94 | except OSError: | CODE |
| HIGH | ranger/ext/shutil_generatorized.py | 162 | except NameError: | CODE |
| HIGH | ranger/ext/accumulator.py | 47 | except (TypeError, AttributeError): | CODE |
| HIGH | ranger/ext/rifle.py | 560 | except ImportError: | CODE |
| HIGH | ranger/ext/rifle.py | 358 | except OSError: | CODE |
| HIGH | ranger/ext/rifle.py | 123 | except Exception: # pylint: disable=broad-except | CODE |
| HIGH | ranger/container/tags.py | 49 | except KeyError: | CODE |
| HIGH | ranger/container/tags.py | 67 | except KeyError: | CODE |
| HIGH | ranger/container/directory.py | 631 | except AttributeError: | CODE |
| HIGH | ranger/container/directory.py | 676 | except AttributeError: | CODE |
| HIGH | ranger/container/history.py | 35 | except ValueError: | CODE |
| HIGH | ranger/container/history.py | 51 | except ValueError: | CODE |
| HIGH | ranger/gui/color.py | 51 | except curses.error: | CODE |
| HIGH | ranger/gui/displayable.py | 154 | except TypeError: | CODE |
| HIGH | ranger/gui/displayable.py | 323 | except ValueError: | CODE |
| HIGH | ranger/gui/displayable.py | 335 | except AttributeError: | CODE |
| HIGH | ranger/gui/displayable.py | 189 | except curses.error: | CODE |
| HIGH | ranger/gui/displayable.py | 206 | except curses.error: | CODE |
| HIGH | ranger/gui/ui.py | 115 | except curses.error: | CODE |
| HIGH | ranger/gui/ui.py | 120 | except curses.error: | CODE |
| HIGH | ranger/gui/ui.py | 393 | except UnicodeError: | CODE |
| 39 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | setup.py | 5 | CODE | |
| LOW | setup.py | 5 | CODE | |
| LOW | setup.py | 5 | CODE | |
| LOW | ranger.py | 26 | CODE | |
| LOW | ranger.py | 26 | CODE | |
| LOW | ranger.py | 26 | CODE | |
| LOW | ranger/__init__.py | 11 | CODE | |
| LOW | ranger/__init__.py | 11 | CODE | |
| LOW | ranger/__init__.py | 11 | CODE | |
| LOW | ranger/__init__.py | 66 | CODE | |
| LOW | ranger/core/runner.py | 25 | CODE | |
| LOW | ranger/core/runner.py | 25 | CODE | |
| LOW | ranger/core/runner.py | 25 | CODE | |
| LOW | ranger/core/filter_stack.py | 6 | CODE | |
| LOW | ranger/core/filter_stack.py | 6 | CODE | |
| LOW | ranger/core/filter_stack.py | 6 | CODE | |
| LOW | ranger/core/metadata.py | 14 | CODE | |
| LOW | ranger/core/metadata.py | 14 | CODE | |
| LOW | ranger/core/metadata.py | 14 | CODE | |
| LOW | ranger/core/actions.py | 6 | CODE | |
| LOW | ranger/core/actions.py | 6 | CODE | |
| LOW | ranger/core/actions.py | 6 | CODE | |
| LOW | ranger/core/fm.py | 6 | CODE | |
| LOW | ranger/core/fm.py | 6 | CODE | |
| LOW | ranger/core/fm.py | 6 | CODE | |
| LOW | ranger/core/shared.py | 6 | CODE | |
| LOW | ranger/core/shared.py | 6 | CODE | |
| LOW | ranger/core/shared.py | 6 | CODE | |
| LOW | ranger/core/loader.py | 4 | CODE | |
| LOW | ranger/core/loader.py | 4 | CODE | |
| LOW | ranger/core/loader.py | 4 | CODE | |
| LOW | ranger/core/linemode.py | 6 | CODE | |
| LOW | ranger/core/linemode.py | 6 | CODE | |
| LOW | ranger/core/linemode.py | 6 | CODE | |
| LOW | ranger/core/tab.py | 4 | CODE | |
| LOW | ranger/core/tab.py | 4 | CODE | |
| LOW | ranger/core/tab.py | 4 | CODE | |
| LOW | ranger/core/main.py | 6 | CODE | |
| LOW | ranger/core/main.py | 6 | CODE | |
| LOW | ranger/core/main.py | 6 | CODE | |
| LOW | ranger/config/commands_sample.py | 10 | CODE | |
| LOW | ranger/config/commands_sample.py | 10 | CODE | |
| LOW | ranger/config/commands_sample.py | 10 | CODE | |
| LOW | ranger/config/commands.py | 94 | CODE | |
| LOW | ranger/config/commands.py | 94 | CODE | |
| LOW | ranger/config/commands.py | 94 | CODE | |
| LOW | ranger/config/commands.py | 503 | CODE | |
| LOW | ranger/config/commands.py | 1090 | CODE | |
| LOW | ranger/ext/human_readable.py | 4 | CODE | |
| LOW | ranger/ext/human_readable.py | 4 | CODE | |
| LOW | ranger/ext/human_readable.py | 4 | CODE | |
| LOW | ranger/ext/signals.py | 67 | CODE | |
| LOW | ranger/ext/signals.py | 67 | CODE | |
| LOW | ranger/ext/signals.py | 67 | CODE | |
| LOW | ranger/ext/direction.py | 21 | CODE | |
| LOW | ranger/ext/direction.py | 21 | CODE | |
| LOW | ranger/ext/direction.py | 21 | CODE | |
| LOW | ranger/ext/keybinding_parser.py | 4 | CODE | |
| LOW | ranger/ext/keybinding_parser.py | 4 | CODE | |
| LOW | ranger/ext/keybinding_parser.py | 4 | CODE | |
| 270 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | setup.py | 2 | # This file is part of ranger, the console file manager. | COMMENT |
| MEDIUM | ranger.py | 2 | # This file is part of ranger, the console file manager. (coding: utf-8) | COMMENT |
| MEDIUM | ranger/__init__.py | 1 | # This file is part of ranger, the console file manager. | COMMENT |
| MEDIUM | ranger/core/runner.py | 1 | # This file is part of ranger, the console file manager. | COMMENT |
| MEDIUM | ranger/core/runner.py | 4 | """This module is an abstract layer over subprocess.Popen | STRING |
| MEDIUM | ranger/core/filter_stack.py | 2 | # This file is part of ranger, the console file manager. | COMMENT |
| MEDIUM | ranger/core/metadata.py | 1 | # This file is part of ranger, the console file manager. | COMMENT |
| MEDIUM | ranger/core/actions.py | 1 | # This file is part of ranger, the console file manager. | COMMENT |
| MEDIUM | ranger/core/fm.py | 1 | # This file is part of ranger, the console file manager. | COMMENT |
| MEDIUM | ranger/core/shared.py | 1 | # This file is part of ranger, the console file manager. | COMMENT |
| MEDIUM | ranger/core/loader.py | 1 | # This file is part of ranger, the console file manager. | COMMENT |
| MEDIUM | ranger/core/linemode.py | 2 | # This file is part of ranger, the console file manager. | COMMENT |
| MEDIUM | ranger/core/tab.py | 1 | # This file is part of ranger, the console file manager. | COMMENT |
| MEDIUM | ranger/core/main.py | 1 | # This file is part of ranger, the console file manager. | COMMENT |
| MEDIUM | ranger/core/main.py | 467 | # Create the file if it doesn't exist. | STRING |
| MEDIUM⚡ | ranger/config/commands.py | 2 | # This file is part of ranger, the console file manager. | COMMENT |
| MEDIUM⚡ | ranger/config/commands.py | 11 | # This file contains ranger's commands. | COMMENT |
| MEDIUM | ranger/ext/human_readable.py | 1 | # This file is part of ranger, the console file manager. | COMMENT |
| MEDIUM | ranger/ext/signals.py | 1 | # This file is part of ranger, the console file manager. | COMMENT |
| MEDIUM | ranger/ext/direction.py | 1 | # This file is part of ranger, the console file manager. | COMMENT |
| MEDIUM | ranger/ext/direction.py | 4 | """This class provides convenient methods for movement operations. | STRING |
| MEDIUM | ranger/ext/keybinding_parser.py | 1 | # This file is part of ranger, the console file manager. | COMMENT |
| MEDIUM | ranger/ext/relative_symlink.py | 1 | # This file is part of ranger, the console file manager. | COMMENT |
| MEDIUM | ranger/ext/popen23.py | 1 | # This file is part of ranger, the console file manager. | COMMENT |
| MEDIUM | ranger/ext/popen_forked.py | 1 | # This file is part of ranger, the console file manager. | COMMENT |
| MEDIUM | ranger/ext/openstruct.py | 1 | # This file is part of ranger, the console file manager. | COMMENT |
| MEDIUM | ranger/ext/posix_signals.py | 2 | # This file is part of ranger, the console file manager. | COMMENT |
| MEDIUM | ranger/ext/hash.py | 1 | # This file is part of ranger, the console file manager. | COMMENT |
| MEDIUM | ranger/ext/cached_function.py | 1 | # This file is part of ranger, the console file manager. | COMMENT |
| MEDIUM | ranger/ext/curses_interrupt_handler.py | 1 | # This file is part of ranger, the console file manager. | COMMENT |
| MEDIUM | ranger/ext/get_executables.py | 1 | # This file is part of ranger, the console file manager. | COMMENT |
| MEDIUM | ranger/ext/accumulator.py | 1 | # This file is part of ranger, the console file manager. | COMMENT |
| MEDIUM | ranger/ext/widestring.py | 2 | # This file is part of ranger, the console file manager. | COMMENT |
| MEDIUM | ranger/ext/spawn.py | 1 | # This file is part of ranger, the console file manager. | COMMENT |
| MEDIUM | ranger/ext/shell_escape.py | 1 | # This file is part of ranger, the console file manager. | COMMENT |
| MEDIUM | ranger/ext/rifle.py | 2 | # This file is part of ranger, the console file manager. | COMMENT |
| MEDIUM | ranger/ext/which.py | 1 | # This file is part of ranger, the console file manager. | COMMENT |
| MEDIUM | ranger/ext/img_display.py | 1 | # This file is part of ranger, the console file manager. | COMMENT |
| MEDIUM | ranger/ext/iter_tools.py | 1 | # This file is part of ranger, the console file manager. | COMMENT |
| MEDIUM | ranger/ext/safe_path.py | 1 | # This file is part of ranger, the console file manager. | COMMENT |
| MEDIUM | ranger/ext/mount_path.py | 1 | # This file is part of ranger, the console file manager. | COMMENT |
| MEDIUM | ranger/ext/lazy_property.py | 1 | # This file is part of ranger, the console file manager. | COMMENT |
| MEDIUM | ranger/ext/abc.py | 1 | # This file is part of ranger, the console file manager. | COMMENT |
| MEDIUM | ranger/ext/vcs/git.py | 1 | # This file is part of ranger, the console file manager. | COMMENT |
| MEDIUM | ranger/ext/vcs/svn.py | 1 | # This file is part of ranger, the console file manager. | COMMENT |
| MEDIUM | ranger/ext/vcs/bzr.py | 1 | # This file is part of ranger, the console file manager. | COMMENT |
| MEDIUM | ranger/ext/vcs/__init__.py | 1 | # This file is part of ranger, the console file manager. | COMMENT |
| MEDIUM | ranger/ext/vcs/vcs.py | 1 | # This file is part of ranger, the console file manager. | COMMENT |
| MEDIUM | ranger/ext/vcs/hg.py | 1 | # This file is part of ranger, the console file manager. | COMMENT |
| MEDIUM | ranger/container/tags.py | 1 | # This file is part of ranger, the console file manager. | COMMENT |
| MEDIUM | ranger/container/fsobject.py | 1 | # This file is part of ranger, the console file manager. | COMMENT |
| MEDIUM | ranger/container/file.py | 1 | # This file is part of ranger, the console file manager. | COMMENT |
| MEDIUM | ranger/container/settings.py | 1 | # This file is part of ranger, the console file manager. | COMMENT |
| MEDIUM | ranger/container/bookmarks.py | 1 | # This file is part of ranger, the console file manager. | COMMENT |
| MEDIUM | ranger/container/directory.py | 1 | # This file is part of ranger, the console file manager. | COMMENT |
| MEDIUM | ranger/container/history.py | 1 | # This file is part of ranger, the console file manager. | COMMENT |
| MEDIUM | ranger/colorschemes/snow.py | 1 | # This file is part of ranger, the console file manager. | COMMENT |
| MEDIUM | ranger/colorschemes/solarized.py | 1 | # This file is part of ranger, the console file manager. | COMMENT |
| MEDIUM | ranger/colorschemes/default.py | 1 | # This file is part of ranger, the console file manager. | COMMENT |
| MEDIUM | ranger/colorschemes/jungle.py | 1 | # This file is part of ranger, the console file manager. | COMMENT |
| 36 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | ranger.py | 5 | # ===================== | COMMENT |
| MEDIUM | ranger/core/actions.py | 52 | # -------------------------- | COMMENT |
| MEDIUM | ranger/core/actions.py | 54 | # -------------------------- | COMMENT |
| MEDIUM | ranger/core/actions.py | 464 | # -------------------------- | COMMENT |
| MEDIUM | ranger/core/actions.py | 466 | # -------------------------- | COMMENT |
| MEDIUM | ranger/core/actions.py | 653 | # -------------------------- | COMMENT |
| MEDIUM | ranger/core/actions.py | 655 | # -------------------------- | COMMENT |
| MEDIUM | ranger/core/actions.py | 788 | # -------------------------- | COMMENT |
| MEDIUM | ranger/core/actions.py | 790 | # -------------------------- | COMMENT |
| MEDIUM | ranger/core/actions.py | 860 | # -------------------------- | COMMENT |
| MEDIUM | ranger/core/actions.py | 862 | # -------------------------- | COMMENT |
| MEDIUM | ranger/core/actions.py | 911 | # -------------------------- | COMMENT |
| MEDIUM | ranger/core/actions.py | 913 | # -------------------------- | COMMENT |
| MEDIUM | ranger/core/actions.py | 966 | # -------------------------- | COMMENT |
| MEDIUM | ranger/core/actions.py | 968 | # -------------------------- | COMMENT |
| MEDIUM | ranger/core/actions.py | 1035 | # -------------------------- | COMMENT |
| MEDIUM | ranger/core/actions.py | 1037 | # -------------------------- | COMMENT |
| MEDIUM | ranger/core/actions.py | 1242 | # -------------------------- | COMMENT |
| MEDIUM | ranger/core/actions.py | 1244 | # -------------------------- | COMMENT |
| MEDIUM | ranger/core/actions.py | 1479 | # -------------------------- | COMMENT |
| MEDIUM | ranger/core/actions.py | 1481 | # -------------------------- | COMMENT |
| MEDIUM | ranger/core/actions.py | 1557 | # -------------------------- | COMMENT |
| MEDIUM | ranger/core/actions.py | 1559 | # -------------------------- | COMMENT |
| MEDIUM | ranger/config/commands_sample.py | 8 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | ranger/config/commands.py | 4 | # =================================================================== | COMMENT |
| MEDIUM⚡ | ranger/config/commands.py | 10 | # =================================================================== | COMMENT |
| MEDIUM | ranger/config/commands.py | 27 | # =================================================================== | COMMENT |
| MEDIUM | ranger/config/commands.py | 48 | # =================================================================== | COMMENT |
| MEDIUM | ranger/config/commands.py | 62 | # =================================================================== | COMMENT |
| MEDIUM | ranger/config/commands.py | 90 | # =================================================================== | COMMENT |
| MEDIUM | ranger/config/commands.py | 1909 | # -------------------------------- | COMMENT |
| MEDIUM | ranger/config/commands.py | 1954 | # -------------------------------- | COMMENT |
| MEDIUM⚡ | doc/config/commands.py | 4 | # =================================================================== | COMMENT |
| MEDIUM⚡ | doc/config/commands.py | 10 | # =================================================================== | COMMENT |
| MEDIUM | doc/config/commands.py | 27 | # =================================================================== | COMMENT |
| MEDIUM | doc/config/commands.py | 48 | # =================================================================== | COMMENT |
| MEDIUM | doc/config/commands.py | 62 | # =================================================================== | COMMENT |
| MEDIUM | doc/config/commands.py | 90 | # =================================================================== | COMMENT |
| MEDIUM | doc/config/commands.py | 1909 | # -------------------------------- | COMMENT |
| MEDIUM | doc/config/commands.py | 1954 | # -------------------------------- | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | ranger/core/filter_stack.py | 120 | CODE | |
| LOW | ranger/core/actions.py | 279 | CODE | |
| LOW | ranger/core/actions.py | 369 | CODE | |
| LOW | ranger/core/actions.py | 391 | CODE | |
| LOW | ranger/core/actions.py | 468 | CODE | |
| LOW | ranger/core/actions.py | 616 | CODE | |
| LOW | ranger/core/actions.py | 636 | CODE | |
| LOW | ranger/core/actions.py | 691 | CODE | |
| LOW | ranger/core/actions.py | 724 | CODE | |
| LOW | ranger/core/actions.py | 803 | CODE | |
| LOW | ranger/core/actions.py | 1056 | CODE | |
| LOW | ranger/core/actions.py | 1417 | CODE | |
| LOW | ranger/core/actions.py | 1570 | CODE | |
| LOW | ranger/core/actions.py | 1679 | CODE | |
| LOW | ranger/core/actions.py | 1144 | CODE | |
| LOW | ranger/core/fm.py | 488 | CODE | |
| LOW | ranger/core/loader.py | 97 | CODE | |
| LOW | ranger/core/loader.py | 195 | CODE | |
| LOW | ranger/core/main.py | 30 | CODE | |
| LOW | ranger/core/main.py | 387 | CODE | |
| LOW | ranger/config/commands.py | 358 | CODE | |
| LOW | ranger/config/commands.py | 1247 | CODE | |
| LOW | ranger/config/commands.py | 1371 | CODE | |
| LOW | ranger/config/commands.py | 1601 | CODE | |
| LOW | ranger/config/commands.py | 1800 | CODE | |
| LOW | ranger/config/commands.py | 1372 | CODE | |
| LOW | ranger/ext/signals.py | 203 | CODE | |
| LOW | ranger/ext/signals.py | 249 | CODE | |
| LOW | ranger/ext/keybinding_parser.py | 76 | CODE | |
| LOW | ranger/ext/keybinding_parser.py | 255 | CODE | |
| LOW | ranger/ext/shutil_generatorized.py | 136 | CODE | |
| LOW | ranger/ext/shutil_generatorized.py | 189 | CODE | |
| LOW | ranger/ext/hash.py | 15 | CODE | |
| LOW | ranger/ext/rifle.py | 573 | CODE | |
| LOW | ranger/ext/rifle.py | 266 | CODE | |
| LOW | ranger/ext/rifle.py | 329 | CODE | |
| LOW | ranger/ext/rifle.py | 400 | CODE | |
| LOW | ranger/ext/rifle.py | 93 | CODE | |
| LOW | ranger/ext/img_display.py | 396 | CODE | |
| LOW | ranger/ext/img_display.py | 412 | CODE | |
| LOW | ranger/ext/vcs/vcs.py | 275 | CODE | |
| LOW | ranger/ext/vcs/vcs.py | 344 | CODE | |
| LOW | ranger/ext/vcs/vcs.py | 415 | CODE | |
| LOW | ranger/ext/vcs/vcs.py | 440 | CODE | |
| LOW | ranger/ext/vcs/vcs.py | 474 | CODE | |
| LOW | ranger/container/fsobject.py | 280 | CODE | |
| LOW | ranger/container/settings.py | 159 | CODE | |
| LOW | ranger/container/settings.py | 292 | CODE | |
| LOW | ranger/container/bookmarks.py | 171 | CODE | |
| LOW | ranger/container/bookmarks.py | 223 | CODE | |
| LOW | ranger/container/directory.py | 278 | CODE | |
| LOW | ranger/container/directory.py | 338 | CODE | |
| LOW | ranger/container/directory.py | 494 | CODE | |
| LOW | ranger/container/directory.py | 565 | CODE | |
| LOW | ranger/colorschemes/snow.py | 12 | CODE | |
| LOW | ranger/colorschemes/solarized.py | 21 | CODE | |
| LOW | ranger/colorschemes/default.py | 17 | CODE | |
| LOW | ranger/gui/ui.py | 235 | CODE | |
| LOW | ranger/gui/ui.py | 364 | CODE | |
| LOW | ranger/gui/ui.py | 484 | CODE | |
| 44 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | ranger/core/fm.py | 201 | # This can lead to a race condition where both FM and the | COMMENT |
| LOW | ranger/config/commands_sample.py | 1 | # This is a sample commands.py. You can add your own commands here. | COMMENT |
| LOW | ranger/config/commands.py | 1 | # -*- coding: utf-8 -*- | COMMENT |
| LOW | ranger/config/commands.py | 21 | # `ranger --copy-config=commands_full' and make your modifications, don't | COMMENT |
| LOW | ranger/config/commands.py | 41 | # | COMMENT |
| LOW | ranger/config/commands.py | 61 | # | COMMENT |
| LOW | ranger/config/commands.py | 81 | # | COMMENT |
| LOW | ranger/ext/img_display.py | 901 | # start_y += ((box[1] - image.height) // 2) // self.pix_col | COMMENT |
| LOW | ranger/gui/widgets/console.py | 61 | ) | COMMENT |
| LOW | ranger/data/scope.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | ranger/data/scope.sh | 161 | orientation="$( identify -format '%[EXIF:Orientation]\n' -- "${FILE_PATH}" )" | COMMENT |
| LOW | ranger/data/scope.sh | 181 | ## Audio | COMMENT |
| LOW | ranger/data/scope.sh | 221 | convert -- "${preview_png}" "${IMAGE_CACHE_PATH}" \ | COMMENT |
| LOW | ranger/data/scope.sh | 241 | # { [ "$tar" ] && fn=$(tar --list --file "${FILE_PATH}"); } || \ | COMMENT |
| LOW | ranger/data/scope.sh | 261 | # "${IMAGE_CACHE_PATH}" && exit 6 | COMMENT |
| LOW | tests/pylint/python3.py | 1 | # Copyright (c) 2014-2020 Claudiu Popa <pcmanticore@gmail.com> | COMMENT |
| LOW | tests/pylint/python3.py | 21 | # Copyright (c) 2018 ssolanki <sushobhitsolanki@gmail.com> | COMMENT |
| LOW | tests/pylint/python3.py | 1241 | # The above statement looking for calls of the form: | COMMENT |
| LOW | tests/pylint/test_py2_compat.py | 181 | # with self.assertAddsMessages( | COMMENT |
| LOW | tests/pylint/test_py2_compat.py | 201 | # """) | COMMENT |
| LOW | tests/pylint/test_py2_compat.py | 221 | # """) | COMMENT |
| LOW | tests/pylint/py2_compat.py | 21 | # Each message has a code, a message that the user will see, | COMMENT |
| LOW | examples/shell_automatic_cd.sh | 21 | COMMENT | |
| LOW | examples/plugin_pmount_dynamic.py | 1 | # Tested with ranger 1.7.2 | COMMENT |
| LOW | examples/rifle_sxiv.sh | 1 | #!/bin/sh | COMMENT |
| LOW | examples/shell_subshell_notice.sh | 1 | # shellcheck shell=sh | COMMENT |
| LOW | doc/config/scope.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | doc/config/scope.sh | 161 | orientation="$( identify -format '%[EXIF:Orientation]\n' -- "${FILE_PATH}" )" | COMMENT |
| LOW | doc/config/scope.sh | 181 | ## Audio | COMMENT |
| LOW | doc/config/scope.sh | 221 | convert -- "${preview_png}" "${IMAGE_CACHE_PATH}" \ | COMMENT |
| LOW | doc/config/scope.sh | 241 | # { [ "$tar" ] && fn=$(tar --list --file "${FILE_PATH}"); } || \ | COMMENT |
| LOW | doc/config/scope.sh | 261 | # "${IMAGE_CACHE_PATH}" && exit 6 | COMMENT |
| LOW | doc/config/commands.py | 1 | # -*- coding: utf-8 -*- | COMMENT |
| LOW | doc/config/commands.py | 21 | # `ranger --copy-config=commands_full' and make your modifications, don't | COMMENT |
| LOW | doc/config/commands.py | 41 | # | COMMENT |
| LOW | doc/config/commands.py | 61 | # | COMMENT |
| LOW | doc/config/commands.py | 81 | # | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | ranger/core/actions.py | 1309 | def _try_tabs_renumber_handler(self, *args, **kwargs): | CODE |
| LOW | ranger/core/tab.py | 36 | def _set_thisfile_from_signal(self, signal): | CODE |
| LOW | ranger/core/tab.py | 110 | def assign_cursor_positions_for_subdirs(self): # pylint: disable=invalid-name | CODE |
| LOW | ranger/config/commands.py | 849 | def _trash_files_catch_arg_list_error(self, files): | CODE |
| LOW | ranger/ext/curses_interrupt_handler.py | 39 | def install_interrupt_handler(): | CODE |
| LOW | ranger/ext/curses_interrupt_handler.py | 44 | def restore_interrupt_handler(): | CODE |
| LOW | ranger/ext/rifle.py | 206 | def hook_command_preprocessing(command): | CODE |
| LOW | ranger/ext/rifle.py | 210 | def hook_command_postprocessing(command): | CODE |
| LOW | ranger/container/fsobject.py | 184 | def basename_without_extension(self): | CODE |
| LOW | ranger/container/bookmarks.py | 213 | def enable_saving_backtick_bookmark(self, boolean): | CODE |
| LOW | ranger/container/directory.py | 50 | def sort_unicode_wrapper_string(old_sort_func): | CODE |
| LOW | ranger/container/directory.py | 56 | def sort_unicode_wrapper_list(old_sort_func): | CODE |
| LOW | ranger/gui/colorscheme.py | 85 | def _colorscheme_name_to_class(signal): # pylint: disable=too-many-branches | CODE |
| LOW | ranger/gui/widgets/browsercolumn.py | 453 | def _get_index_of_selected_file(self): | CODE |
| LOW | ranger/gui/widgets/view_miller.py | 86 | def _request_clear_if_has_borders(self): | CODE |
| LOW | ranger/api/commands.py | 60 | def load_commands_from_module(self, module): | CODE |
| LOW | ranger/api/commands.py | 68 | def load_commands_from_object(self, obj, filtr): | CODE |
| LOW | tests/manpage_completion_test.py | 47 | def find_undocumented_settings(): | CODE |
| LOW | tests/ranger/ext/test_shutil_generatorized.py | 17 | def test_move_symlink_into_target_directory(tmpdir): | CODE |
| LOW | tests/ranger/ext/test_shutil_generatorized.py | 38 | def test_move_symlink_into_symlink_to_directory(tmpdir): | CODE |
| LOW | tests/ranger/ext/test_shutil_generatorized.py | 103 | def test_move_symlink_into_unrelated_directory(tmpdir): | CODE |
| LOW | tests/ranger/ext/test_shutil_generatorized.py | 120 | def test_move_broken_symlink_into_directory(tmpdir): | CODE |
| LOW | tests/ranger/ext/test_shutil_generatorized.py | 135 | def test_move_symlink_to_file_into_directory(tmpdir): | CODE |
| LOW | tests/ranger/container/test_container.py | 94 | def test_history_without_max_length(): | CODE |
| LOW | tests/ranger/container/test_tags.py | 40 | def test_update_path_renames_single_tag(tmpdir): | CODE |
| LOW | tests/ranger/container/test_tags.py | 57 | def test_update_path_renames_directory_prefix(tmpdir): | CODE |
| LOW | tests/ranger/container/test_tags.py | 79 | def test_update_path_noop_does_not_rewrite_file(tmpdir): | CODE |
| LOW | tests/ranger/container/test_tags.py | 92 | def test_update_path_does_not_rename_partial_prefix_match(tmpdir): | CODE |
| LOW | tests/ranger/gui/test_ui.py | 18 | def test_handle_multiplexer_missing_screen_executable(monkeypatch): | CODE |
| LOW | tests/pylint/python3.py | 1164 | def _is_constant_string_or_name(node): | CODE |
| LOW | tests/pylint/python3.py | 1174 | def _has_only_n_positional_args(node, number_of_args): | CODE |
| LOW | tests/pylint/test_py2_compat.py | 50 | def test_print_without_import(self): | STRING |
| LOW | tests/pylint/test_py2_compat.py | 109 | def test_implicit_format_spec(self): | STRING |
| LOW | tests/pylint/test_py2_compat.py | 176 | # def test_division_without_import(self): | STRING |
| LOW | tests/pylint/test_py2_compat.py | 189 | # def test_division_with_import(self): | COMMENT |
| LOW | doc/config/commands.py | 849 | def _trash_files_catch_arg_list_error(self, files): | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | ranger/core/runner.py | 137 | except Exception as ex: # pylint: disable=broad-except | CODE |
| LOW | ranger/core/runner.py | 143 | except Exception as ex: # pylint: disable=broad-except | CODE |
| LOW | ranger/core/runner.py | 282 | except Exception: # pylint: disable=broad-exception-caught | CODE |
| MEDIUM | ranger/core/runner.py | 98 | def filepaths(self): | CODE |
| MEDIUM | ranger/core/actions.py | 248 | def anypath_macro(i, char): | CODE |
| LOW | ranger/core/actions.py | 273 | except Exception as ex: # pylint: disable=broad-except | CODE |
| LOW | ranger/core/actions.py | 386 | except Exception as ex: # pylint: disable=broad-except | CODE |
| LOW | ranger/core/fm.py | 305 | except Exception: # pylint: disable=broad-except | CODE |
| LOW | ranger/core/fm.py | 311 | except Exception: # pylint: disable=broad-except | CODE |
| LOW | ranger/core/loader.py | 466 | except Exception as ex: # pylint: disable=broad-except | CODE |
| LOW | ranger/core/main.py | 217 | except Exception: # pylint: disable=broad-except | CODE |
| LOW | ranger/core/main.py | 223 | except Exception: # pylint: disable=broad-except | CODE |
| LOW | ranger/core/main.py | 364 | except Exception as ex: # pylint: disable=broad-except | STRING |
| LOW | ranger/core/main.py | 484 | except Exception as ex: # pylint: disable=broad-except | STRING |
| LOW | ranger/config/commands.py | 1110 | except Exception as err: # pylint: disable=broad-except | CODE |
| LOW | ranger/ext/rifle.py | 123 | except Exception: # pylint: disable=broad-except | CODE |
| LOW | ranger/ext/img_display.py | 860 | except Exception as err: | CODE |
| LOW | ranger/ext/vcs/vcs.py | 497 | except Exception as ex: # pylint: disable=broad-except | CODE |
| LOW | ranger/gui/widgets/pager.py | 123 | except Exception as ex: # pylint: disable=broad-except | CODE |
| LOW | doc/config/commands.py | 1110 | except Exception as err: # pylint: disable=broad-except | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | ranger/core/tab.py | 189 | # is required so that you can use enter_dir when switching tabs | COMMENT |
| MEDIUM | ranger/config/commands_sample.py | 7 | # A simple command for demonstration purposes follows. | COMMENT |
| MEDIUM | ranger/config/commands_sample.py | 26 | A sample command for demonstration purposes that opens a file in an editor. | STRING |
| LOW | ranger/config/commands.py | 25 | # But make sure you update your configs when you update ranger. | COMMENT |
| LOW | doc/config/commands.py | 25 | # But make sure you update your configs when you update ranger. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | ranger/config/commands.py | 49 | # Commands have certain attributes and methods that facilitate parsing of | COMMENT |
| MEDIUM | ranger/gui/curses_shortcuts.py | 21 | """This class defines shortcuts to facilitate operations with curses. | STRING |
| LOW | examples/plugin_hello_world.py | 23 | # simply return the return value of the previous hook to be safe. | COMMENT |
| MEDIUM | doc/config/commands.py | 49 | # Commands have certain attributes and methods that facilitate parsing of | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | ranger/container/directory.py | 381 | # size has changed and I'll add a "?". | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | ranger/ext/hash.py | 31 | # Read the file in ~64KiB chunks (multiple of sha256's block | COMMENT |
| LOW | ranger/ext/get_executables.py | 26 | # Check if the current environment is Microsoft WSL instead of native Linux | COMMENT |
| LOW | ranger/ext/rifle.py | 155 | # Check if stdin (file descriptor 0), stdout (fd 1) and | COMMENT |
| LOW | ranger/gui/widgets/browsercolumn.py | 349 | # Check if current line has not already computed and cached | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | ranger/ext/rifle.py | 638 | # TODO: implement interactive asking for file type? | COMMENT |
| LOW | ranger/ext/img_display.py | 835 | # TODO: implement a wrapper class for Imagemagick process to | COMMENT |
| LOW | ranger/ext/img_display.py | 904 | # TODO: implement z compression | COMMENT |
| LOW | ranger/ext/img_display.py | 945 | # TODO: implement this using the actual x, y, since the protocol | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | ranger/ext/shutil_generatorized.py | 12 | __all__ = ["copyfileobj", "copyfileobj_range", "copyfile", "copystat", "copy2", "BLOCK_SIZE", | CODE |
| LOW | ranger/ext/vcs/__init__.py | 10 | __all__ = ['Vcs', 'VcsError', 'VcsThread'] | CODE |
| LOW | ranger/api/__init__.py | 12 | __all__ = ['ranger', 'LinemodeBase', 'hook_init', 'hook_ready', 'register_linemode'] | CODE |
| LOW | ranger/api/commands.py | 18 | __all__ = ['Command', 'LinemodeBase', 'hook_init', 'hook_ready', 'register_linemode'] # COMPAT | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | ranger/core/runner.py | 73 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | ranger/ext/signals.py | 27 | >>> def test_function(signal): | STRING |