Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Code Viewer - просмотр исходного кода
Goto page Previous  1, 2, 3, 4, 5, 6, 7, 8, 9, 10  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Плагины Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
olegvsk



Joined: 17 Dec 2020
Posts: 93

Post (Separately) Posted: Fri May 17, 2024 11:49    Post subject: Reply with quote

Destiny
Не понимаю я озвученных вами проблем. Любой плагин заточен на конкретные типы файлов. Открытие любых файлов - только как опция и только с согласия пользователя. Какие типы открываются сразу, вы могли бы прочитать в документации, но я её не делал, так как, на мой взгляд, всё достаточно прозрачно и понятно.

Destiny wrote:
Все равно не ясно - почему при вызове "Синтаксисы" и при вводе нового расширения не происходит
автосверки расширения текущего файла с этим новым вводом и автоподключения выбранной/модифицированной схемы подсветки?
Какой автосверки? Это и есть GUI-диалог настроек. Кнопок нет потому, что настройки применяются сразу.

Destiny wrote:
внесение нового расширения автоматом приводит к применению подсветки, увязанной к этому расширению.
Да с чего, если у вас открыт файл с другим расширением?

Destiny wrote:
Кстати в диалоге "Перейти" кнопка Отмены не переведена на русский
Спасибо, исправлю.

Destiny wrote:
Пункт меню "Информация" - почему-то оказался пунктом "О плагине".
Обычный пункт меню с информацией о плагине.
Back to top
View user's profile Send private message
Orion9



Joined: 01 Jan 2024
Posts: 298

Post (Separately) Posted: Fri May 17, 2024 12:49    Post subject: Reply with quote

Quote:
А разве Я сам себя ограничил? Я поставил плагин и попробовал вызвать его на файле и он с настройками
этой галочки по умолчанию не отработал. Это вроде как плагин МЕНЯ ограничил, а не я себя.

Так я и не вам писал, а именно автору, поскольку столкнулся ровно с такой же проблемой при первом своем знакомстве с плагином, о чем и писал пару страниц назад. Объяснения автора на этот счет понятны:
 Hidden text

Вот только я уж забыл совсем, когда последний раз пользовался штатным листером для просмотра текстовых файлов Laughing
Back to top
View user's profile Send private message
Destiny



Joined: 15 Dec 2015
Posts: 221

Post (Separately) Posted: Fri May 17, 2024 13:02    Post subject: Reply with quote

olegvsk wrote:
Какой автосверки? Это и есть GUI-диалог настроек. Кнопок нет потому, что настройки применяются сразу.

Какой? А той, что я описал по возможности подробно выше.
ЕСЛИ БЫ ваше заявление, что настройки применяются сразу, реально работало - вопросов бы и предложений и не было сразу.
Еще раз - я добавил нужное расширение схх в настройках для С++ подсветки, а открытый файл с этим расширением как показывался с подсветкой "none" (кстати, это тоже надо бы перевести) - так и продолжил показываться без подсветки. И где тут заявленное автоприменение?

olegvsk wrote:
Да с чего, если у вас открыт файл с другим расширением?

С того, что именно это "другое" расширение "ZZZ" я только что внес в список принимаемых для подсветки "ХХХ". И с этой секунды оно уже не другое, а известное и связанное с неким типом подсветки. И именно с 1 секунды! Потому как кнопки ОК нет и я ожидаю мгновенную реакцию на любое действие внутри этого окна.

olegvsk wrote:
Обычный пункт меню с информацией о плагине.

В таком случае и название пункта должно звучать "О плагине"/"О программе". About, короче говоря.

olegvsk
Т.е. еще раз - именно потому, что вы сделали CodeViewer ожидалось, что я САМ смогу настроить нужные срабатывания по типу файлов, чтоб по умолчанию плагин открывал любые небинарные файлы, ибо на то он и плагин для просмотра. А уж потом - я, получив возможность заходить в его настройки, буду там что-то допиливать для срабатывания лишь на нужных мне файлах.
А то ведь сейчас я ТУПО не могу войти в настройки плагина, ибо он не сработает на новом, неизвестном ему расширении! ДАЖЕ принудительно не открывается!
Нет просмотра-то!


