groovysh: завершение синтаксиса для связанных методов не работает

При использовании Groovysh (вызывается как родной groovysh команда или из Groovy скрипта, явно создающего экземпляр org.codehaus.groovy.tools.shell.Groovysh), завершение синтаксиса не работает для связанных выражений всякий раз, когда вызывается вызов метода. Есть ли способ включить это, я что-то делаю не так или это просто не предусмотрено?

Что работает:

Sys<TAB> // Completes 'System'
System.o<TAB> // Completes 'System.out'
System.out.p<TAB> // Suggests individual methods
4.toS<TAB> // Completes '4.toString('

Что не работает:

4.toString().<TAB> // Completes nothing
System.getProperties().<TAB> // Completes nothing

Завершение действительно работает, когда результат вызова метода сохраняется в переменной:

e = System.getenv()
e.<TAB> // Suggests everything one would expect

Что совершенно странно, когда вызов метода отправляется с использованием синтаксиса доступа к свойствам, завершение действительно работает:

System.properties.<TAB> // Suggests everything one would expect

То же самое можно воспроизвести с помощью настраиваемых методов (единственный способ завершить результат вызова - сохранить его в переменной или заменить на свойство accesor, если это геттер).

Я не нашел сообщений о соответствующей проблеме. Тестировал на groovy 2.5.8, но 3.0.0-rc-2 не лучше работает.

0 ответов

Другие вопросы по тегам