chore(nvim): update Corpus plug-in
[wincent.git] / variables.ts
1 import Context from 'fig/Context.js';
2
3 /**
4  * @file
5  *
6  * Dynamic variables.
7  */
8 const variables = {
9   /**
10    * Because a hostname might have random junk at the end of it (eg.
11    * "huertas.local" or "retiro.lan") or potentially be mixed case, set
12    * a variable as a convenient shorthand containing a normalized host
13    * "handle" (eg. "huertas", "retiro").
14    */
15   get hostHandle() {
16     const handle = Context.attributes.hostname.toLowerCase().split(/\./)[0];
17
18     // Kludgy special-case for Codespaces so that we can cheatingly use per-host
19     // config files without knowing the exact host name ahead of time.
20     if (/^codespaces[_-][a-f0-9]+$/.test(handle)) {
21       return 'codespaces';
22     }
23
24     return handle;
25   },
26
27   get identity() {
28     if (process.env.FIG_IDENTITY) {
29       return process.env.FIG_IDENTITY;
30     } else if (Context.attributes.username === 'wincent') {
31       return 'wincent';
32     } else {
33       return 'unknown';
34     }
35   },
36 };
37
38 export default variables;