update: Change the location of history file.

This commit is contained in:
KamikazeZirou 2018-05-09 22:15:28 +09:00
parent 1cb61f1f72
commit a59b00aae4
3 changed files with 28 additions and 6 deletions

View File

@ -265,7 +265,7 @@ export async function activate(context: vscode.ExtensionContext) {
}
}
CommandLine.SetHistoryDirPath(context.extensionPath);
CommandLine.LoadHistory();
registerCommand(context, 'toggleVim', async () => {
configuration.disableExt = !configuration.disableExt;

View File

@ -92,10 +92,13 @@ export class CommandLine {
return cmd;
}
public static SetHistoryDirPath(historyDirPath: string): void {
const path = require('path');
const filePath: string = path.join(historyDirPath, '.cmdline_history');
this._history.setFilePath(filePath);
this._history.load();
public static LoadHistory(): void {
util.getExternalExtensionDirPath().then(externalExtensionDirPath => {
const path = require('path');
const filePath: string = path.join(externalExtensionDirPath, '.cmdline_history');
this._history.setFilePath(filePath);
this._history.load();
});
}
}

View File

@ -67,3 +67,22 @@ export async function allowVSCodeToPropagateCursorUpdatesAndReturnThem(
x => new Range(Position.FromVSCodePosition(x.start), Position.FromVSCodePosition(x.end))
);
}
export async function getExternalExtensionDirPath(): Promise<string> {
return new Promise<string>((resolve, reject) => {
const os = require('os');
const homeDir: string = os.homedir();
const path = require('path');
const extensionFolder = path.join(homeDir, '.VSCodeVim');
const fs = require('fs');
fs.mkdir(extensionFolder, 0o775, (err: any) => {
if (!err || err.code === 'EEXIST') {
resolve(extensionFolder);
} else {
console.log(err);
reject(err);
}
});
});
}