Last edited by Destiny on Fri May 17, 2024 21:04; edited 3 times in total
Back to top
View user's profile Send private message
yozhik



Joined: 04 May 2014
Posts: 219
Location: Электросталь

Post (Separately) Posted: Fri May 17, 2024 16:39    Post subject: Reply with quote

olegvsk
Взгляните, пожалуйста, на этот файлик: кодировка у него UTF 16 LE с BOM (и BOM точно есть, видно его в hex-представлении FEFF), но плагин определяет его как 866 OEM. При этом не на всех файлах в UTF 16 LE BOM плагин ошибается, некоторые определяются корректно. От чего это зависит я пока не смог уловить — вроде обычные файлы, в одном и том же редакторе и созданы и отредактированы (AkelPad), но плагин некоторые так, а некоторые сяк.
_________________
Amo ergo sum
Back to top
View user's profile Send private message
imig73



Joined: 18 Jun 2013
Posts: 285
Location: г. Иркутск

Post (Separately) Posted: Fri May 17, 2024 17:13    Post subject: Reply with quote

yozhik
encinfo определяет правильно binary UTF-16LE, а binary это ошибка в плаге. Если допустим BOM убрать то будет вообще binary binary.
Back to top
View user's profile Send private message
yozhik



Joined: 04 May 2014
Posts: 219
Location: Электросталь

Post (Separately) Posted: Fri May 17, 2024 17:39    Post subject: Reply with quote

imig73
Ага, я тоже сразу в EncInfo стал смотреть проверять )) И Encoding Check в PCREsearch.wdx тоже корректно определяет кодировку.
_________________
Amo ergo sum
Back to top
View user's profile Send private message
olegvsk



Joined: 17 Dec 2020
Posts: 93

Post (Separately) Posted: Fri May 17, 2024 17:48    Post subject: Reply with quote

yozhik wrote:
Взгляните, пожалуйста, на этот файлик

Да, есть ошибка в определении OEM - не всегда учитывается BOM. В обновлении будет исправление.
Back to top
View user's profile Send private message
imig73



Joined: 18 Jun 2013
Posts: 285
Location: г. Иркутск

Post (Separately) Posted: Fri May 17, 2024 21:05    Post subject: Reply with quote

yozhik
А я с этим BOM вообще попал. AkelPad если сигнатуру не увидит то и сохранит без BOM. В ANSI то вообще этого нету, вот мне и на сохранял тоталовские панели с настройками в UTF-16 LE без BOM. Я три дня искал почему всё как попало работает, пока не разобрался что для TC BOM обязателен Smile
Back to top
View user's profile Send private message
olegvsk



Joined: 17 Dec 2020
Posts: 93

Post (Separately) Posted: Tue May 21, 2024 14:30    Post subject: Reply with quote

Новая версия http://totalcmd.net/plugring/CodeViewer.html
Back to top
View user's profile Send private message
yozhik



Joined: 04 May 2014
Posts: 219
Location: Электросталь

Post (Separately) Posted: Tue May 21, 2024 23:08    Post subject: Reply with quote

olegvsk
Спасибо огромное, после нескольких проб все нововведения и поправки работают исправно, пока никаких неполадок не замечено. Только фокус пока ещё улетает на долю секунды, мелькая окном др. приложения, когда закрываешь Color Picker, но на основную бо́льшую часть работы с плагином это совершенно не влияет, так что можно не обращать внимания (тем более Вы кажется писали, что там какая-то нетривиальная проблема).

Тень для границы MiniMap отлично смотрится, спасибо.

В диалоге Подсветки строк стандартные регулярки опробовал — работают, но хорошо бы где-то подсказать какая именно библиотека («диалект») используется и где описание синтаксиса почитать (не TRegExpr ли это Сорокина?).

