From d0b5bc760d44846dc46dc8a81ee68b64cd5017bb Mon Sep 17 00:00:00 2001
From: chemzqm <chemzqm@gmail.com>
Date: Wed, 28 Nov 2018 04:18:32 +0800
Subject: [PATCH] fix label of signatureHelp

---
 package.json                         |  2 +-
 src/server/features/signatureHelp.ts | 18 +++++++++++-------
 src/server/languageProvider.ts       |  6 ++++--
 3 files changed, 16 insertions(+), 10 deletions(-)

diff --git a/package.json b/package.json
index dd3ffeb..d94a680 100644
--- a/package.json
+++ b/package.json
@@ -5,7 +5,7 @@
   "main": "lib/index.js",
   "publisher": "chemzqm",
   "engines": {
-    "coc": "^0.0.24"
+    "coc": "^0.0.35"
   },
   "keywords": [
     "coc.nvim",
diff --git a/src/server/features/signatureHelp.ts b/src/server/features/signatureHelp.ts
index 2a31bf4..fd0593f 100644
--- a/src/server/features/signatureHelp.ts
+++ b/src/server/features/signatureHelp.ts
@@ -56,18 +56,22 @@ export default class TypeScriptSignatureHelpProvider implements SignatureHelpPro
   }
 
   private convertSignature(item: Proto.SignatureHelpItem): SignatureInformation {
+    let parameters = item.parameters.map(p => {
+      return {
+        label: Previewer.plain(p.displayParts),
+        documentation: Previewer.markdownDocumentation(p.documentation, [])
+      }
+    })
+    let label = Previewer.plain(item.prefixDisplayParts)
+    label += parameters.map(parameter => parameter.label).join(Previewer.plain(item.separatorDisplayParts))
+    label += Previewer.plain(item.suffixDisplayParts)
     return {
-      label: Previewer.plain(item.prefixDisplayParts).replace(/\($/, ''),
+      label,
       documentation: Previewer.markdownDocumentation(
         item.documentation,
         item.tags.filter(x => x.name !== 'param')
       ),
-      parameters: item.parameters.map(p => {
-        return {
-          label: Previewer.plain(p.displayParts),
-          documentation: Previewer.markdownDocumentation(p.documentation, [])
-        }
-      })
+      parameters
     }
   }
 }
diff --git a/src/server/languageProvider.ts b/src/server/languageProvider.ts
index a300a34..0179b23 100644
--- a/src/server/languageProvider.ts
+++ b/src/server/languageProvider.ts
@@ -233,13 +233,15 @@ export default class LanguageProvider {
       this.disposables.push(
         languages.registerCodeActionProvider(
           languageIds,
-          new RefactorProvider(client, this.fileConfigurationManager)))
+          new RefactorProvider(client, this.fileConfigurationManager),
+          'tsserver'))
     }
 
     this.disposables.push(
       languages.registerCodeActionProvider(
         languageIds,
-        new QuickfixProvider(client, this.diagnosticsManager, this.bufferSyncSupport)))
+        new QuickfixProvider(client, this.diagnosticsManager, this.bufferSyncSupport),
+        'tsserver'))
     let cachedResponse = new CachedNavTreeResponse()
     if (this.client.apiVersion.gte(API.v206)
       && conf.get<boolean>('referencesCodeLens.enable')) {