ctrl+shift+p filters: :st2 :st3 :win :osx :linux
Browse

Mypy​Reveal

by kylebebak ST3

Uses mypy to easily reveal type of variable under cursor, or types of all local variables

Labels mypy, python, type, check, lint

Details

Installs

  • Total 701
  • Win 221
  • Mac 229
  • Linux 251
Sep 30 Sep 29 Sep 28 Sep 27 Sep 26 Sep 25 Sep 24 Sep 23 Sep 22 Sep 21 Sep 20 Sep 19 Sep 18 Sep 17 Sep 16 Sep 15 Sep 14 Sep 13 Sep 12 Sep 11 Sep 10 Sep 9 Sep 8 Sep 7 Sep 6 Sep 5 Sep 4 Sep 3 Sep 2 Sep 1 Aug 31 Aug 30 Aug 29 Aug 28 Aug 27 Aug 26 Aug 25 Aug 24 Aug 23 Aug 22 Aug 21 Aug 20 Aug 19 Aug 18 Aug 17 Aug 16
Windows 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Mac 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
Linux 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1

Readme

Source
raw.​githubusercontent.​com

MypyReveal

A Sublime Text plugin that uses mypy to reveal the type of the variable under your cursor, or to reveal the types of all local variables, using reveal_type or reveal_locals. Read more here.

Requirements

Make sure you install mypy 0.711 or later first, and that it's in your $PATH.

Installation

Search for MypyReveal in Package Control.

Usage

Search for MypyReveal in the command palette, and run either MypyReveal: Type or MypyReveal: Locals.

Key Bindings

If you wanted to bind ctrl+t to reveal type and alt+t to reveal locals, you would insert the following into your .sublime-keymap:

{
  "keys": ["ctrl+t"],
  "command": "mypy_reveal",
  "context": [{ "key": "selector", "operator": "equal", "operand": "source.python" }]
},
{
  "keys": ["alt+t"],
  "command": "mypy_reveal",
  "args": {
    "locals": true
  },
  "context": [{ "key": "selector", "operator": "equal", "operand": "source.python" }]
},

Custom Executable

Like Sublime Linter, this plugin assumes mypy is in the $PATH available to Sublime Text. If it's not, you'll have to set your own executable path in settings.

If you want per-project executable paths, e.g. because you want mypy to have access to the packages you have installed in a virtual env, add the following to your project settings:

{
  "folders": [
    {
      "path": "..."
    }
  ],
  "settings": {
    "MypyReveal.executable": "/path/to/mypy"
  }
}

This plugin is designed to work in conjunction with the mypy Sublime Linter plugin.

If, in your project settings, you set SublimeLinter.linters.mypy.executable instead of MypyReveal.executable, MypyReveal will fall back to this setting.