From 370b2e314ea792995698ea117262be19cfce2928 Mon Sep 17 00:00:00 2001 From: Johannes Rieken Date: Thu, 10 Dec 2015 17:06:02 +0100 Subject: [PATCH] marker handler rendering, first cut --- .../platform/markers/common/markerService.ts | 1 + .../parts/quickopen/browser/markersHandler.ts | 38 +++++++++---------- 2 files changed, 19 insertions(+), 20 deletions(-) diff --git a/src/vs/platform/markers/common/markerService.ts b/src/vs/platform/markers/common/markerService.ts index c9d9a2d6b26..707417e9c01 100644 --- a/src/vs/platform/markers/common/markerService.ts +++ b/src/vs/platform/markers/common/markerService.ts @@ -210,6 +210,7 @@ export class MarkerService implements IMarkerService, IThreadSynchronizableObjec resource: key.resource, code: data.code, message: data.message, + source: data.source, severity: data.severity, startLineNumber: data.startLineNumber, startColumn: data.startColumn, diff --git a/src/vs/workbench/parts/quickopen/browser/markersHandler.ts b/src/vs/workbench/parts/quickopen/browser/markersHandler.ts index 7b266cfaf31..c60bfb19278 100644 --- a/src/vs/workbench/parts/quickopen/browser/markersHandler.ts +++ b/src/vs/workbench/parts/quickopen/browser/markersHandler.ts @@ -6,29 +6,23 @@ import 'vs/css!./media/markerHandler'; import {TPromise} from 'vs/base/common/winjs.base'; -import env = require('vs/base/common/platform'); -import strings = require('vs/base/common/strings'); -import network = require('vs/base/common/network'); -import errors = require('vs/base/common/errors'); -import paths = require('vs/base/common/paths'); -import dom = require('vs/base/browser/dom'); +import * as strings from 'vs/base/common/strings'; +import * as network from 'vs/base/common/network'; +import * as errors from 'vs/base/common/errors'; +import * as paths from 'vs/base/common/paths'; +import * as dom from 'vs/base/browser/dom'; +import * as nls from 'vs/nls'; import {PathLabelProvider} from 'vs/base/common/labels'; -import nls = require('vs/nls'); import {ITree, IElementCallback} from 'vs/base/parts/tree/common/tree'; -import severity from 'vs/base/common/severity'; -import {QuickOpenHandlerDescriptor, IQuickOpenRegistry, Extensions as QuickOpenExtensions, QuickOpenHandler} from 'vs/workbench/browser/quickopen'; +import Severity from 'vs/base/common/severity'; +import {QuickOpenHandler} from 'vs/workbench/browser/quickopen'; import {QuickOpenAction} from 'vs/workbench/browser/actions/quickOpenAction'; import {Mode, IContext, IAutoFocus} from 'vs/base/parts/quickopen/browser/quickOpen'; -import {QuickOpenEntry, QuickOpenEntryItem, QuickOpenModel} from 'vs/base/parts/quickopen/browser/quickOpenModel'; -import {Registry} from 'vs/platform/platform'; -import {SyncActionDescriptor} from 'vs/platform/actions/common/actions'; -import {IWorkbenchActionRegistry, Extensions as ActionExtensions} from 'vs/workbench/browser/actionRegistry'; +import {QuickOpenEntryItem, QuickOpenModel} from 'vs/base/parts/quickopen/browser/quickOpenModel'; import {IEditorService} from 'vs/platform/editor/common/editor'; -import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation'; import {IMarkerService, IMarker} from 'vs/platform/markers/common/markers'; import {IWorkspaceContextService} from 'vs/platform/workspace/common/workspace'; import {IQuickOpenService} from 'vs/workbench/services/quickopen/browser/quickOpenService'; -import {KeyMod, KeyCode} from 'vs/base/common/keyCodes'; class MarkerEntry extends QuickOpenEntryItem { @@ -50,16 +44,20 @@ class MarkerEntry extends QuickOpenEntryItem { public render(tree: ITree, container: HTMLElement, previousCleanupFn: IElementCallback): IElementCallback { dom.clearNode(container); let elements: string[] = []; + let {severity, message, source, resource, startLineNumber, startColumn} = this._marker; + if (source) { + message = `${message} (${source})`; + } elements.push('
'); - elements.push(strings.format('
', severity.toString(this._marker.severity).toLowerCase())); + elements.push(strings.format('
', Severity.toString(severity).toLowerCase())); elements.push('
'); elements.push('
'); elements.push('
'); - elements.push(strings.format('{0}', this._marker.message)); + elements.push(strings.format('{0}', message)); elements.push('
'); elements.push('
'); elements.push(strings.format('{0} ({1},{2}){3}', - paths.basename(this._marker.resource.fsPath), this._marker.startLineNumber, this._marker.startColumn, this._lp.getLabel(paths.dirname(this._marker.resource.fsPath)) + paths.basename(resource.fsPath), startLineNumber, startColumn, this._lp.getLabel(paths.dirname(resource.fsPath)) )); elements.push('
'); elements.push('
'); @@ -123,7 +121,7 @@ export class MarkersHandler extends QuickOpenHandler { let ret: number; // 1st: severity matters first - ret = severity.compare(a.severity, b.severity); + ret = Severity.compare(a.severity, b.severity); if (ret !== 0) { return ret; } @@ -160,7 +158,7 @@ export class MarkersHandler extends QuickOpenHandler { inputs = [ marker.message, marker.resource.fsPath, - severity.toString(marker.severity), + Severity.toString(marker.severity), String(marker.startLineNumber), String(marker.startColumn), String(marker.endLineNumber), String(marker.endColumn)]; return inputs.some(input => regexp.test(input)); -- GitLab