diff options
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.js | 57 |
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 |
