Archived
1
0

Add flags for customizing user data dir and extensions dir (#420)

* Add flags for customizing extensions directory

* Update @coder/nbin
This commit is contained in:
Kyle Carberry
2019-04-03 17:07:47 -05:00
committed by Asher
parent c607015a26
commit 4af84fcaf6
12 changed files with 73 additions and 14 deletions

View File

@ -271,6 +271,7 @@ export class Client {
workingDirectory: init.getWorkingDirectory(),
os: protoToOperatingSystem(init.getOperatingSystem()),
shell: init.getShell(),
extensionsDirectory: init.getExtensionsDirectory(),
builtInExtensionsDirectory: init.getBuiltinExtensionsDir(),
};
this.initDataEmitter.emit(this._initData);

View File

@ -23,6 +23,7 @@ export interface InitData {
readonly homeDirectory: string;
readonly tmpDirectory: string;
readonly shell: string;
readonly extensionsDirectory: string;
readonly builtInExtensionsDirectory: string;
}

View File

@ -14,6 +14,7 @@ export interface ServerOptions {
readonly dataDirectory: string;
readonly cacheDirectory: string;
readonly builtInExtensionsDirectory: string;
readonly extensionsDirectory: string;
readonly fork?: ForkProvider;
}
@ -93,6 +94,7 @@ export class Server {
initMsg.setDataDirectory(this.options.dataDirectory);
initMsg.setWorkingDirectory(this.options.workingDirectory);
initMsg.setBuiltinExtensionsDir(this.options.builtInExtensionsDirectory);
initMsg.setExtensionsDirectory(this.options.extensionsDirectory);
initMsg.setHomeDirectory(os.homedir());
initMsg.setTmpDirectory(os.tmpdir());
initMsg.setOperatingSystem(platformToProto(os.platform()));

View File

@ -41,4 +41,5 @@ message WorkingInit {
OperatingSystem operating_system = 5;
string shell = 6;
string builtin_extensions_dir = 7;
string extensions_directory = 8;
}

View File

@ -132,6 +132,9 @@ export class WorkingInit extends jspb.Message {
getBuiltinExtensionsDir(): string;
setBuiltinExtensionsDir(value: string): void;
getExtensionsDirectory(): string;
setExtensionsDirectory(value: string): void;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): WorkingInit.AsObject;
static toObject(includeInstance: boolean, msg: WorkingInit): WorkingInit.AsObject;
@ -151,6 +154,7 @@ export namespace WorkingInit {
operatingSystem: WorkingInit.OperatingSystem,
shell: string,
builtinExtensionsDir: string,
extensionsDirectory: string,
}
export enum OperatingSystem {

View File

@ -794,7 +794,8 @@ proto.WorkingInit.toObject = function(includeInstance, msg) {
workingDirectory: jspb.Message.getFieldWithDefault(msg, 4, ""),
operatingSystem: jspb.Message.getFieldWithDefault(msg, 5, 0),
shell: jspb.Message.getFieldWithDefault(msg, 6, ""),
builtinExtensionsDir: jspb.Message.getFieldWithDefault(msg, 7, "")
builtinExtensionsDir: jspb.Message.getFieldWithDefault(msg, 7, ""),
extensionsDirectory: jspb.Message.getFieldWithDefault(msg, 8, "")
};
if (includeInstance) {
@ -859,6 +860,10 @@ proto.WorkingInit.deserializeBinaryFromReader = function(msg, reader) {
var value = /** @type {string} */ (reader.readString());
msg.setBuiltinExtensionsDir(value);
break;
case 8:
var value = /** @type {string} */ (reader.readString());
msg.setExtensionsDirectory(value);
break;
default:
reader.skipField();
break;
@ -937,6 +942,13 @@ proto.WorkingInit.serializeBinaryToWriter = function(message, writer) {
f
);
}
f = message.getExtensionsDirectory();
if (f.length > 0) {
writer.writeString(
8,
f
);
}
};
@ -1054,4 +1066,19 @@ proto.WorkingInit.prototype.setBuiltinExtensionsDir = function(value) {
};
/**
* optional string extensions_directory = 8;
* @return {string}
*/
proto.WorkingInit.prototype.getExtensionsDirectory = function() {
return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 8, ""));
};
/** @param {string} value */
proto.WorkingInit.prototype.setExtensionsDirectory = function(value) {
jspb.Message.setProto3StringField(this, 8, value);
};
goog.object.extend(exports, proto);