 
   getAllAttributeValueCompletions: ({editor, cursor}) ->
     completions = []
-    attribute = @completions.attributes[@getPreviousAttribute(editor, cursor)]
-    for option in attribute?.attribOption ? []
-      completions.push({word: option, prefix: ''})
+    values = @getAttributeValues(editor, cursor)
+    for value in values
+      completions.push({word: value, prefix: ''})
     completions
 
   getAttributeValueCompletions: ({editor, cursor, prefix}) ->
     completions = []
-    attribute = @completions.attributes[@getPreviousAttribute(editor, cursor)]
-    for option in attribute?.attribOption ? [] when option.indexOf(prefix) is 0
-      completions.push({word: option, prefix})
+    values = @getAttributeValues(editor, cursor)
+    for value in values when value.indexOf(prefix) is 0
+      completions.push({word: value, prefix})
     completions
 
   loadCompletions: ->

    for attribute, options of @completions.attributes
      completions.push({word: attribute, prefix: ''}) if options.global

    tagAttributes = @completions.tags[@getPreviousTag(editor, cursor)]?.attributes ? []
    for attribute in tagAttributes
      completions.push({word: attribute, prefix: ''})


    for attribute, options of @completions.attributes when attribute.indexOf(prefix) is 0
      completions.push({word: attribute, prefix}) if options.global

    tagAttributes = @getTagAttributes(editor, cursor)
    for attribute in tagAttributes when attribute.indexOf(prefix) is 0
      completions.push({word: attribute, prefix})