Тёмные стили чётко работают — я их удалял, добавлял другие со стороны — всё исправно. Да, они и не большие оказались, всего-то по нескольку Кб. Вообще со стилем плагин теперь как влитой, очень качественно смотрится. Только единственное: PopUp-контекстное меню ПКМ по-прежнему белое, но вот есть такие vcl-styles-utils, которые, кажется, помогают с подобными случаями справляться, Вы в их сторону не смотрели? Если это не громоздко / не трудоёмко, то, может, стоит воспользоваться? Последний шаг до безупречности Smile

Пара наблюдений в Диалоге настройки темы.

Отображение hex-кодов цвета в правой части TVirtualStringTree — очень удобно, спасибо. Тут же, в правой части TVirtualStringTree, ПКМ по плашке с цветом открывает Color Picker напрямую — тоже очень удобно, спасибо. Быть может не слишком трудоёмко было бы сделать в левой части TVirtualStringTree, чтобы ПКМ по плашке с именем ключа вызывала менюшку с 2мя командами: "Copy color" и "Paste color" — которые бы копировали в БО / вставляли из БО код цвета (hex, TColor или ключевые слова). Не представляю себе, к сожалению, насколько это хлопотно в реализации (ибо не программер), но с точки зрения пользователя это было бы существенное подспорье, скорость настройки возрасла бы в разы, и настраивать тему стало бы как семечки щёлкать. Вот, как то так бы это выглядело:



Настройку SpecialCharSelection быть может логичней было бы переместить из группы Editor в группу Selection?

А MapActiveLine может быть лучше бы переехать из группы Search в группу Minimap? Потому что она не зависит от состояния поиска.

LeftMarginLineStateNormal отвечает за отредактированные и свежесохранённые строки? Если да, то не работает. Или я опять где-то недоглядел...

Ещё иногда проявляется несогласованность расположения курсора с подсветкой фолдинга, вот пример:



— файл, на котором это проявилось, можно взять здесь.

Я попробовал у себя пооткрывать файлы больше 10 Мб, но, по-видимому, этот порог не случайно Вами выставлен по умолчанию. Больше 10 Мб у меня на машине плагин уже не обрабатывает: файл открывается, но кол-во строк показывается неверно и при попытке переместиться в конец файла по Ctrl+End ТК зависает, а если к концу подбираться аккуратно, перелистывая по одной строчке, то в самом низу окна после текста появляются кракозябры и видно, что это не конец файла, а конец обработки плагином. Но, впрочем, это же Code Viewer, и он не предназначен для таких размеров. В целом это мне не кажется недостатком, скорее особенностью. Просто решил написать про это наблюдение. Вот как это выглядит:



и, да, шрифт в этом случае роли не играет, с системным Consolas то же самое.

Вообще, толковый плагин получился, пока всё в нём радует
_________________
Amo ergo sum
Back to top
View user's profile Send private message
olegvsk



Joined: 17 Dec 2020
Posts: 93

Post (Separately) Posted: Wed May 22, 2024 01:44    Post subject: Reply with quote

yozhik
Спасибо за обстоятельный обзор.

yozhik wrote:
какая именно библиотека («диалект») используется и где описание синтаксиса почитать
Стандартный дельфовый модуль. Подсказки по регулярным выражениям мне обычно хватает в хелпе AkelPad'а.

yozhik wrote:
PopUp-контекстное меню ПКМ по-прежнему белое
Неожиданно. С системными стилевыми хуками (меню и системные окна сообщений) вообще проблема - если я их включаю, то в плагине они работают, но при этом ломается цветовая схема самого TC, что, понятно, недопустимо. Поэтому стили для меню выключены, но у меня, например, меню всё равно остаются тёмными, их раскрашивает сам TC в соответствии со своей темой. У вас, похоже, по-другому. Какая у вас версия Windows и самого TC?

yozhik wrote:
но вот есть такие vcl-styles-utils
Спасибо, посмотрю.

