Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
dotNET Platform
fsharp
提交
d0be5fc5
F
fsharp
项目概览
dotNET Platform
/
fsharp
11 个月 前同步成功
通知
0
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
F
fsharp
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
d0be5fc5
编写于
4月 10, 2017
作者:
V
Vasily Kirichenko
提交者:
Kevin Ransom (msft)
4月 10, 2017
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix quick info for external symbols (#2821)
上级
d66f023d
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
23 addition
and
20 deletion
+23
-20
vsintegration/src/FSharp.Editor/QuickInfo/QuickInfoProvider.fs
...egration/src/FSharp.Editor/QuickInfo/QuickInfoProvider.fs
+23
-20
未找到文件。
vsintegration/src/FSharp.Editor/QuickInfo/QuickInfoProvider.fs
浏览文件 @
d0be5fc5
...
...
@@ -189,27 +189,30 @@ module private FSharpQuickInfo =
// the textSpan designating where we want the tooltip to appear.
let
!
targetTooltipInfo
=
getTargetSymbolTooltip
()
match
findSigDeclarationResult
with
|
FSharpFindDeclResult
.
DeclNotFound
_
->
return
symbolUse
,
None
,
Some
targetTooltipInfo
|
FSharpFindDeclResult
.
DeclFound
declRange
->
if
isSignatureFile
declRange
.
FileName
then
let
!
sigTooltipInfo
=
getTooltipFromRange
(
checker
,
projectInfoManager
,
document
,
declRange
,
cancellationToken
)
// if the target was declared in a signature file, and the current file
// is not the corresponding module implementation file for that signature,
// the doccoms from the signature will overwrite any doccoms that might be
// present on the definition/implementation
let
!
result
=
match
findSigDeclarationResult
with
|
FSharpFindDeclResult
.
DeclFound
declRange
when
isSignatureFile
declRange
.
FileName
->
asyncMaybe
{
let
!
sigTooltipInfo
=
getTooltipFromRange
(
checker
,
projectInfoManager
,
document
,
declRange
,
cancellationToken
)
// if the target was declared in a signature file, and the current file
// is not the corresponding module implementation file for that signature,
// the doccoms from the signature will overwrite any doccoms that might be
// present on the definition/implementation
let
!
findImplDefinitionResult
=
checkFileResults
.
GetDeclarationLocationAlternate
(
idRange
.
StartLine
,
idRange
.
EndColumn
,
lineText
,
lexerSymbol
.
FullIsland
,
preferFlag
=
false
)
|>
liftAsync
match
findImplDefinitionResult
with
|
FSharpFindDeclResult
.
DeclNotFound
_
->
return
symbolUse
,
Some
sigTooltipInfo
,
None
|
FSharpFindDeclResult
.
DeclFound
declRange
->
let
!
implTooltipInfo
=
getTooltipFromRange
(
checker
,
projectInfoManager
,
document
,
declRange
,
cancellationToken
)
return
symbolUse
,
Some
sigTooltipInfo
,
Some
{
implTooltipInfo
with
Span
=
targetTooltipInfo
.
Span
}
}
|
_
->
async
.
Return
None
|>
liftAsync
let
!
findImplDefinitionResult
=
checkFileResults
.
GetDeclarationLocationAlternate
(
idRange
.
StartLine
,
idRange
.
EndColumn
,
lineText
,
lexerSymbol
.
FullIsland
,
preferFlag
=
false
)
|>
liftAsync
match
findImplDefinitionResult
with
|
FSharpFindDeclResult
.
DeclNotFound
_
->
return
symbolUse
,
Some
sigTooltipInfo
,
None
|
FSharpFindDeclResult
.
DeclFound
declRange
->
let
!
implTooltipInfo
=
getTooltipFromRange
(
checker
,
projectInfoManager
,
document
,
declRange
,
cancellationToken
)
return
symbolUse
,
Some
sigTooltipInfo
,
Some
{
implTooltipInfo
with
Span
=
targetTooltipInfo
.
Span
}
else
return
symbolUse
,
None
,
Some
targetTooltipInfo
return
result
|>
Option
.
defaultValue
(
symbolUse
,
None
,
Some
targetTooltipInfo
)
}
[<
ExportQuickInfoProvider
(
PredefinedQuickInfoProviderNames
.
Semantic
,
FSharpConstants
.
FSharpLanguageName
)>]
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录