1
- _ = require ' underscore-plus'
2
- path = require ' path'
3
- fs = require ' fs-plus'
4
1
{Emitter , Disposable , BufferedProcess , CompositeDisposable } = require ' atom'
5
2
6
3
Base = require ' ./base'
7
- generateIntrospectionReport = null
8
4
settings = require ' ./settings'
9
5
getEditorState = null
10
6
11
- invalidateRequireCacheForPackage = (packPath ) ->
12
- Object .keys (require .cache )
13
- .filter (p) -> p .startsWith (packPath + path .sep )
14
- .forEach (p) -> delete require .cache [p]
15
-
16
7
class Developer
17
- init : (service ) ->
18
- { getEditorState } = service
8
+ init : (_getEditorState ) ->
9
+ getEditorState = _getEditorState
19
10
@devEnvironmentByBuffer = new Map
20
11
@reloadSubscriptionByBuffer = new Map
21
12
@@ -39,11 +30,10 @@ class Developer
39
30
subscriptions
40
31
41
32
reportRequireCache : ({focus, excludeNodModules}) ->
42
- {inspect } = require ' util'
43
- path = require ' path'
33
+ pathSeparator = require (' path' ).sep
44
34
packPath = atom .packages .getLoadedPackage (" vim-mode-plus" ).path
45
35
cachedPaths = Object .keys (require .cache )
46
- .filter (p) -> p .startsWith (packPath + path . sep )
36
+ .filter (p) -> p .startsWith (packPath + pathSeparator )
47
37
.map (p) -> p .replace (packPath, ' ' )
48
38
49
39
for cachedPath in cachedPaths
@@ -82,10 +72,17 @@ class Developer
82
72
console .log ' total' , inspect (total)
83
73
84
74
reload : (reloadDependencies ) ->
75
+ pathSeparator = require (' path' ).sep
76
+
85
77
packages = [' vim-mode-plus' ]
86
78
if reloadDependencies
87
79
packages .push (settings .get (' devReloadPackages' )... )
88
80
81
+ invalidateRequireCacheForPackage = (packPath ) ->
82
+ Object .keys (require .cache )
83
+ .filter (p) -> p .startsWith (packPath + pathSeparator)
84
+ .forEach (p) -> delete require .cache [p]
85
+
89
86
deactivate = (packName ) ->
90
87
console .log " - deactivating #{ packName} "
91
88
packPath = atom .packages .getLoadedPackage (packName).path
@@ -109,7 +106,8 @@ class Developer
109
106
atom .commands .add (' atom-text-editor' , " vim-mode-plus:#{ name} " , fn)
110
107
111
108
clearDebugOutput : (name , fn ) ->
112
- filePath = fs .normalize (settings .get (' debugOutputFilePath' ))
109
+ {normalize } = require (' fs-plus' )
110
+ filePath = normalize (settings .get (' debugOutputFilePath' ))
113
111
options = {searchAllPanes : true , activatePane : false }
114
112
atom .workspace .open (filePath, options).then (editor) ->
115
113
editor .setText (' ' )
@@ -148,6 +146,8 @@ class Developer
148
146
" .has-persistent-selection" : ' %'
149
147
150
148
getCommandSpecs : ->
149
+ _ = require ' underscore-plus'
150
+
151
151
compactSelector = (selector ) ->
152
152
pattern = /// (#{ _ .keys (selectorMap).map (_ .escapeRegExp ).join (' |' )} )/// g
153
153
selector .split (/ ,\s * / g ).map (scope) ->
@@ -190,6 +190,8 @@ class Developer
190
190
191
191
kinds = [" Operator" , " Motion" , " TextObject" , " InsertMode" , " MiscCommand" , " Scroll" ]
192
192
generateSummaryTableForCommandSpecs : (specs , {header }= {}) ->
193
+ _ = require ' underscore-plus'
194
+
193
195
grouped = _ .groupBy (specs, ' kind' )
194
196
str = " "
195
197
for kind in kinds when specs = grouped[kind]
@@ -243,7 +245,9 @@ class Developer
243
245
args : [' -g' , editor .getPath (), " +call cursor(#{ row+ 1 } , #{ column+ 1 } )" ]
244
246
245
247
generateIntrospectionReport : ->
246
- generateIntrospectionReport ?= require ' ./introspection'
248
+ _ = require ' underscore-plus'
249
+ generateIntrospectionReport = require ' ./introspection'
250
+
247
251
generateIntrospectionReport _ .values (Base .getClassRegistry ()),
248
252
excludeProperties : [
249
253
' run'
0 commit comments