src/Tools/jEdit/src/completion_popup.scala
changeset 66055 07175635f78c
parent 66054 fb0eea226a4d
child 66114 c137a9f038a6
equal deleted inserted replaced
66054:fb0eea226a4d 66055:07175635f78c
   154       history: Completion.History,
   154       history: Completion.History,
   155       explicit: Boolean,
   155       explicit: Boolean,
   156       opt_rendering: Option[JEdit_Rendering]): Option[Completion.Result] =
   156       opt_rendering: Option[JEdit_Rendering]): Option[Completion.Result] =
   157     {
   157     {
   158       val buffer = text_area.getBuffer
   158       val buffer = text_area.getBuffer
   159       val decode = Isabelle_Encoding.is_active(buffer)
   159       val unicode = Isabelle_Encoding.is_active(buffer)
   160 
   160 
   161       Isabelle.buffer_syntax(buffer) match {
   161       Isabelle.buffer_syntax(buffer) match {
   162         case Some(syntax) =>
   162         case Some(syntax) =>
   163           val context =
   163           val context =
   164             (for {
   164             (for {
   173           val line_start = line_range.start
   173           val line_start = line_range.start
   174           for {
   174           for {
   175             line_text <- JEdit_Lib.try_get_text(buffer, line_range)
   175             line_text <- JEdit_Lib.try_get_text(buffer, line_range)
   176             result <-
   176             result <-
   177               syntax.completion.complete(
   177               syntax.completion.complete(
   178                 history, decode, explicit, line_start, line_text, caret - line_start, context)
   178                 history, unicode, explicit, line_start, line_text, caret - line_start, context)
   179           } yield result
   179           } yield result
   180 
   180 
   181         case None => None
   181         case None => None
   182       }
   182       }
   183     }
   183     }
   292       val layered = view.getLayeredPane
   292       val layered = view.getLayeredPane
   293       val buffer = text_area.getBuffer
   293       val buffer = text_area.getBuffer
   294       val painter = text_area.getPainter
   294       val painter = text_area.getPainter
   295 
   295 
   296       val history = PIDE.plugin.completion_history.value
   296       val history = PIDE.plugin.completion_history.value
   297       val decode = Isabelle_Encoding.is_active(buffer)
   297       val unicode = Isabelle_Encoding.is_active(buffer)
   298 
   298 
   299       def open_popup(result: Completion.Result)
   299       def open_popup(result: Completion.Result)
   300       {
   300       {
   301         val font =
   301         val font =
   302           painter.getFont.deriveFont(
   302           painter.getFont.deriveFont(
   353         val result0 = syntax_completion(history, explicit, opt_rendering)
   353         val result0 = syntax_completion(history, explicit, opt_rendering)
   354         val (no_completion, semantic_completion) =
   354         val (no_completion, semantic_completion) =
   355         {
   355         {
   356           opt_rendering match {
   356           opt_rendering match {
   357             case Some(rendering) =>
   357             case Some(rendering) =>
   358               rendering.semantic_completion_result(history, decode, result0.map(_.range),
   358               rendering.semantic_completion_result(history, unicode, result0.map(_.range),
   359                 JEdit_Lib.before_caret_range(text_area, rendering),
   359                 JEdit_Lib.before_caret_range(text_area, rendering),
   360                 JEdit_Lib.try_get_text(buffer, _))
   360                 JEdit_Lib.try_get_text(buffer, _))
   361             case None => (false, None)
   361             case None => (false, None)
   362           }
   362           }
   363         }
   363         }