From 6c43fb232502d45f3a3568cf713207f1bb6d84d4 Mon Sep 17 00:00:00 2001 From: asmsuechan Date: Thu, 10 Aug 2017 09:43:50 +0900 Subject: [PATCH] Enable to set configs in ~/.boostnoterc --- browser/main/Main.js | 8 ++++++++ browser/main/lib/RcParser.js | 15 +++++++++++++-- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/browser/main/Main.js b/browser/main/Main.js index 7557d2ae..06463452 100644 --- a/browser/main/Main.js +++ b/browser/main/Main.js @@ -14,6 +14,10 @@ import InitModal from 'browser/main/modals/InitModal' import mixpanel from 'browser/main/lib/mixpanel' import mobileAnalytics from 'browser/main/lib/AwsMobileAnalyticsConfig' import eventEmitter from 'browser/main/lib/eventEmitter' +import RcParser from 'browser/main/lib/RcParser' +import path from 'path' + +const BOOSTNOTERC = '.boostnoterc' function focused () { mixpanel.track('MAIN_FOCUSED') @@ -76,6 +80,10 @@ class Main extends React.Component { eventEmitter.on('editor:fullscreen', this.toggleFullScreen) window.addEventListener('focus', focused) + + const homePath = global.process.env.HOME || global.process.env.USERPROFILE + const boostnotercPath = path.join(homePath, BOOSTNOTERC) + RcParser.exec(boostnotercPath) } componentWillUnmount () { diff --git a/browser/main/lib/RcParser.js b/browser/main/lib/RcParser.js index aac42fe8..031b3a1d 100644 --- a/browser/main/lib/RcParser.js +++ b/browser/main/lib/RcParser.js @@ -1,3 +1,5 @@ +import _ from 'lodash' + const path = require('path') const sander = require('sander') @@ -7,6 +9,15 @@ function parse (boostnotercPath) { return config } -export default { - parse +function exec (boostnotercPath) { + const config = this.parse(boostnotercPath) + if (config.execs === undefined) return + _.forEach(config.execs, (exec) => { + eval(exec) + }) +} + +export default { + parse, + exec }