yozhik wrote:
чтобы ПКМ по плашке с именем ключа вызывала менюшку с 2мя командами: "Copy color" и "Paste color"
Да без проблем Smile.

yozhik wrote:
Настройку SpecialCharSelection быть может логичней было бы переместить из группы Editor в группу Selection?
А MapActiveLine может быть лучше бы переехать из группы Search в группу Minimap? Потому что она не зависит от состояния поиска.
Да, логично.

yozhik wrote:
LeftMarginLineStateNormal отвечает за отредактированные и свежесохранённые строки?
Подсветка свежесохранённых строк сейчас отключена, лично я никогда не интересовался этой возможностью. Но включу, пусть будет.

yozhik wrote:
Ещё иногда проявляется несогласованность расположения курсора с подсветкой фолдинга
Видимо баг, проверю.

yozhik wrote:
Больше 10 Мб у меня на машине плагин уже не обрабатывает: файл открывается, но кол-во строк показывается неверно и при попытке переместиться в конец файла по Ctrl+End ТК зависает, а если к концу подбираться аккуратно, перелистывая по одной строчке, то в самом низу окна после текста появляются кракозябры и видно, что это не конец файла, а конец обработки плагином.
Нет, так быть не должно. Плагин может долго думать, но не сыпать ошибками. Не покажете файл?
Back to top
View user's profile Send private message
Batya



Joined: 15 Dec 2004
Posts: 2220
Location: Москва, Россия

Post (Separately) Posted: Wed May 22, 2024 01:52    Post subject: Reply with quote

olegvsk
Ух, ты! Прям, реально, классный плагин! Супер!

Из навскидку выявленных мелких "косячков"...
1. sql-файл в кодировке OEM-866 с текстом, начинающимся на "--", по горячей клавише Ctrl+W не переключает в кодировку WIN-1251, хотя по "Кодировка/Все поддерживаемые" переключает. Пример содержимого:
Code:
-- Тест

2. Сворачивание кода, по крайней мере для sql, "глючит" при наличии конструкции в одну строку. Пример содержимого:
Code:
declare @q int
if @q is null
begin
  select @q = case when 1=1 then 1 else 0 end
end


Огромное спасибо!!!
_________________
Нет, я не сплю. Я просто медленно моргаю.
Back to top
View user's profile Send private message
olegvsk



Joined: 17 Dec 2020
Posts: 93

Post (Separately) Posted: Wed May 22, 2024 02:34    Post subject: Reply with quote

Batya wrote:
по горячей клавише Ctrl+W не переключает в кодировку WIN-1251
Да, косяк с переключением. Сразу поправил и выложил исправленный файл, не меняя номер версии. Можно перекачать.

Batya wrote:
Сворачивание кода, по крайней мере для sql, "глючит"
Буду разбираться.
Back to top
View user's profile Send private message
yozhik



Joined: 04 May 2014
Posts: 219
Location: Электросталь

Post (Separately) Posted: Wed May 22, 2024 20:09    Post subject: Reply with quote

olegvsk wrote:
но у меня, например, меню всё равно остаются тёмными, их раскрашивает сам TC в соответствии со своей темой. У вас, похоже, по-другому. Какая у вас версия Windows и самого TC?

А, теперь понятно. Windows у меня 11 23H2 x64, а TC 11.03 32/64, но дело, похоже, не в них, а в значении ключа ForceDarkModeOptions в wincmd.ini. Дело в том, что если значение 1 (оно же умолчательное на Win 10 и выше при отсутствии самого ключа), то менюхи используются системные, а если 2, то TC рисует их сам, но не все, а только те, которые может. Это, как оказалось, неоднозначная, во многом субъективная и немного запутанная тема, поэтому я вначале кратко резюмирую, а потом, если Вам интересны подробности, то загляните по cut.

