提交 f0e70a6c 编写于 作者: A Alex Dima

Remove diffSupport and dirtyDiffSupport from modes

上级 f0805c28
......@@ -752,8 +752,6 @@ export interface IModeSupportChangedEvent {
logicalSelectionSupport:boolean;
formattingSupport:boolean;
inplaceReplaceSupport:boolean;
diffSupport:boolean;
dirtyDiffSupport:boolean;
emitOutputSupport:boolean;
linkSupport:boolean;
configSupport:boolean;
......
......@@ -257,16 +257,6 @@ export interface IMode {
*/
inplaceReplaceSupport?:IInplaceReplaceSupport;
/**
* Optional adapter to support diff'ing two models.
*/
diffSupport?:IDiffSupport;
/**
* Optional adapter to support diff'ing a model with its original version.
*/
dirtyDiffSupport?:IDirtyDiffSupport;
/**
* Optional adapter to support output for a model (e.g. markdown -> html)
*/
......@@ -566,22 +556,6 @@ export interface IInplaceReplaceSupport {
navigateValueSet(resource:URI, range:EditorCommon.IRange, up:boolean):TPromise<IInplaceReplaceSupportResult>;
}
/**
* Interface used to compute the diff between two models.
*/
export interface IDiffSupport {
computeDiff(original:URI, modified:URI, ignoreTrimWhitespace:boolean):TPromise<EditorCommon.ILineChange[]>;
}
/**
* Interface used to compute the diff between a model and its original version.
*/
export interface IDirtyDiffSupport {
computeDirtyDiff(resource:URI, ignoreTrimWhitespace:boolean):TPromise<EditorCommon.IChange[]>;
}
/**
* Interface used to get output for a language that supports transformation (e.g. markdown -> html)
*/
......
......@@ -37,8 +37,6 @@ export class AbstractMode<W extends AbstractModeWorker> implements Modes.IMode {
public autoValidateDelay:number;
public suggestSupport:Modes.ISuggestSupport;
public inplaceReplaceSupport:Modes.IInplaceReplaceSupport;
public diffSupport:Modes.IDiffSupport;
public dirtyDiffSupport:Modes.IDirtyDiffSupport;
public linkSupport:Modes.ILinkSupport;
public configSupport:Modes.IConfigurationSupport;
public codeLensSupport:Modes.ICodeLensSupport;
......@@ -62,8 +60,6 @@ export class AbstractMode<W extends AbstractModeWorker> implements Modes.IMode {
this.autoValidateDelay = 500;
this.suggestSupport = this;
this.inplaceReplaceSupport = this;
this.diffSupport = this;
this.dirtyDiffSupport = this;
this.linkSupport = this;
this.configSupport = this;
......@@ -193,16 +189,6 @@ export class AbstractMode<W extends AbstractModeWorker> implements Modes.IMode {
return this._worker((w) => w.inplaceReplaceSupport.navigateValueSet(resource, position, up));
}
static $computeDiff = OneWorkerAttr(AbstractMode, AbstractMode.prototype.computeDiff);
public computeDiff(original:URI, modified:URI, ignoreTrimWhitespace:boolean):TPromise<EditorCommon.ILineChange[]> {
return this._worker((w) => w.computeDiff(original, modified, ignoreTrimWhitespace));
}
static $computeDirtyDiff = OneWorkerAttr(AbstractMode, AbstractMode.prototype.computeDirtyDiff);
public computeDirtyDiff(resource:URI, ignoreTrimWhitespace:boolean):TPromise<EditorCommon.IChange[]> {
return this._worker((w) => w.computeDirtyDiff(resource, ignoreTrimWhitespace));
}
static $computeLinks = OneWorkerAttr(AbstractMode, AbstractMode.prototype.computeLinks);
public computeLinks(resource:URI):TPromise<Modes.ILink[]> {
return this._worker((w) => w.computeLinks(resource));
......@@ -266,7 +252,7 @@ class SimplifiedMode implements Modes.IMode {
}
private static _createModeSupportChangedEvent(originalModeEvent:EditorCommon.IModeSupportChangedEvent): EditorCommon.IModeSupportChangedEvent {
var event = {
var event:EditorCommon.IModeSupportChangedEvent = {
codeLensSupport: false,
tokenizationSupport: originalModeEvent.tokenizationSupport,
occurrencesSupport:false,
......@@ -281,8 +267,6 @@ class SimplifiedMode implements Modes.IMode {
logicalSelectionSupport:false,
formattingSupport:false,
inplaceReplaceSupport:false,
diffSupport:false,
dirtyDiffSupport:false,
emitOutputSupport:false,
linkSupport:false,
configSupport:false,
......@@ -383,8 +367,6 @@ function _createModeSupportChangedEvent(...changedSupports: string[]): EditorCom
logicalSelectionSupport:false,
formattingSupport:false,
inplaceReplaceSupport:false,
diffSupport:false,
dirtyDiffSupport:false,
emitOutputSupport:false,
linkSupport:false,
configSupport:false,
......
......@@ -8,9 +8,7 @@ import URI from 'vs/base/common/uri';
import {IMarkerService} from 'vs/platform/markers/common/markers';
import {IResourceService} from 'vs/editor/common/services/resourceService';
import {computeLinks} from 'vs/editor/common/modes/linkComputer';
import {DiffComputer} from 'vs/editor/common/diff/diffComputer';
import {DefaultFilter} from 'vs/editor/common/modes/modesFilters';
import {TextModel} from 'vs/editor/common/model/textModel';
import {ValidationHelper} from 'vs/editor/common/worker/validationHelper';
import EditorCommon = require('vs/editor/common/editorCommon');
import Modes = require('vs/editor/common/modes');
......@@ -176,45 +174,6 @@ export class AbstractModeWorker {
return AbstractModeWorker.filter;
}
// ---- diff --------------------------------------------------------------------------
public computeDiff(original:URI, modified:URI, ignoreTrimWhitespace:boolean):TPromise<EditorCommon.ILineChange[]> {
var originalModel = this.resourceService.get(original);
var modifiedModel = this.resourceService.get(modified);
if (originalModel !== null && modifiedModel !== null) {
var originalLines = originalModel.getLinesContent();
var modifiedLines = modifiedModel.getLinesContent();
var diffComputer = new DiffComputer(originalLines, modifiedLines, {
shouldPostProcessCharChanges: true,
shouldIgnoreTrimWhitespace: ignoreTrimWhitespace,
shouldConsiderTrimWhitespaceInEmptyCase: true
});
return TPromise.as(diffComputer.computeDiff());
}
return TPromise.as(null);
}
// ---- dirty diff --------------------------------------------------------------------
public computeDirtyDiff(resource:URI, ignoreTrimWhitespace:boolean):TPromise<EditorCommon.IChange[]> {
var model = this.resourceService.get(resource);
var original = <string> model.getProperty('original');
if (original && model !== null) {
var splitText = TextModel.toRawText(original);
var originalLines = splitText.lines;
var modifiedLines = model.getLinesContent();
var diffComputer = new DiffComputer(originalLines, modifiedLines, {
shouldPostProcessCharChanges: false,
shouldIgnoreTrimWhitespace: ignoreTrimWhitespace,
shouldConsiderTrimWhitespaceInEmptyCase: false
});
return TPromise.as(diffComputer.computeDiff());
}
return TPromise.as([]);
}
// ---- link detection ------------------------------------------------------------------
public computeLinks(resource:URI):TPromise<Modes.ILink[]> {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册