mirror of
https://github.com/pulsar-edit/pulsar.git
synced 2024-09-21 16:08:24 +03:00
Make LanguageMode unsubscribe from syntax global when destroyed
This commit is contained in:
parent
1b56cfb270
commit
144984c726
@ -83,6 +83,7 @@ class EditSession
|
||||
@buffer.release()
|
||||
selection.destroy() for selection in @getSelections()
|
||||
@displayBuffer.destroy()
|
||||
@languageMode.destroy()
|
||||
@project?.removeEditSession(this)
|
||||
@trigger 'destroyed'
|
||||
@off()
|
||||
|
@ -3,6 +3,7 @@ _ = require 'underscore'
|
||||
require 'underscore-extensions'
|
||||
{OnigRegExp} = require 'oniguruma'
|
||||
EventEmitter = require 'event-emitter'
|
||||
Subscriber = require 'subscriber'
|
||||
|
||||
module.exports =
|
||||
class LanguageMode
|
||||
@ -14,10 +15,13 @@ class LanguageMode
|
||||
constructor: (@editSession) ->
|
||||
@buffer = @editSession.buffer
|
||||
@reloadGrammar()
|
||||
syntax.on 'grammar-added', (grammar) =>
|
||||
@subscribe syntax, 'grammar-added', (grammar) =>
|
||||
newScore = grammar.getScore(@buffer.getPath(), @buffer.getText())
|
||||
@setGrammar(grammar, newScore) if newScore > @currentGrammarScore
|
||||
|
||||
destroy: ->
|
||||
@unsubscribe()
|
||||
|
||||
setGrammar: (grammar, score) ->
|
||||
return if grammar is @grammar
|
||||
@grammar = grammar
|
||||
@ -169,3 +173,4 @@ class LanguageMode
|
||||
new OnigRegExp(foldEndPattern)
|
||||
|
||||
_.extend LanguageMode.prototype, EventEmitter
|
||||
_.extend LanguageMode.prototype, Subscriber
|
||||
|
Loading…
Reference in New Issue
Block a user