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 { |