From fb88148b29fff04473d354925b0dfae7b651f7b3 Mon Sep 17 00:00:00 2001 From: Itamar Kestenbaum Date: Sat, 7 Jul 2018 01:24:54 +0300 Subject: [PATCH 1/2] Close param hints if you reach out of bounds of list instead of cycling --- .../editor/contrib/parameterHints/parameterHintsWidget.ts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/vs/editor/contrib/parameterHints/parameterHintsWidget.ts b/src/vs/editor/contrib/parameterHints/parameterHintsWidget.ts index 4392d12f485..5a0de6b72b6 100644 --- a/src/vs/editor/contrib/parameterHints/parameterHintsWidget.ts +++ b/src/vs/editor/contrib/parameterHints/parameterHintsWidget.ts @@ -451,8 +451,10 @@ export class ParameterHintsWidget implements IContentWidget, IDisposable { next(): boolean { const length = this.hints.signatures.length; + const last = (this.currentSignature % length) === (length - 1); - if (length < 2) { + // If there is only one signature, or we're on last signature of list + if (length < 2 || last) { this.cancel(); return false; } @@ -464,8 +466,9 @@ export class ParameterHintsWidget implements IContentWidget, IDisposable { previous(): boolean { const length = this.hints.signatures.length; + const first = this.currentSignature === 0; - if (length < 2) { + if (length < 2 || first) { this.cancel(); return false; } From d05663597c45c8abd21a1993f9e5a9ead7bf6e66 Mon Sep 17 00:00:00 2001 From: Itamar Kestenbaum Date: Mon, 9 Jul 2018 21:54:05 +0300 Subject: [PATCH 2/2] Simplify increment decrement of currentSignature --- src/vs/editor/contrib/parameterHints/parameterHintsWidget.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/vs/editor/contrib/parameterHints/parameterHintsWidget.ts b/src/vs/editor/contrib/parameterHints/parameterHintsWidget.ts index 5a0de6b72b6..383ccff63cc 100644 --- a/src/vs/editor/contrib/parameterHints/parameterHintsWidget.ts +++ b/src/vs/editor/contrib/parameterHints/parameterHintsWidget.ts @@ -459,7 +459,7 @@ export class ParameterHintsWidget implements IContentWidget, IDisposable { return false; } - this.currentSignature = (this.currentSignature + 1) % length; + this.currentSignature++; this.render(); return true; } @@ -473,7 +473,7 @@ export class ParameterHintsWidget implements IContentWidget, IDisposable { return false; } - this.currentSignature = (this.currentSignature - 1 + length) % length; + this.currentSignature--; this.render(); return true; }