提交 370b2e31 编写于 作者: J Johannes Rieken

marker handler rendering, first cut

上级 9f7b6b84
......@@ -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,
......
......@@ -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('<div class="inline">');
elements.push(strings.format('<div class="severity {0}"></div>', severity.toString(this._marker.severity).toLowerCase()));
elements.push(strings.format('<div class="severity {0}"></div>', Severity.toString(severity).toLowerCase()));
elements.push('</div>');
elements.push('<div class="inline entry">');
elements.push('<div>');
elements.push(strings.format('<span class="message">{0}</span>', this._marker.message));
elements.push(strings.format('<span class="message">{0}</span>', message));
elements.push('</div>');
elements.push('<div>');
elements.push(strings.format('<span class="path"><span class="basename">{0} ({1},{2})</span><span class="dirname">{3}</span></span>',
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('</div>');
elements.push('<div>');
......@@ -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));
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册