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 837
  • Win 278
  • Mac 264
  • Linux 295
Mar 30 Mar 29 Mar 28 Mar 27 Mar 26 Mar 25 Mar 24 Mar 23 Mar 22 Mar 21 Mar 20 Mar 19 Mar 18 Mar 17 Mar 16 Mar 15 Mar 14 Mar 13 Mar 12 Mar 11 Mar 10 Mar 9 Mar 8 Mar 7 Mar 6 Mar 5 Mar 4 Mar 3 Mar 2 Mar 1 Feb 28 Feb 27 Feb 26 Feb 25 Feb 24 Feb 23 Feb 22 Feb 21 Feb 20 Feb 19 Feb 18 Feb 17 Feb 16 Feb 15 Feb 14
Windows 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
Mac 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Linux 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0

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.