1 | 'use strict'
|
2 |
|
3 | var path = require('path')
|
4 | var fs = require('fs')
|
5 | var utl = require('./utl')
|
6 | var home = process.env.HOME
|
7 | var settings
|
8 |
|
9 | function getSettings(home_) {
|
10 | if (settings) return settings
|
11 | var settingsJson
|
12 | try {
|
13 | settingsJson = fs.readFileSync(path.join(home_ || home, '.cardinalrc'), 'utf-8')
|
14 | } catch (_) {
|
15 |
|
16 | return undefined
|
17 | }
|
18 | try {
|
19 | return JSON.parse(settingsJson)
|
20 | } catch (e) {
|
21 |
|
22 |
|
23 | console.error(e)
|
24 | return undefined
|
25 | }
|
26 | }
|
27 |
|
28 |
|
29 |
|
30 |
|
31 | function resolveTheme(home_) {
|
32 | var themePath
|
33 | var settings = getSettings(home_)
|
34 |
|
35 | if (!settings || !settings.theme) return undefined
|
36 |
|
37 | try {
|
38 |
|
39 | themePath = utl.isPath(settings.theme) ? settings.theme : path.join(__dirname, 'themes', settings.theme)
|
40 |
|
41 | return require(themePath)
|
42 | } catch (e) {
|
43 |
|
44 | console.error(e)
|
45 | return undefined
|
46 | }
|
47 | }
|
48 |
|
49 | module.exports = {
|
50 | resolveTheme: resolveTheme
|
51 | , getSettings: getSettings
|
52 | }
|
53 |
|