src/Pure/General/completion.scala
changeset 55994 1c42ebdb3a58
parent 55993 4c17e46c44c1
child 55996 13a7d9661ffc
equal deleted inserted replaced
55993:4c17e46c44c1 55994:1c42ebdb3a58
   356               if (word_context) None
   356               if (word_context) None
   357               else Completion.Word_Parsers.read_word(explicit, text.subSequence(0, end))
   357               else Completion.Word_Parsers.read_word(explicit, text.subSequence(0, end))
   358           }
   358           }
   359         opt_word.map(word =>
   359         opt_word.map(word =>
   360           {
   360           {
       
   361             val complete_words = words_lex.completions(word)
   361             val completions =
   362             val completions =
   362               for {
   363               if (complete_words.contains(word)) Nil
   363                 complete_word <- words_lex.completions(word)
   364               else
   364                 ok =
   365                 for {
   365                   if (is_keyword(complete_word)) language_context.is_outer
   366                   complete_word <- complete_words
   366                   else language_context.symbols
   367                   ok =
   367                 if ok
   368                     if (is_keyword(complete_word)) language_context.is_outer
   368                 completion <- words_map.get_list(complete_word)
   369                     else language_context.symbols
   369               } yield (complete_word, completion)
   370                   if ok
       
   371                   completion <- words_map.get_list(complete_word)
       
   372                 } yield (complete_word, completion)
   370             (((word, completions), end))
   373             (((word, completions), end))
   371           })
   374           })
   372       }
   375       }
   373 
   376 
   374     (abbrevs_result orElse words_result) match {
   377     (abbrevs_result orElse words_result) match {