         f = @backend.getCompletionsForLanguagePragmas
       when not kw
         label = 'Pragma'
-        f = (b, p) => Promise.resolve(filter @pragmaWords, p)
+        f = (b, p) -> Promise.resolve(filter pragmaList, p)
       else
         return []
 

      @buildSimpleSuggestion 'keyword', s, prefix, label

  getSuggestions: =>
    if @isIn(@typeScope)
      @symbolSuggestions @backend.getCompletionsForType
    else if @isIn(@moduleScope)
      @moduleSuggestions()
    else if @isIn(@exportsScope)
      @symbolSuggestions @backend.getCompletionsForSymbolInModule
    else if @isIn(@preprocessorScope)
      @preprocessorSuggestions()
    #should be last as least sepcialized
    else if @isIn(@sourceScope)
      if @getPrefix().startsWith '_'

  sourceScope: ['source.haskell']
  moduleScope: ['meta.import.haskell', 'support.other.module.haskell']
  preprocessorScope: ['meta.preprocessor.haskell']
  instancePreprocessorScope: ['meta.declaration.instance.haskell', 'meta.preprocessor.haskell']
  exportsScope: ['meta.import.haskell', 'meta.declaration.exports.haskell']

  pragmaWords: [
    'LANGUAGE', 'OPTIONS_GHC', 'INCLUDE', 'WARNING', 'DEPRECATED', 'INLINE',
    'NOINLINE', 'ANN', 'LINE', 'RULES', 'SPECIALIZE', 'UNPACK', 'SOURCE'
  ]

  instancePragmaWords: [
    'INCOHERENT'
    'OVERLAPPABLE'
    'OVERLAPPING'
    'OVERLAPS'
  ]

  constructor: (@options, @backend) ->
