From 367dd43955642754af4ab25255509dc9539fe09a Mon Sep 17 00:00:00 2001 From: Olivier Guinart Date: Sat, 23 Sep 2017 18:16:06 -0700 Subject: [PATCH] hover functionality final refactoring --- src/extension.ts | 21 +-------------------- src/hover.ts | 26 ++++++++++++++++++++++++-- 2 files changed, 25 insertions(+), 22 deletions(-) diff --git a/src/extension.ts b/src/extension.ts index f34d28e..13234f8 100644 --- a/src/extension.ts +++ b/src/extension.ts @@ -1,27 +1,8 @@ import * as vscode from 'vscode'; -import * as data from '../strings/resources.json'; import * as hover from './hover'; // this method is called when vs code is activated export function activate(context: vscode.ExtensionContext) { - - hover.initializeOpcodesRegex(); - let activeEditor = vscode.window.activeTextEditor; - if (activeEditor) { - hover.triggerUpdateDecorations(activeEditor); - } - - vscode.window.onDidChangeActiveTextEditor(editor => { - activeEditor = editor; - if (editor) { - hover.triggerUpdateDecorations(activeEditor); - } - }, null, context.subscriptions); - - vscode.workspace.onDidChangeTextDocument(event => { - if (activeEditor && event.document === activeEditor.document) { - hover.triggerUpdateDecorations(activeEditor); - } - }, null, context.subscriptions); + hover.activate(context); } diff --git a/src/hover.ts b/src/hover.ts index d7c7bcf..c874226 100644 --- a/src/hover.ts +++ b/src/hover.ts @@ -5,8 +5,30 @@ import * as data from '../strings/resources.json'; // this is just to enable hover. const opcodesDecorationType = vscode.window.createTextEditorDecorationType({ }); +export function activate(context: vscode.ExtensionContext) +{ + initializeOpcodesRegex(); + let activeEditor = vscode.window.activeTextEditor; + if (activeEditor) { + triggerUpdateDecorations(activeEditor); + } + + vscode.window.onDidChangeActiveTextEditor(editor => { + activeEditor = editor; + if (editor) { + triggerUpdateDecorations(activeEditor); + } + }, null, context.subscriptions); + + vscode.workspace.onDidChangeTextDocument(event => { + if (activeEditor && event.document === activeEditor.document) { + triggerUpdateDecorations(activeEditor); + } + }, null, context.subscriptions); +} + var _regExp: RegExp; -export function initializeOpcodesRegex() { +function initializeOpcodesRegex() { let r : string = "\\b("; for (var prop in data) { if (prop != "--^") { @@ -20,7 +42,7 @@ export function initializeOpcodesRegex() { let _activeEditor: vscode.TextEditor; var _timeout = null; -export function triggerUpdateDecorations(activeEditor: vscode.TextEditor) : NodeJS.Timer { +function triggerUpdateDecorations(activeEditor: vscode.TextEditor) : NodeJS.Timer { _activeEditor = activeEditor; if (_timeout) { clearTimeout(_timeout);