diff --git a/src/packages/snippets/index.coffee b/src/packages/snippets/index.coffee index 35ee4ce9e..b7c0a5f7c 100644 --- a/src/packages/snippets/index.coffee +++ b/src/packages/snippets/index.coffee @@ -1,5 +1,7 @@ AtomPackage = require 'atom-package' fs = require 'fs' +PEG = require 'pegjs' +_ = require 'underscore' SnippetExpansion = require './src/snippet-expansion' Snippet = require './src/snippet' LoadSnippetsTask = require './src/load-snippets-task' @@ -8,6 +10,7 @@ module.exports = class Snippets extends AtomPackage snippetsByExtension: {} + parser: PEG.buildParser(fs.read(require.resolve 'snippets/snippets.pegjs'), trackLineAndColumn: true) loaded: false activate: (@rootView) -> @@ -33,7 +36,8 @@ class Snippets extends AtomPackage for selector, snippetsByName of snippetsBySelector snippetsByPrefix = {} for name, attributes of snippetsByName - { prefix, body, bodyTree } = attributes + { prefix, body } = attributes + bodyTree = @parser.parse(body) snippet = new Snippet({name, prefix, bodyTree}) snippetsByPrefix[snippet.prefix] = snippet syntax.addProperties(selector, snippets: snippetsByPrefix) diff --git a/src/packages/snippets/src/load-snippets-handler.coffee b/src/packages/snippets/src/load-snippets-handler.coffee index 704b27de6..de4fe2ec9 100644 --- a/src/packages/snippets/src/load-snippets-handler.coffee +++ b/src/packages/snippets/src/load-snippets-handler.coffee @@ -1,17 +1,8 @@ fs = require 'fs' TextMatePackage = require 'text-mate-package' -PEG = require 'pegjs' module.exports = - - parser: PEG.buildParser(fs.read(require.resolve 'snippets/snippets.pegjs'), trackLineAndColumn: true) - - snippetsLoaded: (snippets) -> - for snippet in snippets - for selector, snippetsByName of snippet - for name, attributes of snippetsByName - attributes.bodyTree = @parser.parse(attributes.body) - callTaskMethod('snippetsLoaded', snippets) + snippetsLoaded: (snippets) -> callTaskMethod('snippetsLoaded', snippets) loadTextmateSnippets: (path) -> snippetsDirPath = fs.join(path, 'Snippets')