提交 541f0113 编写于 作者: M Martin Aeschlimann

[plist] remove base helper, directly use node-module

上级 49527237
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
'use strict';
import * as plist from 'fast-plist';
interface PListObject {
parent: PListObject;
value: any;
lastKey?: string;
}
export function parse<T>(content: string) : { value: T; errors: string[]; } {
try {
let value = plist.parse(content);
return {
value: value,
errors: []
};
} catch (err) {
return {
value: null,
errors: [err.message]
};
}
}
...@@ -26,7 +26,7 @@ import {IJSONSchema} from 'vs/base/common/jsonSchema'; ...@@ -26,7 +26,7 @@ import {IJSONSchema} from 'vs/base/common/jsonSchema';
import {$} from 'vs/base/browser/builder'; import {$} from 'vs/base/browser/builder';
import Event, {Emitter} from 'vs/base/common/event'; import Event, {Emitter} from 'vs/base/common/event';
import plist = require('vs/base/node/plist'); import * as plist from 'fast-plist';
import pfs = require('vs/base/node/pfs'); import pfs = require('vs/base/node/pfs');
// implementation // implementation
...@@ -611,12 +611,11 @@ function _loadThemeDocument(themePath: string) : TPromise<ThemeDocument> { ...@@ -611,12 +611,11 @@ function _loadThemeDocument(themePath: string) : TPromise<ThemeDocument> {
}); });
} }
return TPromise.as(contentValue); return TPromise.as(contentValue);
} else { }
let parseResult = plist.parse(content.toString()); try {
if (parseResult.errors && parseResult.errors.length) { TPromise.as(plist.parse(content.toString()));
return TPromise.wrapError(new Error(nls.localize('error.cannotparse', "Problems parsing plist file: {0}", parseResult.errors.join(', ')))); } catch (e) {
} return TPromise.wrapError(new Error(nls.localize('error.cannotparse', "Problems parsing plist file: {0}", e.message)));
return TPromise.as(parseResult.value);
} }
}); });
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册