diff options
author | Florian Bruhin <me@the-compiler.org> | 2020-07-23 11:21:04 +0200 |
---|---|---|
committer | Florian Bruhin <me@the-compiler.org> | 2020-07-23 11:21:04 +0200 |
commit | 1daa863218623fd0ea14f6a00d983cc109445ac7 (patch) | |
tree | 97dccc4cfe4708fbf04a01ffd661bc99449b1e57 | |
parent | a9c8f9270b21f66850987560364e6189a9fd0253 (diff) | |
download | qutebrowser-1daa863218623fd0ea14f6a00d983cc109445ac7.tar.gz qutebrowser-1daa863218623fd0ea14f6a00d983cc109445ac7.zip |
Add yamllint
-rw-r--r-- | .codecov.yml | 8 | ||||
-rw-r--r-- | .github/workflows/ci.yml | 67 | ||||
-rw-r--r-- | .github/workflows/recompile-requirements.yml | 34 | ||||
-rw-r--r-- | .yamllint | 18 | ||||
-rw-r--r-- | doc/help/settings.asciidoc | 6 | ||||
-rw-r--r-- | misc/requirements/requirements-yamllint.txt | 5 | ||||
-rw-r--r-- | misc/requirements/requirements-yamllint.txt-raw | 1 | ||||
-rw-r--r-- | qutebrowser/config/configdata.yml | 107 | ||||
-rw-r--r-- | qutebrowser/javascript/.eslintrc.yaml | 86 | ||||
-rw-r--r-- | scripts/dev/ci/problemmatchers.py | 22 | ||||
-rw-r--r-- | tox.ini | 7 |
11 files changed, 217 insertions, 144 deletions
diff --git a/.codecov.yml b/.codecov.yml index 47e3c919c..8646cac9a 100644 --- a/.codecov.yml +++ b/.codecov.yml @@ -1,7 +1,7 @@ coverage: status: - project: off - patch: off - changes: off + project: false + patch: false + changes: false -comment: off +comment: false diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5a1243819..6874d7d97 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -23,6 +23,7 @@ jobs: - testenv: eslint - testenv: shellcheck args: "-f gcc" # For problem matchers + - testenv: yamllint steps: - uses: actions/checkout@v2 - uses: actions/cache@v2 @@ -183,22 +184,22 @@ jobs: timeout-minutes: 30 runs-on: ubuntu-latest steps: - - name: Checkout repository - uses: actions/checkout@v2 - with: - # We must fetch at least the immediate parents so that if this is - # a pull request then we can checkout the head. - fetch-depth: 2 - # If this run was triggered by a pull request event, then checkout - # the head of the pull request instead of the merge commit. - - run: git checkout HEAD^2 - if: ${{ github.event_name == 'pull_request' }} - - name: Initialize CodeQL - uses: github/codeql-action/init@v1 - with: - languages: javascript, python - - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v1 + - name: Checkout repository + uses: actions/checkout@v2 + with: + # We must fetch at least the immediate parents so that if this is + # a pull request then we can checkout the head. + fetch-depth: 2 + # If this run was triggered by a pull request event, then checkout + # the head of the pull request instead of the merge commit. + - run: git checkout HEAD^2 + if: ${{ github.event_name == 'pull_request' }} + - name: Initialize CodeQL + uses: github/codeql-action/init@v1 + with: + languages: javascript, python + - name: Perform CodeQL Analysis + uses: github/codeql-action/analyze@v1 irc: timeout-minutes: 2 @@ -207,20 +208,20 @@ jobs: needs: [linters, tests, tests-docker, codeql] if: "always() && github.repository_owner == 'qutebrowser'" steps: - - name: Send success IRC notification - uses: Gottox/irc-message-action@v1 - if: "needs.linters.result == 'success' && needs.tests.result == 'success' && needs.tests-docker.result == 'success' && needs.codeql.result == 'success'" - with: - server: chat.freenode.net - channel: '#qutebrowser-dev' - nickname: qutebrowser-bot - message: "[${{ github.workflow }}] \u00033Success:\u0003 ${{ github.ref }} https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }} (@${{ github.actor }})" - - name: Send non-success IRC notification - uses: Gottox/irc-message-action@v1 - if: "needs.linters.result != 'success' || needs.tests.result != 'success' || needs.tests-docker.result != 'success' || needs.codeql.result != 'success'" - with: - server: chat.freenode.net - channel: '#qutebrowser-dev' - nickname: qutebrowser-bot - message: "[${{ github.workflow }}] \u00034FAIL:\u0003 ${{ github.ref }} https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }} (@${{ github.actor }})\n - linters: ${{ needs.linters.result }}, tests: ${{ needs.tests.result }}, tests-docker: ${{ needs.tests-docker.result }}, codeql: ${{ needs.codeql.result }}" + - name: Send success IRC notification + uses: Gottox/irc-message-action@v1 + if: "needs.linters.result == 'success' && needs.tests.result == 'success' && needs.tests-docker.result == 'success' && needs.codeql.result == 'success'" + with: + server: chat.freenode.net + channel: '#qutebrowser-dev' + nickname: qutebrowser-bot + message: "[${{ github.workflow }}] \u00033Success:\u0003 ${{ github.ref }} https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }} (@${{ github.actor }})" + - name: Send non-success IRC notification + uses: Gottox/irc-message-action@v1 + if: "needs.linters.result != 'success' || needs.tests.result != 'success' || needs.tests-docker.result != 'success' || needs.codeql.result != 'success'" + with: + server: chat.freenode.net + channel: '#qutebrowser-dev' + nickname: qutebrowser-bot + message: "[${{ github.workflow }}] \u00034FAIL:\u0003 ${{ github.ref }} https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }} (@${{ github.actor }})\n + linters: ${{ needs.linters.result }}, tests: ${{ needs.tests.result }}, tests-docker: ${{ needs.tests-docker.result }}, codeql: ${{ needs.codeql.result }}" diff --git a/.github/workflows/recompile-requirements.yml b/.github/workflows/recompile-requirements.yml index eed0e980c..73254d854 100644 --- a/.github/workflows/recompile-requirements.yml +++ b/.github/workflows/recompile-requirements.yml @@ -59,20 +59,20 @@ jobs: needs: [update] if: "always() && github.repository == 'qutebrowser/qutebrowser'" steps: - - name: Send success IRC notification - uses: Gottox/irc-message-action@v1 - if: "needs.update.result == 'success'" - with: - server: chat.freenode.net - channel: '#qutebrowser-dev' - nickname: qutebrowser-bot - message: "[${{ github.workflow }}] \u00033Success:\u0003 ${{ github.ref }} https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }} (@${{ github.actor }})" - - name: Send non-success IRC notification - uses: Gottox/irc-message-action@v1 - if: "needs.update.result != 'success'" - with: - server: chat.freenode.net - channel: '#qutebrowser-dev' - nickname: qutebrowser-bot - message: "[${{ github.workflow }}] \u00034FAIL:\u0003 ${{ github.ref }} https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }} (@${{ github.actor }})\n - linters: ${{ needs.linters.result }}, tests: ${{ needs.tests.result }}, tests-docker: ${{ needs.tests-docker.result }}, codeql: ${{ needs.codeql.result }}" + - name: Send success IRC notification + uses: Gottox/irc-message-action@v1 + if: "needs.update.result == 'success'" + with: + server: chat.freenode.net + channel: '#qutebrowser-dev' + nickname: qutebrowser-bot + message: "[${{ github.workflow }}] \u00033Success:\u0003 ${{ github.ref }} https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }} (@${{ github.actor }})" + - name: Send non-success IRC notification + uses: Gottox/irc-message-action@v1 + if: "needs.update.result != 'success'" + with: + server: chat.freenode.net + channel: '#qutebrowser-dev' + nickname: qutebrowser-bot + message: "[${{ github.workflow }}] \u00034FAIL:\u0003 ${{ github.ref }} https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }} (@${{ github.actor }})\n + linters: ${{ needs.linters.result }}, tests: ${{ needs.tests.result }}, tests-docker: ${{ needs.tests-docker.result }}, codeql: ${{ needs.codeql.result }}" diff --git a/.yamllint b/.yamllint new file mode 100644 index 000000000..638c16210 --- /dev/null +++ b/.yamllint @@ -0,0 +1,18 @@ +extends: default + +ignore: | + /.venv/ + /.tox/ + /build/ + /dist/ + +rules: + document-start: disable + line-length: + ignore: | + /.github/*.yml + /.github/workflows/*.yml + truthy: + # on: ... + ignore: | + /.github/workflows/*.yml diff --git a/doc/help/settings.asciidoc b/doc/help/settings.asciidoc index 437b089d2..511401c33 100644 --- a/doc/help/settings.asciidoc +++ b/doc/help/settings.asciidoc @@ -2119,7 +2119,8 @@ The following placeholders are defined: with QtWebEngine). * `{qt_key}`: "Qt" for QtWebKit, "QtWebEngine" for QtWebEngine. * `{qt_version}`: The underlying Qt version. -* `{upstream_browser_key}`: "Version" for QtWebKit, "Chrome" for QtWebEngine. +* `{upstream_browser_key}`: "Version" for QtWebKit, "Chrome" for + QtWebEngine. * `{upstream_browser_version}`: The corresponding Safari/Chrome version. * `{qutebrowser_version}`: The currently running qutebrowser version. @@ -4021,7 +4022,8 @@ The following placeholders are defined: * `{current_title}`: Title of the current web page. * `{title_sep}`: The string ` - ` if a title is set, empty otherwise. * `{index}`: Index of this tab. -* `{aligned_index}`: Index of this tab padded with spaces to have the same width. +* `{aligned_index}`: Index of this tab padded with spaces to have the same + width. * `{id}`: Internal tab ID of this tab. * `{scroll_pos}`: Page scroll position. * `{host}`: Host of the current web page. diff --git a/misc/requirements/requirements-yamllint.txt b/misc/requirements/requirements-yamllint.txt new file mode 100644 index 000000000..0ea42bf7c --- /dev/null +++ b/misc/requirements/requirements-yamllint.txt @@ -0,0 +1,5 @@ +# This file is automatically generated by scripts/dev/recompile_requirements.py + +pathspec==0.8.0 +PyYAML==5.3.1 +yamllint==1.24.2 diff --git a/misc/requirements/requirements-yamllint.txt-raw b/misc/requirements/requirements-yamllint.txt-raw new file mode 100644 index 000000000..b2c729ca4 --- /dev/null +++ b/misc/requirements/requirements-yamllint.txt-raw @@ -0,0 +1 @@ +yamllint diff --git a/qutebrowser/config/configdata.yml b/qutebrowser/config/configdata.yml index cf7ba65f9..4b7d23182 100644 --- a/qutebrowser/config/configdata.yml +++ b/qutebrowser/config/configdata.yml @@ -45,18 +45,20 @@ search.ignore_case: search.incremental: type: Bool - default: True - desc: Find text on a page incrementally, renewing the search for each typed character. + default: true + desc: >- + Find text on a page incrementally, renewing the search for each typed + character. search.wrap: type: Bool - default: True + default: true backend: QtWebEngine: Qt 5.14 QtWebKit: true desc: >- - Wrap around at the top and bottom of the page when advancing through text matches - using `:search-next` and `:search-prev`. + Wrap around at the top and bottom of the page when advancing through text + matches using `:search-next` and `:search-prev`. new_instance_open_target: type: @@ -589,7 +591,8 @@ content.headers.user_agent: with QtWebEngine). * `{qt_key}`: "Qt" for QtWebKit, "QtWebEngine" for QtWebEngine. * `{qt_version}`: The underlying Qt version. - * `{upstream_browser_key}`: "Version" for QtWebKit, "Chrome" for QtWebEngine. + * `{upstream_browser_key}`: "Version" for QtWebKit, "Chrome" for + QtWebEngine. * `{upstream_browser_version}`: The corresponding Safari/Chrome version. * `{qutebrowser_version}`: The currently running qutebrowser version. @@ -869,7 +872,7 @@ content.user_stylesheets: type: name: ListOrValue valtype: File - none_ok: True + none_ok: true default: [] desc: List of user stylesheet filenames to use. @@ -880,7 +883,6 @@ content.webgl: desc: Enable WebGL. content.webrtc_ip_handling_policy: - default: all-interfaces type: name: String valid_values: @@ -1215,8 +1217,8 @@ hints.find_implementation: type: name: String valid_values: - - javascript: Better but slower - - python: Slightly worse but faster + - javascript: Better but slower + - python: Slightly worse but faster desc: Which implementation to use to find elements to hint. hints.hide_unmatched_rapid_hints: @@ -1361,7 +1363,7 @@ hints.leave_on_load: input.escape_quits_reporter: type: Bool - default: True + default: true desc: Allow Escape to quit the crash reporter. input.forward_unbound_keys: @@ -1369,9 +1371,9 @@ input.forward_unbound_keys: type: name: String valid_values: - - all: "Forward all unbound keys." - - auto: "Forward unbound non-alphanumeric keys." - - none: "Don't forward any keys." + - all: "Forward all unbound keys." + - auto: "Forward unbound non-alphanumeric keys." + - none: "Don't forward any keys." desc: Which unbound keys to forward to the webview in normal mode. input.insert_mode.auto_load: @@ -1608,9 +1610,9 @@ statusbar.show: type: name: String valid_values: - - always: Always show the statusbar. - - never: Always hide the statusbar. - - in-mode: Show the statusbar when in modes other than normal mode. + - always: Always show the statusbar. + - never: Always hide the statusbar. + - in-mode: Show the statusbar when in modes other than normal mode. desc: When to show the statusbar. statusbar.padding: @@ -1636,7 +1638,8 @@ statusbar.widgets: - url: "Current page URL." - scroll: "Percentage of the current page position like `10%`." - scroll_raw: "Raw percentage of the current page position like `10`." - - history: "Display an arrow when possible to go back/forward in history." + - history: "Display an arrow when possible to go back/forward in + history." - tabs: "Current active tab, e.g. `2`." - keypress: "Display pressed keys when composing a vi command." - progress: "Progress bar for the current page loading." @@ -1751,7 +1754,7 @@ tabs.mode_on_change: valid_values: - persist: "Retain the current mode." - restore: "Restore previously saved mode." - - normal: "Always revert to normal mode." + - normal: "Always revert to normal mode." desc: When switching tabs, what input mode is applied. tabs.position: @@ -1769,10 +1772,10 @@ tabs.show: type: name: String valid_values: - - always: Always show the tab bar. - - never: Always hide the tab bar. - - multiple: Hide the tab bar if only one tab is open. - - switching: Show the tab bar when switching tabs. + - always: Always show the tab bar. + - never: Always hide the tab bar. + - multiple: Hide the tab bar if only one tab is open. + - switching: Show the tab bar when switching tabs. desc: When to show the tab bar. tabs.show_switching_delay: @@ -1822,7 +1825,8 @@ tabs.title.format: * `{current_title}`: Title of the current web page. * `{title_sep}`: The string ` - ` if a title is set, empty otherwise. * `{index}`: Index of this tab. - * `{aligned_index}`: Index of this tab padded with spaces to have the same width. + * `{aligned_index}`: Index of this tab padded with spaces to have the same + width. * `{id}`: Internal tab ID of this tab. * `{scroll_pos}`: Page scroll position. * `{host}`: Host of the current web page. @@ -1874,11 +1878,13 @@ tabs.min_width: minval: -1 maxval: maxint desc: >- - Minimum width (in pixels) of tabs (-1 for the default minimum size behavior). + Minimum width (in pixels) of tabs (-1 for the default minimum size + behavior). This setting only applies when tabs are horizontal. - This setting does not apply to pinned tabs, unless `tabs.pinned.shrink` is False. + This setting does not apply to pinned tabs, unless `tabs.pinned.shrink` is + False. tabs.max_width: default: -1 @@ -1928,9 +1934,9 @@ tabs.pinned.shrink: desc: Shrink pinned tabs down to their contents. tabs.pinned.frozen: - type: Bool - default: True - desc: Force pinned tabs to stay at fixed URL. + type: Bool + default: true + desc: Force pinned tabs to stay at fixed URL. tabs.undo_stack_size: default: 100 @@ -1971,7 +1977,8 @@ url.auto_search: - naive: Use simple/naive check. - dns: Use DNS requests (might be slow!). - never: Never search automatically. - - schemeless: Always search automatically unless URL explicitly contains a scheme. + - schemeless: Always search automatically unless URL explicitly contains + a scheme. default: naive desc: What search to start when something else than a URL is entered. @@ -1994,7 +2001,8 @@ url.incdec_segments: url.open_base_url: type: Bool default: false - desc: Open base URL of the searchengine if a searchengine shortcut is invoked without parameters. + desc: Open base URL of the searchengine if a searchengine shortcut is invoked + without parameters. url.searchengines: default: @@ -2743,7 +2751,8 @@ colors.webpage.darkmode.policy.images: WARNING: On Qt 5.15.0, this setting can cause frequent renderer process crashes due to a - https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/304211[bug in Qt]. + https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/304211[bug + in Qt]. restart: true backend: QtWebEngine: Qt 5.14 @@ -2837,7 +2846,7 @@ fonts.default_family: type: name: ListOrValue valtype: Font - none_ok: True + none_ok: true desc: >- Default font families to use. @@ -3214,10 +3223,14 @@ bindings.default: gD: tab-give q: record-macro "@": run-macro - tsh: config-cycle -p -t -u *://{url:host}/* content.javascript.enabled ;; reload - tSh: config-cycle -p -u *://{url:host}/* content.javascript.enabled ;; reload - tsH: config-cycle -p -t -u *://*.{url:host}/* content.javascript.enabled ;; reload - tSH: config-cycle -p -u *://*.{url:host}/* content.javascript.enabled ;; reload + tsh: config-cycle -p -t -u *://{url:host}/* content.javascript.enabled + ;; reload + tSh: config-cycle -p -u *://{url:host}/* content.javascript.enabled + ;; reload + tsH: config-cycle -p -t -u *://*.{url:host}/* content.javascript.enabled + ;; reload + tSH: config-cycle -p -u *://*.{url:host}/* content.javascript.enabled + ;; reload tsu: config-cycle -p -t -u {url} content.javascript.enabled ;; reload tSu: config-cycle -p -u {url} content.javascript.enabled ;; reload tph: config-cycle -p -t -u *://{url:host}/* content.plugins ;; reload @@ -3232,12 +3245,18 @@ bindings.default: tIH: config-cycle -p -u *://*.{url:host}/* content.images ;; reload tiu: config-cycle -p -t -u {url} content.images ;; reload tIu: config-cycle -p -u {url} content.images ;; reload - tch: config-cycle -p -t -u *://{url:host}/* content.cookies.accept all no-3rdparty never ;; reload - tCh: config-cycle -p -u *://{url:host}/* content.cookies.accept all no-3rdparty never ;; reload - tcH: config-cycle -p -t -u *://*.{url:host}/* content.cookies.accept all no-3rdparty never ;; reload - tCH: config-cycle -p -u *://*.{url:host}/* content.cookies.accept all no-3rdparty never ;; reload - tcu: config-cycle -p -t -u {url} content.cookies.accept all no-3rdparty never ;; reload - tCu: config-cycle -p -u {url} content.cookies.accept all no-3rdparty never ;; reload + tch: config-cycle -p -t -u *://{url:host}/* content.cookies.accept + all no-3rdparty never ;; reload + tCh: config-cycle -p -u *://{url:host}/* content.cookies.accept + all no-3rdparty never ;; reload + tcH: config-cycle -p -t -u *://*.{url:host}/* content.cookies.accept + all no-3rdparty never ;; reload + tCH: config-cycle -p -u *://*.{url:host}/* content.cookies.accept + all no-3rdparty never ;; reload + tcu: config-cycle -p -t -u {url} content.cookies.accept + all no-3rdparty never ;; reload + tCu: config-cycle -p -u {url} content.cookies.accept + all no-3rdparty never ;; reload insert: <Ctrl-E>: open-editor <Shift-Ins>: insert-text -- {primary} @@ -3466,6 +3485,6 @@ logging.level.ram: logging.level.console: default: info type: LogLevel - desc: >- + desc: >- Level for console (stdout/stderr) logs. Ignored if the `--loglevel` or `--debug` CLI flags are used. diff --git a/qutebrowser/javascript/.eslintrc.yaml b/qutebrowser/javascript/.eslintrc.yaml index 23456e801..cbb8e17c0 100644 --- a/qutebrowser/javascript/.eslintrc.yaml +++ b/qutebrowser/javascript/.eslintrc.yaml @@ -20,46 +20,46 @@ extends: "eslint:all" rules: - strict: ["error", "global"] - one-var: "off" - padded-blocks: ["error", "never"] - space-before-function-paren: ["error", "never"] - no-underscore-dangle: "off" - camelcase: "off" - require-jsdoc: "off" - func-style: ["error", "declaration"] - init-declarations: "off" - no-plusplus: "off" - no-extra-parens: off - id-length: ["error", {"exceptions": ["i", "k", "x", "y"]}] - object-shorthand: "off" - max-statements: ["error", {"max": 40}] - quotes: ["error", "double", {"avoidEscape": true}] - object-property-newline: ["error", {"allowMultiplePropertiesPerLine": true}] - comma-dangle: ["error", "always-multiline"] - no-magic-numbers: "off" - no-undefined: "off" - wrap-iife: ["error", "inside"] - func-names: "off" - sort-keys: "off" - no-warning-comments: "off" - max-len: ["error", {"ignoreUrls": true}] - capitalized-comments: "off" - prefer-destructuring: "off" - line-comment-position: "off" - no-inline-comments: "off" - array-bracket-newline: "off" - array-element-newline: "off" - no-multi-spaces: ["error", {"ignoreEOLComments": true}] - function-paren-newline: "off" - multiline-comment-style: "off" - no-bitwise: "off" - no-ternary: "off" - max-lines: "off" - multiline-ternary: ["error", "always-multiline"] - max-lines-per-function: "off" - require-unicode-regexp: "off" - max-params: "off" - prefer-named-capture-group: "off" - function-call-argument-newline: "off" - no-negated-condition: "off" + strict: ["error", "global"] + one-var: "off" + padded-blocks: ["error", "never"] + space-before-function-paren: ["error", "never"] + no-underscore-dangle: "off" + camelcase: "off" + require-jsdoc: "off" + func-style: ["error", "declaration"] + init-declarations: "off" + no-plusplus: "off" + no-extra-parens: "off" + id-length: ["error", {"exceptions": ["i", "k", "x", "y"]}] + object-shorthand: "off" + max-statements: ["error", {"max": 40}] + quotes: ["error", "double", {"avoidEscape": true}] + object-property-newline: ["error", {"allowMultiplePropertiesPerLine": true}] + comma-dangle: ["error", "always-multiline"] + no-magic-numbers: "off" + no-undefined: "off" + wrap-iife: ["error", "inside"] + func-names: "off" + sort-keys: "off" + no-warning-comments: "off" + max-len: ["error", {"ignoreUrls": true}] + capitalized-comments: "off" + prefer-destructuring: "off" + line-comment-position: "off" + no-inline-comments: "off" + array-bracket-newline: "off" + array-element-newline: "off" + no-multi-spaces: ["error", {"ignoreEOLComments": true}] + function-paren-newline: "off" + multiline-comment-style: "off" + no-bitwise: "off" + no-ternary: "off" + max-lines: "off" + multiline-ternary: ["error", "always-multiline"] + max-lines-per-function: "off" + require-unicode-regexp: "off" + max-params: "off" + prefer-named-capture-group: "off" + function-call-argument-newline: "off" + no-negated-condition: "off" diff --git a/scripts/dev/ci/problemmatchers.py b/scripts/dev/ci/problemmatchers.py index 32da86ebd..0c62b6c36 100644 --- a/scripts/dev/ci/problemmatchers.py +++ b/scripts/dev/ci/problemmatchers.py @@ -49,6 +49,26 @@ MATCHERS = { }, ], + "yamllint": [ + { + "pattern": [ + { + "regexp": r"^\033\[4m([^\033]+)\033\[0m$", + "file": 1, + }, + { + "regexp": r"^ \033\[2m(\d+):(\d+)\033\[0m \033\[3[13]m([^\033]+)\033\[0m +([^\033]*)\033\[2m\(([^)]+)\)\033\[0m$", + "line": 1, + "column": 2, + "severity": 3, + "message": 4, + "code": 5, + "loop": True, + }, + ], + }, + ], + # filename.py:313: unused function 'i_am_never_used' (60% confidence) "vulture": [ { @@ -160,7 +180,7 @@ MATCHERS = { }, ], }, - ] + ], } @@ -206,6 +206,13 @@ deps = commands = {envpython} -m mypy qutebrowser tests {posargs} +[testenv:yamllint] +basepython = {env:PYTHON:python3} +pip_version = pip +deps = -r{toxinidir}/misc/requirements/requirements-yamllint.txt +commands = + {envpython} -m yamllint -f colored --strict . {posargs} + [testenv:mypy-diff] basepython = {env:PYTHON:python3} pip_version = pip |