mirror of
https://github.com/pulsar-edit/pulsar.git
synced 2024-09-22 08:28:41 +03:00
Add parseKeystroke function
This commit is contained in:
parent
32158711ce
commit
8cb565ad2a
@ -12,18 +12,18 @@ class KeyBinding
|
|||||||
|
|
||||||
@normalizeKeystroke: (keystroke) ->
|
@normalizeKeystroke: (keystroke) ->
|
||||||
normalizedKeystroke = keystroke.split(/\s+/).map (keystroke) =>
|
normalizedKeystroke = keystroke.split(/\s+/).map (keystroke) =>
|
||||||
keys = @getParser().parse(keystroke)
|
keys = @parseKeystroke(keystroke)
|
||||||
modifiers = keys[0...-1]
|
modifiers = keys[0...-1]
|
||||||
modifiers.sort()
|
modifiers.sort()
|
||||||
[modifiers..., _.last(keys)].join('-')
|
[modifiers..., _.last(keys)].join('-')
|
||||||
normalizedKeystroke.join(' ')
|
normalizedKeystroke.join(' ')
|
||||||
|
|
||||||
@getParser: ->
|
@parseKeystroke: (keystroke) ->
|
||||||
unless KeyBinding.parser?
|
unless KeyBinding.parser?
|
||||||
keystrokePattern = fs.readFileSync(require.resolve('./keystroke-pattern.pegjs'), 'utf8')
|
keystrokePattern = fs.readFileSync(require.resolve('./keystroke-pattern.pegjs'), 'utf8')
|
||||||
KeyBinding.parser = PEG.buildParser(keystrokePattern)
|
KeyBinding.parser = PEG.buildParser(keystrokePattern)
|
||||||
|
|
||||||
KeyBinding.parser
|
KeyBinding.parser.parse(keystroke)
|
||||||
|
|
||||||
constructor: (source, command, keystroke, selector) ->
|
constructor: (source, command, keystroke, selector) ->
|
||||||
@source = source
|
@source = source
|
||||||
|
Loading…
Reference in New Issue
Block a user