mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-02-16 10:58:30 -05:00
Merge VS Code 1.21 source code (#1067)
* Initial VS Code 1.21 file copy with patches * A few more merges * Post npm install * Fix batch of build breaks * Fix more build breaks * Fix more build errors * Fix more build breaks * Runtime fixes 1 * Get connection dialog working with some todos * Fix a few packaging issues * Copy several node_modules to package build to fix loader issues * Fix breaks from master * A few more fixes * Make tests pass * First pass of license header updates * Second pass of license header updates * Fix restore dialog issues * Remove add additional themes menu items * fix select box issues where the list doesn't show up * formatting * Fix editor dispose issue * Copy over node modules to correct location on all platforms
This commit is contained in:
@@ -15,6 +15,7 @@ import { beginsWithIgnoreCase } from 'vs/base/common/strings';
|
||||
import { IProgress } from 'vs/platform/progress/common/progress';
|
||||
import { IDisposable } from 'vs/base/common/lifecycle';
|
||||
import { isEqualOrParent, isEqual } from 'vs/base/common/resources';
|
||||
import { isUndefinedOrNull } from 'vs/base/common/types';
|
||||
|
||||
export const IFileService = createDecorator<IFileService>('fileService');
|
||||
|
||||
@@ -83,7 +84,7 @@ export interface IFileService {
|
||||
/**
|
||||
* Updates the content replacing its previous value.
|
||||
*/
|
||||
updateContent(resource: URI, value: string, options?: IUpdateContentOptions): TPromise<IFileStat>;
|
||||
updateContent(resource: URI, value: string | ITextSnapshot, options?: IUpdateContentOptions): TPromise<IFileStat>;
|
||||
|
||||
/**
|
||||
* Moves the file to a new path identified by the resource.
|
||||
@@ -410,10 +411,9 @@ export interface IFileStat extends IBaseStat {
|
||||
isDirectory: boolean;
|
||||
|
||||
/**
|
||||
* Return {{true}} when this is a directory
|
||||
* that is not empty.
|
||||
* The resource is a symbolic link.
|
||||
*/
|
||||
hasChildren: boolean;
|
||||
isSymbolicLink?: boolean;
|
||||
|
||||
/**
|
||||
* The children of the file stat or undefined if none.
|
||||
@@ -465,6 +465,28 @@ export interface IStringStream {
|
||||
on(event: string, callback: any): void;
|
||||
}
|
||||
|
||||
/**
|
||||
* Text snapshot that works like an iterator.
|
||||
* Will try to return chunks of roughly ~64KB size.
|
||||
* Will return null when finished.
|
||||
*/
|
||||
export interface ITextSnapshot {
|
||||
read(): string;
|
||||
}
|
||||
|
||||
/**
|
||||
* Helper method to convert a snapshot into its full string form.
|
||||
*/
|
||||
export function snapshotToString(snapshot: ITextSnapshot): string {
|
||||
const chunks: string[] = [];
|
||||
let chunk: string;
|
||||
while (typeof (chunk = snapshot.read()) === 'string') {
|
||||
chunks.push(chunk);
|
||||
}
|
||||
|
||||
return chunks.join('');
|
||||
}
|
||||
|
||||
/**
|
||||
* Streamable content and meta information of a file.
|
||||
*/
|
||||
@@ -506,6 +528,12 @@ export interface IResolveContentOptions {
|
||||
* The optional guessEncoding parameter allows to guess encoding from content of the file.
|
||||
*/
|
||||
autoGuessEncoding?: boolean;
|
||||
|
||||
/**
|
||||
* Is an integer specifying where to begin reading from in the file. If position is null,
|
||||
* data will be read from the current file position.
|
||||
*/
|
||||
position?: number;
|
||||
}
|
||||
|
||||
export interface IUpdateContentOptions {
|
||||
@@ -525,6 +553,12 @@ export interface IUpdateContentOptions {
|
||||
*/
|
||||
overwriteReadonly?: boolean;
|
||||
|
||||
/**
|
||||
* Wether to write to the file as elevated (admin) user. When setting this option a prompt will
|
||||
* ask the user to authenticate as super user.
|
||||
*/
|
||||
writeElevated?: boolean;
|
||||
|
||||
/**
|
||||
* The last known modification time of the file. This can be used to prevent dirty writes.
|
||||
*/
|
||||
@@ -556,9 +590,13 @@ export interface IImportResult {
|
||||
}
|
||||
|
||||
export class FileOperationError extends Error {
|
||||
constructor(message: string, public fileOperationResult: FileOperationResult) {
|
||||
constructor(message: string, public fileOperationResult: FileOperationResult, public options?: IResolveContentOptions & IUpdateContentOptions & ICreateFileOptions) {
|
||||
super(message);
|
||||
}
|
||||
|
||||
static isFileOperationError(obj: any): obj is FileOperationError {
|
||||
return obj instanceof Error && !isUndefinedOrNull((obj as FileOperationError).fileOperationResult);
|
||||
}
|
||||
}
|
||||
|
||||
export enum FileOperationResult {
|
||||
@@ -569,8 +607,10 @@ export enum FileOperationResult {
|
||||
FILE_MODIFIED_SINCE,
|
||||
FILE_MOVE_CONFLICT,
|
||||
FILE_READ_ONLY,
|
||||
FILE_PERMISSION_DENIED,
|
||||
FILE_TOO_LARGE,
|
||||
FILE_INVALID_PATH
|
||||
FILE_INVALID_PATH,
|
||||
FILE_EXCEED_MEMORY_LIMIT
|
||||
}
|
||||
|
||||
export const AutoSaveConfiguration = {
|
||||
|
||||
@@ -7,4 +7,9 @@
|
||||
const WIN32_MAX_FILE_SIZE = 300 * 1024 * 1024; // 300 MB
|
||||
const GENERAL_MAX_FILE_SIZE = 16 * 1024 * 1024 * 1024; // 16 GB
|
||||
|
||||
export const MAX_FILE_SIZE = process.arch === 'ia32' ? WIN32_MAX_FILE_SIZE : GENERAL_MAX_FILE_SIZE;
|
||||
// See https://github.com/v8/v8/blob/5918a23a3d571b9625e5cce246bdd5b46ff7cd8b/src/heap/heap.cc#L149
|
||||
const WIN32_MAX_HEAP_SIZE = 700 * 1024 * 1024; // 700 MB
|
||||
const GENERAL_MAX_HEAP_SIZE = 700 * 2 * 1024 * 1024; // 1400 MB
|
||||
|
||||
export const MAX_FILE_SIZE = process.arch === 'ia32' ? WIN32_MAX_FILE_SIZE : GENERAL_MAX_FILE_SIZE;
|
||||
export const MAX_HEAP_SIZE = process.arch === 'ia32' ? WIN32_MAX_HEAP_SIZE : GENERAL_MAX_HEAP_SIZE;
|
||||
Reference in New Issue
Block a user