From df461f12b5a036e9c5763bd5faa7540a5e586c02 Mon Sep 17 00:00:00 2001 From: Adnan Date: Wed, 3 Oct 2018 14:56:23 -0700 Subject: [PATCH] added show on cursor over for datatip --- .../pkg/atom-ide-datatip/lib/DatatipManager.js | 8 ++++++++ modules/atom-ide-ui/pkg/atom-ide-datatip/package.json | 6 ++++++ 2 files changed, 14 insertions(+) diff --git a/modules/atom-ide-ui/pkg/atom-ide-datatip/lib/DatatipManager.js b/modules/atom-ide-ui/pkg/atom-ide-datatip/lib/DatatipManager.js index ea91402fd4..caf4fb533b 100644 --- a/modules/atom-ide-ui/pkg/atom-ide-datatip/lib/DatatipManager.js +++ b/modules/atom-ide-ui/pkg/atom-ide-datatip/lib/DatatipManager.js @@ -254,6 +254,7 @@ class DatatipManagerForEditor { _interactedWith: boolean; _checkedScrollable: boolean; _isScrollable: boolean; + _showOnCursorOver: boolean; constructor( editor: atom$TextEditor, @@ -276,6 +277,7 @@ class DatatipManagerForEditor { this._lastHiddenTime = 0; this._lastFetchedFromCursorPosition = false; this._shouldDropNextMouseMoveAfterFocus = false; + this._showOnCursorOver = false; this._subscriptions.add( featureConfig.observe('atom-ide-datatip.datatipDebounceDelay', () => @@ -285,6 +287,9 @@ class DatatipManagerForEditor { 'atom-ide-datatip.datatipInteractedWithDebounceDelay', () => this._setHideIfOutsideDebounce(), ), + featureConfig.observe('atom-ide-datatip.showDatatipOnCursorOver', e => { + this._showOnCursorOver = e; + }), Observable.fromEvent(this._editorView, 'focus').subscribe(e => { this._shouldDropNextMouseMoveAfterFocus = true; if (!this._insideDatatip) { @@ -343,6 +348,9 @@ class DatatipManagerForEditor { } }), Observable.fromEvent(this._editorView, 'keyup').subscribe(e => { + if (this._showOnCursorOver) { + this._startFetching(() => this._editor.getCursorBufferPosition()); + } const modifierKey = getModifierKeyFromKeyboardEvent(e); if (modifierKey) { this._heldKeys.delete(modifierKey); diff --git a/modules/atom-ide-ui/pkg/atom-ide-datatip/package.json b/modules/atom-ide-ui/pkg/atom-ide-datatip/package.json index b8f107aed4..6ad743cbe9 100644 --- a/modules/atom-ide-ui/pkg/atom-ide-datatip/package.json +++ b/modules/atom-ide-ui/pkg/atom-ide-datatip/package.json @@ -35,6 +35,12 @@ "description": "Display only the highest priority datatip on hover.", "type": "boolean", "default": false + }, + "showDatatipOnCursorOver": { + "title": "Display datatip on cursor over", + "description": "This adds the behavior similar to atom-linter when moving the cursor over a datatip marker automatically displays the tip.", + "type": "boolean", + "default": false } }, "providedServices": {