equal
deleted
inserted
replaced
332 case _ => None |
332 case _ => None |
333 } |
333 } |
334 } |
334 } |
335 |
335 |
336 val words_result = |
336 val words_result = |
337 abbrevs_result orElse { |
337 if (abbrevs_result.isDefined) None |
|
338 else { |
338 val end = |
339 val end = |
339 if (extend_word) Completion.Word_Parsers.extend_word(text, caret) |
340 if (extend_word) Completion.Word_Parsers.extend_word(text, caret) |
340 else caret |
341 else caret |
341 (Completion.Word_Parsers.read_symbol(text.subSequence(0, end)) match { |
342 (Completion.Word_Parsers.read_symbol(text.subSequence(0, end)) match { |
342 case Some(symbol) => Some(symbol) |
343 case Some(symbol) => Some(symbol) |
357 else Some(((word, completions), end)) |
358 else Some(((word, completions), end)) |
358 case None => None |
359 case None => None |
359 } |
360 } |
360 } |
361 } |
361 |
362 |
362 words_result match { |
363 (abbrevs_result orElse words_result) match { |
363 case Some(((word, cs), end)) => |
364 case Some(((word, cs), end)) => |
364 val range = Text.Range(- word.length, 0) + end + start |
365 val range = Text.Range(- word.length, 0) + end + start |
365 val ds = cs.map(decode(_)).filter(_ != word) |
366 val ds = cs.map(decode(_)).filter(_ != word) |
366 if (ds.isEmpty) None |
367 if (ds.isEmpty) None |
367 else { |
368 else { |
377 case _ => (name1, "") |
378 case _ => (name1, "") |
378 } |
379 } |
379 val move = - s2.length |
380 val move = - s2.length |
380 val description = |
381 val description = |
381 if (move != 0) List(name1, "(template)") |
382 if (move != 0) List(name1, "(template)") |
382 else if (keywords(name)) List(name1, "(keyword)") |
383 else if (words_result.isDefined && keywords(name)) List(name1, "(keyword)") |
383 else if (Symbol.names.isDefinedAt(name) && name != name1) |
384 else if (Symbol.names.isDefinedAt(name) && name != name1) |
384 List(name1, "(symbol " + quote(name) + ")") |
385 List(name1, "(symbol " + quote(name) + ")") |
385 else List(name1) |
386 else List(name1) |
386 Completion.Item(range, word, name1, description, s1 + s2, move, explicit || immediate) |
387 Completion.Item(range, word, name1, description, s1 + s2, move, explicit || immediate) |
387 } |
388 } |