Skip to content

Commit 5f90415

Browse files
committed
main: .dispose() all the disposables
1 parent 890c741 commit 5f90415

File tree

1 file changed

+9
-11
lines changed

1 file changed

+9
-11
lines changed

lib/main.coffee

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ $ = null
33

44
MouseEventWhichDict = {"left click": 1, "middle click": 2, "right click": 3}
55
module.exports =
6-
disposable: null
6+
disposables: new CompositeDisposable()
77

88
config:
99
disableComplete:
@@ -50,26 +50,26 @@ module.exports =
5050
@ctagsCache.activate()
5151

5252
@ctagsCache.initTags(atom.project.getPaths(), atom.config.get('atom-ctags.autoBuildTagsWhenActive'))
53-
@disposable = atom.project.onDidChangePaths (paths)=>
53+
@disposables.add atom.project.onDidChangePaths (paths)=>
5454
@ctagsCache.initTags(paths, atom.config.get('atom-ctags.autoBuildTagsWhenActive'))
5555

56-
atom.commands.add 'atom-workspace', 'atom-ctags:rebuild', (e, cmdArgs)=>
56+
@disposables.add atom.commands.add 'atom-workspace', 'atom-ctags:rebuild', (e, cmdArgs)=>
5757
console.error "rebuild: ", e
5858
@ctagsCache.cmdArgs = cmdArgs if Array.isArray(cmdArgs)
5959
@createFileView().rebuild(true)
6060
if t
6161
clearTimeout(t)
6262
t = null
6363

64-
atom.commands.add 'atom-workspace', 'atom-ctags:toggle-project-symbols', =>
64+
@disposables.add atom.commands.add 'atom-workspace', 'atom-ctags:toggle-project-symbols', =>
6565
@createFileView().toggleAll()
6666

67-
atom.commands.add 'atom-text-editor',
67+
@disposables.add atom.commands.add 'atom-text-editor',
6868
'atom-ctags:toggle-file-symbols': => @createFileView().toggle()
6969
'atom-ctags:go-to-declaration': => @createFileView().goto()
7070
'atom-ctags:return-from-declaration': => @createGoBackView().toggle()
7171

72-
atom.workspace.observeTextEditors (editor) =>
72+
@disposables.add atom.workspace.observeTextEditors (editor) =>
7373
editorView = atom.views.getView(editor)
7474
{$} = require 'atom-space-pen-views' unless $
7575
$(editorView).on 'mousedown', (event) =>
@@ -85,22 +85,20 @@ module.exports =
8585
atom-ctags replaces and enhances the symbols-view package.
8686
Therefore, symbols-view has been disabled."
8787

88-
atom.config.observe 'atom-ctags.disableComplete', =>
88+
@disposables.add atom.config.observe 'atom-ctags.disableComplete', =>
8989
return unless @provider
9090
@provider.disabled = atom.config.get('atom-ctags.disableComplete')
9191

9292
initExtraTagsTime = null
93-
atom.config.observe 'atom-ctags.extraTagFiles', =>
93+
@disposables.add atom.config.observe 'atom-ctags.extraTagFiles', =>
9494
clearTimeout initExtraTagsTime if initExtraTagsTime
9595
initExtraTagsTime = setTimeout((=>
9696
@ctagsCache.initExtraTags(atom.config.get('atom-ctags.extraTagFiles').split(" "))
9797
initExtraTagsTime = null
9898
), 1000)
9999

100100
deactivate: ->
101-
if @disposable?
102-
@disposable.dispose()
103-
@disposable = null
101+
@disposables.dispose()
104102

105103
if @fileView?
106104
@fileView.destroy()

0 commit comments

Comments
 (0)