src/Tools/jEdit/src/completion_popup.scala
changeset 66151 26eecd42cbc5
parent 66120 e03ff7e831cc
child 66152 18e1aba549f6
equal deleted inserted replaced
66150:c2e19b9e1398 66151:26eecd42cbc5
   128           val caret = text_area.getCaretPosition
   128           val caret = text_area.getCaretPosition
   129           if (line_range.contains(caret)) {
   129           if (line_range.contains(caret)) {
   130             rendering.before_caret_range(caret).try_restrict(line_range) match {
   130             rendering.before_caret_range(caret).try_restrict(line_range) match {
   131               case Some(range) if !range.is_singularity =>
   131               case Some(range) if !range.is_singularity =>
   132                 val range0 =
   132                 val range0 =
   133                   Completion.Result.merge(Completion.History.empty,
   133                   Completion.Result.merges(Completion.History.empty,
   134                     syntax_completion(Completion.History.empty, true, Some(rendering)),
   134                     syntax_completion(Completion.History.empty, true, Some(rendering)),
   135                     Completion.Result.merge(Completion.History.empty,
   135                     path_completion(rendering),
   136                       path_completion(rendering),
   136                     JEdit_Bibtex.completion(Completion.History.empty, rendering, caret))
   137                       JEdit_Bibtex.completion(Completion.History.empty, rendering, caret)))
       
   138                   .map(_.range)
   137                   .map(_.range)
   139                 rendering.semantic_completion(range0, range) match {
   138                 rendering.semantic_completion(range0, range) match {
   140                   case None => range0
   139                   case None => range0
   141                   case Some(Text.Info(_, Completion.No_Completion)) => None
   140                   case Some(Text.Info(_, Completion.No_Completion)) => None
   142                   case Some(Text.Info(range1, _: Completion.Names)) => Some(range1)
   141                   case Some(Text.Info(range1, _: Completion.Names)) => Some(range1)
   370               if (word_only) None
   369               if (word_only) None
   371               else Completion.Result.merge(history, semantic_completion, result0)
   370               else Completion.Result.merge(history, semantic_completion, result0)
   372             opt_rendering match {
   371             opt_rendering match {
   373               case None => result1
   372               case None => result1
   374               case Some(rendering) =>
   373               case Some(rendering) =>
   375                 Completion.Result.merge(history, result1,
   374                 Completion.Result.merges(history,
   376                   Completion.Result.merge(history,
   375                   result1,
   377                     JEdit_Spell_Checker.completion(rendering, explicit, caret),
   376                   JEdit_Spell_Checker.completion(rendering, explicit, caret),
   378                     Completion.Result.merge(history,
   377                   path_completion(rendering),
   379                       path_completion(rendering),
   378                   JEdit_Bibtex.completion(history, rendering, caret))
   380                       JEdit_Bibtex.completion(history, rendering, caret))))
       
   381             }
   379             }
   382           }
   380           }
   383           result match {
   381           result match {
   384             case Some(result) =>
   382             case Some(result) =>
   385               result.items match {
   383               result.items match {