Skip to content

highlight user frames in interactive debugger#1421

Merged
davidism merged 1 commit intomasterfrom
debugger-highlight
Dec 10, 2018
Merged

highlight user frames in interactive debugger#1421
davidism merged 1 commit intomasterfrom
debugger-highlight

Conversation

@davidism
Copy link
Copy Markdown
Member

@davidism davidism commented Dec 10, 2018

Adds a new library CSS class to frames that look like they are from built-in or installed library code. This removes the blue background from those frames, emphasizing the frames that come from the user's code. Clicking to expand the line will add the background color back so that it's easy to pick out from the surrounding context.

screen shot 2018-12-10 at 12 24 30

screen shot 2018-12-10 at 12 25 04

Library frames are detected by comparing their filename to all paths returned by sysconfig.get_paths(). Other projects like tbvaccine check against the current working directory, but for the common setup where the env is a directory under the project, this would identify installed packages as user code.

If the detection thinks all or no frames are library code, it reverts to the old behavior of highlighting everything. This could happen, for example, if a project is installed in its virtualenv without using -e.

Unfortunately, virtualenv ships its own site.py which does not set these correctly, so code that was not installed to the env's site-packages dir (built-ins, system packages) will look like user code. This doesn't happen with venv or tools like Poetry and Pipenv which use it.

Due to the issue with virtualenv, which is what tox uses, I couldn't think of a reliable test for this, so this remains "untested" for now, although manual testing showed it working as expected.

Closes #1165

@davidism davidism added this to the 0.15 milestone Dec 10, 2018
@davidism davidism merged commit 1e61b7d into master Dec 10, 2018
@davidism davidism deleted the debugger-highlight branch December 10, 2018 21:04
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Nov 13, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Highlight user code in debugger

1 participant