src/Pure/Tools/spell_checker.scala
changeset 66137 d2923067b376
parent 66117 e6f808d1307c
child 67014 e6a695d6a6b2
equal deleted inserted replaced
66122:ea7c2a245b84 66137:d2923067b376
   246             suggestions(word)
   246             suggestions(word)
   247         }
   247         }
   248       result.getOrElse(Nil).map(recover_case)
   248       result.getOrElse(Nil).map(recover_case)
   249     }
   249     }
   250 
   250 
   251   def complete_enabled(word: String): Boolean = complete(word).nonEmpty
       
   252 
       
   253   def completion(rendering: Rendering, caret: Text.Offset): Option[Completion.Result] =
   251   def completion(rendering: Rendering, caret: Text.Offset): Option[Completion.Result] =
   254   {
   252   {
   255     val caret_range = rendering.before_caret_range(caret)
   253     val caret_range = rendering.before_caret_range(caret)
   256     for {
   254     for {
   257       word <- Spell_Checker.current_word(rendering, caret_range)
   255       word <- Spell_Checker.current_word(rendering, caret_range)
   261       items =
   259       items =
   262         words.map(w => Completion.Item(word.range, word.info, "", List(w, descr), w, 0, false))
   260         words.map(w => Completion.Item(word.range, word.info, "", List(w, descr), w, 0, false))
   263     } yield Completion.Result(word.range, word.info, false, items)
   261     } yield Completion.Result(word.range, word.info, false, items)
   264   }
   262   }
   265 }
   263 }
   266 
       
   267 
   264 
   268 class Spell_Checker_Variable
   265 class Spell_Checker_Variable
   269 {
   266 {
   270   private val no_spell_checker: (String, Option[Spell_Checker]) = ("", None)
   267   private val no_spell_checker: (String, Option[Spell_Checker]) = ("", None)
   271   private var current_spell_checker = no_spell_checker
   268   private var current_spell_checker = no_spell_checker