Версия PascalABC.NET 3.5

Десяток раз точно уже писал, что излагаю всегда свое личное мнение, а не выступаю рупором некоей “общественности”, поэтому никогда не употребляю множественной формы типа “мы”, “все”, “сообщество” и т.п. В отличие от Вас:

И далее:

А с этим никто и не спорит. Цель одна, а средства для ее достижения могут быть различными. Для одной категории людей может оказаться более приемлемым использование сниппетов, для другой - автозавершение, а третья может в равной степени пользоваться тем и другим. И с этой позиции средства различаются.

В данном случае все корректно: Print(1) является “подчиненным” и поэтому сделана втяжка. Пусть себе дальше возмущаются. Или не используют.

Это хорошее предложение - сделать контекстные сниппеты. Посмотрю, трудно ли это сделать. Напишите Issue пожалуйста

2 лайка

А говорите багов нет: https://youtu.be/t5Lq2g25uL8

Если после foreach что-то написано, то при автовставке первая буквы следующего слова оказывается сразу после var.

Дать всем в руки гусиные перья, тогда будут писать, как Пушкин.

Исправил, выложил. Теперь снова нет ))

Как нет если пробелы лишние всё ещё есть?

Месячник чистописания…

Исправил, залил

begin
  var x: procedure := () ->
end.

Нажимаем Enter с автовставкой и получаем:

begin
  var x: procedure := () ->;
  
end.

Я буду делать автовставку плагином к школьной версии. Школьники такой код не пишут. Ну или сотрут и возмущаться не будут.

Уже понятно, что количество проверок полной версии языка превосходит все мыслимые пределы и нуждается в глубоком анализе

Презентации ведь тоже вы делали?

Если уже прививать лямбды с детства - надо делать это последовательно. А значит и поддерживать фичами для школьников.

Еще раз процитирую:

Я еще подумаю. Если не получится сделать это просто - я поступлю так как сказал.

По моему, в данном случае достаточно проверять чтоб в конце строчки не было ->. Во всех остальных случаях - ; можно ставить.

Смотрите - вы набираете

  a := x *

и нажимаете Enter с желанием продолжить выражение на следующей строке. Имейте в виду - здесь тоже будет поставлена точка с запятой

Сказано очень взвешено: “во многих программах”. Это не означает тенденции пихать лямбды везде и заморачиваться с их конструкциями там, где можно без этого обойтись. Я не знаю, какие программы пишете Вы, но школьникам при обучении лямбды скорее всего могут пригодиться лишь в LINQ - цепочках. А это лишь малая часть языка.

Надо сказать, что это где-то треть нашего второго года обучения. Но - да - типы лямбда-выражений мы стараемся с ними не описывать.

Так это у вас компьютерная школа для продвинутых детишек. Если Вы пишете исключительно под них все это, я готов от своих слов отказаться. Я думал, это для всех школьников, массово. У них-то нет столько времени изучать лямбды.

Я не учу всех школьников ))

Автодополнение - да, преимущественно для наших детей. Оно будет срабатывать неправильно в 1% случаев я думаю.

Но тогда нет смысла с нами советоваться, потому что что мы не учим детей в этой школе и не можем знать, в чем они испытывают нужду ))) А так Вы получаете хотелки от профессиональных (и не очень) программистов, у которых совсем другие нужды и другое вИдение результатов работы этой фичи.

Тут “к гадалке не ходи”: Вы будете постоянно получать примеры, в автозаполнение/автозавершение сработало некорректно. Потому что преодолеть все ошибки можно только создав полный синтаксический и семантический анализатор.