         suggestions = @addPublicChildren(modName, suggestions, prefixLower, [])
     return suggestions # Unknown enable everything!!!!
 
-  getLineContext: (editor, bufferPosition) ->
+  getFullLine: (editor, bufferPosition) ->
+    F77Regex = /[a-z0-9_]*\.F$/i
+    fixedCommRegex = /^     [\S]/i
+    freeCommRegex = /&[ \t]*$/i
+    line = editor.getTextInRange([[bufferPosition.row, 0], bufferPosition])
+    #
+    fixedForm = false
+    if editor.getPath().match(F77Regex)
+      fixedForm = true
+    pRow = bufferPosition.row - 1
+    while pRow >= 0
+      pLine = editor.lineTextForBufferRow(pRow)
+      pLine = pLine.split('!')[0]
+      if fixedForm
+        unless line.match(fixedCommRegex)
+          break
+      else
+        unless pLine.match(freeCommRegex)
+          break
+      line = pLine.split('&')[0] + line
+      pRow = pRow - 1
+    return line
+
+  getLineContext: (line) ->
     useRegex = /^[ \t]*USE[ \t]/i
     subDefRegex = /^[ \t]*(PURE|ELEMENTAL|RECURSIVE)*[ \t]*(MODULE|PROGRAM|SUBROUTINE|FUNCTION)[ \t]/i
     typeDefRegex = /^[ \t]*(CLASS|TYPE)[ \t]*(IS)?[ \t]*\(/i
-    line = editor.getTextInRange([[bufferPosition.row, 0], bufferPosition])
     if line.match(useRegex)?
       return 1
     if line.match(useRegex)?

    wordLower = word.toLowerCase()
    lineScopes = @getLineScopes(editor, bufferPosition)
    # Look up class tree
    cursorScope = @getClassScope(editor, bufferPosition, lineScopes)
    if cursorScope?
      @resolveIherited(cursorScope)
      containingScope = @findInScope(cursorScope, wordLower)

    i2 = typeDef.indexOf(')')
    return typeDef.substring(i1+1,i2)

  getClassScope: (line, currScopes) ->
    typeDerefCheck = /%/i
    objBreakReg = /[\/\-(.,+*<>=$:]/ig
    parenRepReg = /\((.+)\)/ig
    #
    unless line.match(typeDerefCheck)?
      return null
