From 4b519ee7e0611e8b758acb30d702d93132282524 Mon Sep 17 00:00:00 2001 From: Kris De Volder Date: Tue, 15 Aug 2017 12:19:08 -0700 Subject: [PATCH] More log info to debug atom language server open/close events --- .../languageserver/util/SimpleTextDocumentService.java | 7 +++++-- .../commons/languageserver/util/TrackedDocument.java | 4 ++++ .../ide/vscode/commons/util/text/TextDocument.java | 1 - 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/headless-services/commons/commons-language-server/src/main/java/org/springframework/ide/vscode/commons/languageserver/util/SimpleTextDocumentService.java b/headless-services/commons/commons-language-server/src/main/java/org/springframework/ide/vscode/commons/languageserver/util/SimpleTextDocumentService.java index 29a7b051f..0ac6112d6 100644 --- a/headless-services/commons/commons-language-server/src/main/java/org/springframework/ide/vscode/commons/languageserver/util/SimpleTextDocumentService.java +++ b/headless-services/commons/commons-language-server/src/main/java/org/springframework/ide/vscode/commons/languageserver/util/SimpleTextDocumentService.java @@ -151,7 +151,9 @@ public class SimpleTextDocumentService implements TextDocumentService { int version = docId.getVersion(); if (url!=null) { String text = params.getTextDocument().getText(); - TextDocument doc = createDocument(url, languageId, version, text).open().getDocument(); + TrackedDocument td = createDocument(url, languageId, version, text).open(); + Log.info("Opened "+td.getOpenCount()+" times: "+url); + TextDocument doc = td.getDocument(); TextDocumentContentChangeEvent change = new TextDocumentContentChangeEvent() { @Override public Range getRange() { @@ -181,13 +183,14 @@ public class SimpleTextDocumentService implements TextDocumentService { TrackedDocument doc = documents.get(url); if (doc!=null) { if (doc.close()) { + Log.info("Closed: "+url); //Clear diagnostics when a file is closed. This makes the errors disapear when the language is changed for // a document (this resulst in a dicClose even as being sent to the language server if that changes make the // document go 'out of scope'. publishDiagnostics(params.getTextDocument(), ImmutableList.of()); documents.remove(url); } - Log.warn("Close event ignored! Assuming document still open because of its openCount"); + Log.warn("Close event ignored! Assuming document still open because of its openCount ["+doc.getOpenCount()+"]"); } else { Log.warn("Document closed, but it didn't exist! Close event ignored"); } diff --git a/headless-services/commons/commons-language-server/src/main/java/org/springframework/ide/vscode/commons/languageserver/util/TrackedDocument.java b/headless-services/commons/commons-language-server/src/main/java/org/springframework/ide/vscode/commons/languageserver/util/TrackedDocument.java index c14750d78..76a53c666 100644 --- a/headless-services/commons/commons-language-server/src/main/java/org/springframework/ide/vscode/commons/languageserver/util/TrackedDocument.java +++ b/headless-services/commons/commons-language-server/src/main/java/org/springframework/ide/vscode/commons/languageserver/util/TrackedDocument.java @@ -49,4 +49,8 @@ public class TrackedDocument { return openCount<=0; } + public int getOpenCount() { + return openCount; + } + } diff --git a/headless-services/commons/commons-util/src/main/java/org/springframework/ide/vscode/commons/util/text/TextDocument.java b/headless-services/commons/commons-util/src/main/java/org/springframework/ide/vscode/commons/util/text/TextDocument.java index 0e61073cc..29bfcd2d8 100644 --- a/headless-services/commons/commons-util/src/main/java/org/springframework/ide/vscode/commons/util/text/TextDocument.java +++ b/headless-services/commons/commons-util/src/main/java/org/springframework/ide/vscode/commons/util/text/TextDocument.java @@ -297,5 +297,4 @@ public class TextDocument implements IDocument { } return null; } - }