Введите в редакторе Pascal ABC вот эту строку из трех символов ‘’’ и весь дальнейший текст будет синего цвета. Неаккуратненько получается.
Точнее строка ‘’’ делает дальнейший текст синим
Эврика При вводе здесь, в сообщении форума, трех символов ASCII с кодом 39, первый символ искажается, что тоже безаккуратно получается. Потому для демонстрации ошибки редактора, вводим 4 символа ‘’‘’ в текст программы и редактор Pascal ABC весь дальнейший текст раскрасит в радикально синий цвет.
Эврика 2 В форуме Искажаются все символы Поэтому введите в редакторе Pascal 3 символа с клавиши, где буква э
Просто так вставленный код всегда будет выглядеть криво, даже если бы символы не подменяло. Используйте синтаксис Markdown:
```
код
```
Насчёт вашего случая - похоже дело в недавних изменений подсветки мульти-строковых литералов.
Вот полноценный код для тестирования:
##
var s1 := '''
abc
def
'''.Length;
var s2 := ''' asdasd ';
;
В 3594 s2
подсвечивало правильно, но .Length
после s1
было синим, будто это часть строки.
Обновил себе до последней версии на гитхабе.
В 3602 .Length
после s1
правильно показывает, зато теперь s2
ложно считает мультистроковым литералом.
Временное решение:
var s2 := #39' asdasd ';
Проблемное исправление:
Сейчас направлю самурая сюда…
Кстати у форума подсветка так же ломается)) Но это потому что он по-умолчанию выбрал подсветку питона для такого текста программы, а подсветка для паскаля у него древнепаскальная, не специализированная под этот диалект. В итоге если поставить ```pascal
- почти ничего не выделяет…
PascalABC и PascalABC.Net это разные языки. Точнее первый - это давно мёртвый предок второго.
И код программы, и символы/строки при выполнении - хранятся в кодировке Unicode.
Ну, в данном случае ничего не меняет, потому что символы #0..#127
у этих кодировок общие.
Спасибо за подсказку. Есть еще одна Эврика - для удаления этой синей бороды из текста, достаточно после первых трех символов 39 ввести еще 3 таких же символа, проблему решает, но как-то безаккуратно получается.