       descriptionMoreURL: @getLocalAttributeDocsURL(attribute, tag)
 
   loadCompletions: ->
-    @completions = require('../tiCompletions');
+    @completions = {}
+    fs.readFile path.resolve(__dirname, '..', 'completions.json'), (error, content) =>
+      @completions = JSON.parse(content) unless error?
+      return
 
   getPreviousTag: (editor, bufferPosition) ->
     {row} = bufferPosition

    for attribute, options of @completions.attributes when not prefix or firstCharsEqual(attribute, prefix)
      completions.push(@buildAttributeCompletion(attribute)) if options.global

    # Additional properties
    additionalAttr =
      id : 
        description : 'TSS id'
      class : 
        description : 'TSS class'
      
    for attribute of additionalAttr when not prefix or firstCharsEqual(attribute, prefix)
      completions.push(@buildAttributeCompletion(attribute))
      
    completions

  buildAttributeCompletion: (attribute, tag) ->

    return false if trailingWhitespace.test(prefix)

    scopes = scopeDescriptor.getScopesArray()
    return true if scopes.indexOf('entity.other.attribute-name.html') isnt -1
    return false unless @hasTagScope(scopes)

    scopes.indexOf('punctuation.definition.tag.html') isnt -1 or
      scopes.indexOf('punctuation.definition.tag.end.html') isnt -1

  isAttributeValueStartWithNoPrefix: ({scopeDescriptor, prefix}) ->
    lastPrefixCharacter = prefix[prefix.length - 1]
