This repository was archived by the owner on Feb 23, 2018. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 8
/
Copy pathAtomConfig.coffee
53 lines (42 loc) · 2.33 KB
/
AtomConfig.coffee
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
Config = require './Config'
module.exports =
##*
# Config that retrieves its settings from Atom's config.
##
class AtomConfig extends Config
###*
* The name of the package to use when searching for settings.
###
packageName: null
###*
* @inheritdoc
###
constructor: (@packageName) ->
super()
@attachListeners()
###*
* @inheritdoc
###
load: () ->
@set('disableBuiltinAutocompletion', atom.config.get("#{@packageName}.disableBuiltinAutocompletion"))
@set('insertNewlinesForUseStatements', atom.config.get("#{@packageName}.insertNewlinesForUseStatements"))
@set('enablePhpunitAnnotationTags', atom.config.get("#{@packageName}.enablePhpunitAnnotationTags"))
@set('automaticallyAddUseStatements', atom.config.get("#{@packageName}.automaticallyAddUseStatements"))
@set('largeListRefreshTimeout', atom.config.get("#{@packageName}.largeListRefreshTimeout"))
@set('largeListRefreshTimeoutJitter', atom.config.get("#{@packageName}.largeListRefreshTimeoutJitter"))
###*
* Attaches listeners to listen to Atom configuration changes.
###
attachListeners: () ->
atom.config.onDidChange "#{@packageName}.disableBuiltinAutocompletion", () =>
@set('disableBuiltinAutocompletion', atom.config.get("#{@packageName}.disableBuiltinAutocompletion"))
atom.config.onDidChange "#{@packageName}.insertNewlinesForUseStatements", () =>
@set('insertNewlinesForUseStatements', atom.config.get("#{@packageName}.insertNewlinesForUseStatements"))
atom.config.onDidChange "#{@packageName}.enablePhpunitAnnotationTags", () =>
@set('enablePhpunitAnnotationTags', atom.config.get("#{@packageName}.enablePhpunitAnnotationTags"))
atom.config.onDidChange "#{@packageName}.automaticallyAddUseStatements", () =>
@set('automaticallyAddUseStatements', atom.config.get("#{@packageName}.automaticallyAddUseStatements"))
atom.config.onDidChange "#{@packageName}.largeListRefreshTimeout", () =>
@set('largeListRefreshTimeout', atom.config.get("#{@packageName}.largeListRefreshTimeout"))
atom.config.onDidChange "#{@packageName}.largeListRefreshTimeoutJitter", () =>
@set('largeListRefreshTimeoutJitter', atom.config.get("#{@packageName}.largeListRefreshTimeoutJitter"))