Python lexer

All questions regarding lexer highlighting schemes are discussed here...
User avatar
kvichans
Posts: 203
Joined: 07.10.2012 05:45

Post by kvichans »

Слияние лексеров провел - WinMerge сила.
Фолдинг работает. Классно!
Что-то еще, кроме фолдинга добавилось?
CudaText 1.163, TC9.51x32, Win10x64(1920x1080)
User avatar
kvichans
Posts: 203
Joined: 07.10.2012 05:45

Post by kvichans »

пугает, что в свойствах пи-лексера на странице Common в левом нижнем примере фолдинг действует без ":" - только по отступам.
Это неправильно! UPD: В рабочих файлах так же - завершающий символ ":" не участвует.
Повторяю условия начала-конца блока:
- одно из ключевых слов стоит в начале строки
- последний (кроме комментариев) символ в строке ":"
- в блок вложены только те (кроме комментариев) строки, у которых отступ больше
Last edited by kvichans on 11.03.2013 13:02, edited 1 time in total.
CudaText 1.163, TC9.51x32, Win10x64(1920x1080)
User avatar
kvichans
Posts: 203
Joined: 07.10.2012 05:45

Post by kvichans »

Про фолдинг комментариев в П. Вижу, что 2 и более подряд строки комментариев можно зафолдить. Это случайное последствие? Это намеренное поведение Син?
CudaText 1.163, TC9.51x32, Win10x64(1920x1080)
Alexey
Posts: 1633
Joined: 05.10.2012 22:10

Post by Alexey »

-строки комментариев можно зафолдить
Это новые правила в лексере. block comment start/ end
Alexey
Posts: 1633
Joined: 05.10.2012 22:10

Post by Alexey »

c ":" хотел отмахнуться... реально этот непарсинг символа : вам чтото испортит? или нет?
User avatar
kvichans
Posts: 203
Joined: 07.10.2012 05:45

Post by kvichans »

1. За фолдинг комментариев спасибо, это здорово.
2. Еще было бы полезно сворачивать многострочные строковые литералы: """...."""
3. Конечные ":" желательно учитывать.
Сейчас образуются ложные блоки. Вот пример

Code: Select all

01 self.view=list( 
02				[' {}{}'.format(1+row%10,1+col%10) 
03					for col in range(self.N)]
04							for row in range(self.N)
05			)
В строках 03 и 04 ключи for не начинают блока. Такое расположение законно в П, так как внутри () или {} или [] отступы не анализируются, а for используется для других целей
CudaText 1.163, TC9.51x32, Win10x64(1920x1080)
User avatar
kvichans
Posts: 203
Joined: 07.10.2012 05:45

Post by kvichans »

Если исправить ":" не просто - можно и как сейчас жить. Лишний, это не пропущенный! :)
CudaText 1.163, TC9.51x32, Win10x64(1920x1080)
Alexey
Posts: 1633
Joined: 05.10.2012 22:10

Post by Alexey »

можно с ":", поправлю через час. насчет литералов не знаю..
User avatar
kvichans
Posts: 203
Joined: 07.10.2012 05:45

Post by kvichans »

Поясните про сверку строк с комментариями. Пример на Питоне

Code: Select all

#format
#log
#log

c13=chr(13)

#c9=chr(9)
#c9=chr(9)
#c9=chr(9)
Вижу:
- из первых трех строк сворачиваются только первые две
- последние три строки не получили folding-блока
Attachments
folding4comments.GIF
folding4comments.GIF (11.08 KiB) Viewed 2042 times
CudaText 1.163, TC9.51x32, Win10x64(1920x1080)
Alexey
Posts: 1633
Joined: 05.10.2012 22:10

Post by Alexey »

Locked