summaryrefslogtreecommitdiff
path: root/.config/coc/extensions/node_modules/coc-go/lib/utils/config.js
diff options
context:
space:
mode:
Diffstat (limited to '.config/coc/extensions/node_modules/coc-go/lib/utils/config.js')
-rw-r--r--.config/coc/extensions/node_modules/coc-go/lib/utils/config.js57
1 files changed, 57 insertions, 0 deletions
diff --git a/.config/coc/extensions/node_modules/coc-go/lib/utils/config.js b/.config/coc/extensions/node_modules/coc-go/lib/utils/config.js
new file mode 100644
index 0000000..d60955c
--- /dev/null
+++ b/.config/coc/extensions/node_modules/coc-go/lib/utils/config.js
@@ -0,0 +1,57 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.setState = exports.getState = exports.configDir = exports.setStoragePath = exports.getConfig = void 0;
+const tslib_1 = require("tslib");
+const path_1 = tslib_1.__importDefault(require("path"));
+const os_1 = tslib_1.__importDefault(require("os"));
+const fs_1 = tslib_1.__importDefault(require("fs"));
+const coc_nvim_1 = require("coc.nvim");
+const fs_2 = require("./fs");
+const state = {};
+function getConfig() {
+ return coc_nvim_1.workspace.getConfiguration().get("go");
+}
+exports.getConfig = getConfig;
+function setStoragePath(dir) {
+ state.storagePath = dir;
+}
+exports.setStoragePath = setStoragePath;
+async function configDir(...names) {
+ const storage = state.storagePath || path_1.default.join(os_1.default.homedir(), ".config", "coc", "go");
+ const dir = path_1.default.join(storage, ...names);
+ return new Promise((resolve) => {
+ (0, fs_2.createDir)(dir);
+ resolve(dir);
+ });
+}
+exports.configDir = configDir;
+async function stateFile() {
+ return path_1.default.join(await configDir(), 'state.json');
+}
+async function getStateData() {
+ try {
+ const f = await stateFile();
+ const d = JSON.parse(await fs_1.default.promises.readFile(f, 'utf-8'));
+ return d || {};
+ }
+ catch (err) { /* mute */ }
+ return {};
+}
+async function setStateData(data) {
+ try {
+ await fs_1.default.promises.writeFile(await stateFile(), JSON.stringify(data, null, ' '));
+ }
+ catch (err) { /* mute */ }
+}
+async function getState(key) {
+ const d = await getStateData();
+ return d[key] || '';
+}
+exports.getState = getState;
+async function setState(key, value) {
+ const d = await getStateData();
+ d[key] = value;
+ await setStateData(d);
+}
+exports.setState = setState;
+//# sourceMappingURL=config.js.map \ No newline at end of file