equal
deleted
inserted
replaced
270 { |
270 { |
271 /* keywords */ |
271 /* keywords */ |
272 |
272 |
273 private def is_symbol(name: String): Boolean = Symbol.names.isDefinedAt(name) |
273 private def is_symbol(name: String): Boolean = Symbol.names.isDefinedAt(name) |
274 private def is_keyword(name: String): Boolean = !is_symbol(name) && keywords.isDefinedAt(name) |
274 private def is_keyword(name: String): Boolean = !is_symbol(name) && keywords.isDefinedAt(name) |
275 private def is_keyword_template(name: String): Boolean = is_keyword(name) && keywords(name) |
275 private def is_keyword_template(name: String, template: Boolean): Boolean = |
|
276 is_keyword(name) && keywords(name) == template |
276 |
277 |
277 def + (keyword: String, template: String): Completion = |
278 def + (keyword: String, template: String): Completion = |
278 new Completion( |
279 new Completion( |
279 keywords + (keyword -> (keyword != template)), |
280 keywords + (keyword -> (keyword != template)), |
280 words_lex + keyword, |
281 words_lex + keyword, |
364 { |
365 { |
365 case (word, underscores) => |
366 case (word, underscores) => |
366 val complete_words = words_lex.completions(word) |
367 val complete_words = words_lex.completions(word) |
367 val full_word = word + underscores |
368 val full_word = word + underscores |
368 val completions = |
369 val completions = |
369 if (complete_words.contains(full_word)) Nil |
370 if (complete_words.contains(full_word) && is_keyword_template(full_word, false)) Nil |
370 else |
371 else |
371 for { |
372 for { |
372 complete_word <- complete_words |
373 complete_word <- complete_words |
373 ok = |
374 ok = |
374 if (is_keyword(complete_word)) language_context.is_outer |
375 if (is_keyword(complete_word)) language_context.is_outer |
403 description = |
404 description = |
404 if (is_symbol(name0)) { |
405 if (is_symbol(name0)) { |
405 if (name0 == name1) List(name0) |
406 if (name0 == name1) List(name0) |
406 else List(name1, "(symbol " + quote(name0) + ")") |
407 else List(name1, "(symbol " + quote(name0) + ")") |
407 } |
408 } |
408 else if (is_keyword_template(complete_word)) |
409 else if (is_keyword_template(complete_word, true)) |
409 List(name1, "(template " + quote(complete_word) + ")") |
410 List(name1, "(template " + quote(complete_word) + ")") |
410 else if (move != 0) List(name1, "(template)") |
411 else if (move != 0) List(name1, "(template)") |
411 else if (is_keyword(complete_word)) List(name1, "(keyword)") |
412 else if (is_keyword(complete_word)) List(name1, "(keyword)") |
412 else List(name1) |
413 else List(name1) |
413 } |
414 } |