Ruff is a very fast linter implemented in Rust and it can act as a drop-in replacement for flake8. When running the same set of rules across all files in mozilla-central (without mozlint), flake8 takes 900 seconds whereas ruff takes 0.9 seconds. Ruff also implements rules from other popular Python linters such as pylint, isort and pyupgrade. There are even plans to implement feature parity with black in the future. Ultimately, it can become our one stop shop for all Python linting and formatting. This stack will swap out all our Python lint tools for ruff (excluding black for now). Differential Revision: https://phabricator.services.mozilla.com/D172313
32 lines
980 B
Python
32 lines
980 B
Python
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
|
|
# vim: set filetype=python:
|
|
# This Source Code Form is subject to the terms of the Mozilla Public
|
|
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
|
|
import gdb
|
|
import gdb.printing
|
|
|
|
|
|
class GeckoPrettyPrinter(object):
|
|
pp = gdb.printing.RegexpCollectionPrettyPrinter("GeckoPrettyPrinters")
|
|
|
|
def __init__(self, name, regexp):
|
|
self.name = name
|
|
self.regexp = regexp
|
|
|
|
def __call__(self, wrapped):
|
|
GeckoPrettyPrinter.pp.add_printer(self.name, self.regexp, wrapped)
|
|
return wrapped
|
|
|
|
|
|
import gdbpp.enumset # noqa: F401
|
|
import gdbpp.linkedlist # noqa: F401
|
|
import gdbpp.owningthread # noqa: F401
|
|
import gdbpp.smartptr # noqa: F401
|
|
import gdbpp.string # noqa: F401
|
|
import gdbpp.tarray # noqa: F401
|
|
import gdbpp.thashtable # noqa: F401
|
|
|
|
gdb.printing.register_pretty_printer(None, GeckoPrettyPrinter.pp)
|