fixes nim-lang/nimsuggest#119 outline includes (#16608)

nimsuggest outline should account for includes, now it does:
- the module prefix will be of the module doing the including
- the filename will be of the module that was included
- adds a test case for it
This commit is contained in:
Saem Ghani 2021-01-06 11:26:16 -08:00 • committed by GitHub
commit 21dfa04cbf
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 21 additions and 5 deletions

View file

@ -1,4 +1,6 @@
# import that has an include, def calls must work into and out of includes
# import that has an include:
# * def calls must work into and out of includes
# * outline calls on the import must show included members
import fixtures/minclude_import
proc go() =
@ -8,12 +10,16 @@ go()
discard """
$nimsuggest --tester $file
>def $path/tinclude.nim:5:14
>def $path/tinclude.nim:7:14
def;;skProc;;minclude_import.create;;proc (greeting: string, subject: string): Greet{.noSideEffect, gcsafe, locks: 0.};;*fixtures/minclude_include.nim;;3;;5;;"";;100
>def $path/fixtures/minclude_include.nim:3:71
def;;skType;;minclude_types.Greet;;Greet;;*fixtures/minclude_types.nim;;4;;2;;"";;100
>def $path/fixtures/minclude_include.nim:3:71
def;;skType;;minclude_types.Greet;;Greet;;*fixtures/minclude_types.nim;;4;;2;;"";;100
>outline $path/fixtures/minclude_import.nim
outline;;skProc;;minclude_import.say;;*fixtures/minclude_import.nim;;7;;5;;"";;100
outline;;skProc;;minclude_import.create;;*fixtures/minclude_include.nim;;3;;5;;"";;100
outline;;skProc;;minclude_import.say;;*fixtures/minclude_import.nim;;13;;5;;"";;100
"""
# TODO test/fix if the first `def` is not first or repeated we get no results