1- using Microsoft . Extensions . Logging ;
1+ using System . Linq ;
2+ using System . Security . Cryptography . Xml ;
3+ using Microsoft . Extensions . Logging ;
24using OmniSharp . Extensions . LanguageServer . Protocol . Client . Capabilities ;
35using OmniSharp . Extensions . LanguageServer . Protocol . Document ;
46using OmniSharp . Extensions . LanguageServer . Protocol . Models ;
@@ -27,7 +29,7 @@ public SignatureHelpHandler(
2729 this . _workspace = workspace ;
2830 }
2931
30- public override async Task < SignatureHelp ? > Handle ( SignatureHelpParams request , CancellationToken cancellationToken )
32+ public override async Task < SignatureHelp ? > Handle ( SignatureHelpParams request , CancellationToken token )
3133 {
3234 var uri = request . TextDocument . Uri ;
3335 Position position = request . Position ;
@@ -42,7 +44,7 @@ public SignatureHelpHandler(
4244
4345 _logger . LogWarning ( "word: " + word ) ;
4446
45- var signatures = new Container < SignatureInformation > ( ) ;
47+ var signatures = new List < SignatureInformation > ( ) ;
4648
4749 ShaderlabDataManager . Instance . HLSLCGFunctions . ForEach ( f =>
4850 {
@@ -51,7 +53,8 @@ public SignatureHelpHandler(
5153 if ( f . Name . Equals ( word ) )
5254 {
5355 var sign = CreateSignature ( item , f . Description ) ;
54- signatures . Append ( sign ) ;
56+
57+ signatures . Add ( sign ) ;
5558 }
5659 }
5760 } ) ;
@@ -63,11 +66,14 @@ public SignatureHelpHandler(
6366 if ( f . Name . Equals ( word ) )
6467 {
6568 var sign = CreateSignature ( item , f . Description ) ;
66- signatures . Append ( sign ) ;
69+
70+ signatures . Add ( sign ) ;
6771 }
6872 }
6973 } ) ;
7074
75+ var elm = signatures . ElementAt < SignatureInformation > ( 0 ) ;
76+
7177 return new SignatureHelp
7278 {
7379 Signatures = signatures
@@ -85,12 +91,7 @@ protected override SignatureHelpRegistrationOptions CreateRegistrationOptions(Si
8591
8692 private SignatureInformation CreateSignature ( string sign , string documentation )
8793 {
88- var signature = new SignatureInformation
89- {
90- Documentation = documentation ,
91- Label = sign ,
92- Parameters = new ( )
93- } ;
94+ var paramLst = new Container < ParameterInformation > ( ) ;
9495
9596 //find the parameters in the method signature (expect methodname(one, two)
9697 string [ ] pars = sign . Split ( new char [ ] { '(' , ',' , ')' , ';' } , StringSplitOptions . RemoveEmptyEntries ) ;
@@ -107,19 +108,22 @@ private SignatureInformation CreateSignature(string sign, string documentation)
107108
108109 if ( locusStart >= 0 )
109110 {
110- _logger . LogWarning ( "param: " + param ) ;
111-
112111 var newPararm = new ParameterInformation ( )
113112 {
114113 Documentation = "" ,
115114 Label = param
116115 } ;
117116
118- signature . Parameters . Append ( newPararm ) ;
117+ paramLst . Append ( newPararm ) ;
119118 }
120119 }
121120
122- return signature ;
121+ return new SignatureInformation
122+ {
123+ Documentation = documentation ,
124+ Label = sign ,
125+ Parameters = paramLst
126+ } ;
123127 }
124128 }
125129}
0 commit comments