Use module actual file instead of PSym.info (#19956)
After this you can do goto module from module import
This commit is contained in:
parent
e636c211b0
commit
b0b9a3e5fa
2 changed files with 25 additions and 12 deletions
|
|
@ -157,19 +157,25 @@ proc symToSuggest*(g: ModuleGraph; s: PSym, isLocal: bool, section: IdeCmd, info
|
|||
result.forth = ""
|
||||
when defined(nimsuggest) and not defined(noDocgen) and not defined(leanCompiler):
|
||||
result.doc = extractDocComment(g, s)
|
||||
let infox =
|
||||
if useSuppliedInfo or section in {ideUse, ideHighlight, ideOutline}:
|
||||
info
|
||||
else:
|
||||
s.info
|
||||
result.filePath = toFullPath(g.config, infox)
|
||||
result.line = toLinenumber(infox)
|
||||
result.column = toColumn(infox)
|
||||
if s.kind == skModule and s.ast.len != 0 and section != ideHighlight:
|
||||
result.filePath = toFullPath(g.config, s.ast[0].info)
|
||||
result.line = 1
|
||||
result.column = 0
|
||||
result.tokenLen = 0
|
||||
else:
|
||||
let infox =
|
||||
if useSuppliedInfo or section in {ideUse, ideHighlight, ideOutline}:
|
||||
info
|
||||
else:
|
||||
s.info
|
||||
result.filePath = toFullPath(g.config, infox)
|
||||
result.line = toLinenumber(infox)
|
||||
result.column = toColumn(infox)
|
||||
result.tokenLen = if section != ideHighlight:
|
||||
s.name.s.len
|
||||
else:
|
||||
getTokenLenFromSource(g.config, s.name.s, infox)
|
||||
result.version = g.config.suggestVersion
|
||||
result.tokenLen = if section != ideHighlight:
|
||||
s.name.s.len
|
||||
else:
|
||||
getTokenLenFromSource(g.config, s.name.s, infox)
|
||||
|
||||
proc `$`*(suggest: Suggest): string =
|
||||
result = $suggest.section
|
||||
|
|
|
|||
7
nimsuggest/tests/tv3_import.nim
Normal file
7
nimsuggest/tests/tv3_import.nim
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
import tv#[!]#3
|
||||
|
||||
discard """
|
||||
$nimsuggest --v3 --tester $file
|
||||
>def $1
|
||||
def skModule tv3 */tv3.nim 1 0 "" 100
|
||||
"""
|
||||
Loading…
Add table
Add a link
Reference in a new issue