summaryrefslogtreecommitdiff
path: root/testsuite/tests/rts/all.T
diff options
context:
space:
mode:
authorRoland Senn <rsx@bluewin.ch>2020-04-02 14:58:12 +0200
committerMarge Bot <ben+marge-bot@smart-cactus.org>2020-04-22 23:11:51 -0400
commit48b8951e819e5d7d06ad7e168323de320d87bbd6 (patch)
tree872280292ebe4e25eb9dfb9325d01b747111cbdc /testsuite/tests/rts/all.T
parent6c9fae2342f19ab3e6ac688825a3817b23bf1fcc (diff)
downloadhaskell-48b8951e819e5d7d06ad7e168323de320d87bbd6.tar.gz
Fix tab-completion for :break (#17989)
In tab-completion for the `:break` command, only those identifiers should be shown, that are accepted in the `:break` command. Hence these identifiers must be - defined in an interpreted module - top-level - currently in scope - listed in a `ModBreaks` value as a possible breakpoint. The identifiers my be qualified or unqualified. To get all possible top-level breakpoints for tab-completeion with the correct qualification do: 1. Build the list called `pifsBreaks` of all pairs of (Identifier, module-filename) from the `ModBreaks` values. Here all identifiers are unqualified. 2. Build the list called `pifInscope` of all pairs of (Identifiers, module-filename) with identifiers from the `GlobalRdrEnv`. Take only those identifiers that are in scope and have the correct prefix. Here the identifiers may be qualified. 3. From the `pifInscope` list seclect all pairs that can be found in the `pifsBreaks` list, by comparing only the unqualified part of the identifier. The remaining identifiers can be used for tab-completion. This ensures, that we show only identifiers, that can be used in a `:break` command.
Diffstat (limited to 'testsuite/tests/rts/all.T')
0 files changed, 0 insertions, 0 deletions