Кратко, на что влияет упомянутый ключ (в контексте нашего разговора):
  • При ForceDarkModeOptions=1
    1. меню главного окна TCx64 рисует сам;
    2. меню главного окна TCx32 вызывает системные тёмные (при условии, если отключено отображение иконок в меню);
    3. меню контекстные в обеих битностях вызываются системные тёмные (вне зависимости от того, какая тема в системе активна, тёмная или светлая).
  • При ForceDarkModeOptions=2
    1. меню главного окна TCx64 рисует сам;
    2. меню главного окна TCx32 рисует сам (вне зависимости от отображения иконок в меню);
    3. меню контекстные в обеих битностях вызываются системные текущие (т.е. если в системе активна светлая тема, то и менюхи будут светлые).
Подчёркнутые места выделяют разницу. И у меня как раз выпал такой «тяжёлый» случай (подробнее под cut'ом), что TCx32, иконки в меню отключены, ForceDarkModeOptions=2 и в системе светлая тема — поэтому и менюхи по ПКМ у меня светлые.

Вопрос теперь причём здесь плагин. Я изложу свои pro et contra, а выбор, естественно, за Вами ))
  • Если всё оставить как есть, и не прибегать к vcl-styles-utils (или чего-либо др.), то менюхи будут соответствовать более интерфейсу TC, чем плагина. Вследствие чего: большинство пользователей ничего не заметят, у них всё будет смотреться нормально-приемлемо, а малый процент таких как я будут лицезреть белые менюхи, хотя, справедливости ради, не только в плагине, но и во всём TC (ибо это — неизбежное следствие метаморфоз с настройками).
  • Если же прибегнуть к vcl-styles-utils, то менюхи станут соответствовать более интерфейсу плагина, чем TC. Вследствие чего: у большинства пользователей по-прежнему всё нормально-приемлемо, а малый процент таких как я улыбнутся шире )) Ну и, справедливости ради, интерфейс плагина будет более целостным.
Теперь чуть подробностей (вдруг интересно),
 почему я так сделал:

olegvsk wrote:
Подсветка свежесохранённых строк сейчас отключена, лично я никогда не интересовался этой возможностью. Но включу, пусть будет.

А я ею сейчас заинтересовался только потому, что ключ есть, его видно, но он не работает — когнитивный диссонанс получается )) Наверное лучше чтоб эта подсветка работала, а желающие могут её «отключить», присвоив ей цвет фона. Я, кстати, так и сделаю себе, не люблю когда много цветовых акцентов, ибо теряется смысл акцентов.
olegvsk wrote:
Плагин может долго думать, но не сыпать ошибками. Не покажете файл?

Конечно, вот пожалуйста. Перепроверил сейчас на TCx64 — та ж беда. Но у меня и на других файлах это проявляется: на всех, которые больше 10,2 Мб.
olegvsk wrote:
Стандартный дельфовый модуль

Понятно, спасибо. Он там с PCRE взаимодействует. Тогда, если когда-нибудь руки дойдут до краткого руководства, то можно использовать следующие ссылки:
  1. Исчерпывающий конспект по синтаксису PCRE.
  2. Подробнее о дельфовом TRegEx.
  3. Подробнее о PCRE.
  4. На русском неплохой, вроде, конспект по синтаксису PCRE.

_________________
Amo ergo sum
Back to top
View user's profile Send private message
BeTeP



Joined: 31 Mar 2005
Posts: 120
Location: Санкт-Петербург

Post (Separately) Posted: Wed May 22, 2024 20:39    Post subject: Reply with quote

yozhik wrote:
Но у меня и на других файлах это проявляется: на всех, которые больше 10,2 Мб.

Осмелюсь предположить, что дело не в размере файла, а в количестве строк в этом самом файле.
У меня без проблем открывается файл 13,4 МБ, но в нём, в отличие от вашего файла, всего 9493 строки.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Плагины Total Commander All times are GMT + 4 Hours
Goto page Previous  1, 2, 3, 4, 5, 6, 7, 8, 9, 10  Next
Page 4 of 10

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group