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 

SynPlus
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
Моторокер



Joined: 06 May 2005
Posts: 1517
Location: г. Пермь (читается Перьмь)

Post (Separately) Posted: Mon Jul 17, 2006 06:54    Post subject: Reply with quote

Vitalik wrote:
Моторокер wrote:
Так и делал, только подсвечиваются любые слова, где есть эти латинские буквы.

А что тогда нужно?
Разъясни подробнее что надо подсвечивать, а что нет Wink

Как понял, в нынешней версии сделать этого нельзя..
Нужно подсвечивать шестнадцатеричные числа 0..9A..F
Если занести все символы, то будут подкрашены и слова типа CAD. Но наверно их не оч. много. Ладно, отмена.

Сделал автоустановку схемы подсветки для *.nsi. Total конечно ругается, на missing DLL, но это фигня. Схема ставится в папку схем. Добавляю через Ctr+O, ругается, что не может скопировать. Ну и понятно вроде, из одного места в то же самое скопировать сложно Smile Делаю одновить список (автопоиск), плуг добавляется, расширение закрепляю за ним. Только при обновлении включаются все ранее отключенные плагины Sad хотя ты вроде где-то писал, что этот модуль изменится?
Back to top
View user's profile Send private message
Vitalik



Joined: 15 Dec 2004
Posts: 21
Location: Украина, Харьков

Post (Separately) Posted: Mon Jul 17, 2006 11:29    Post subject: Reply with quote

Моторокер wrote:
Как понял, в нынешней версии сделать этого нельзя..
Нужно подсвечивать шестнадцатеричные числа 0..9A..F
Если занести все символы, то будут подкрашены и слова типа CAD. Но наверно их не оч. много. Ладно, отмена.

Ладно, допустим нельзя..
Но все равно, пожалуйста, скинь хотя бы примерчик своего nsi-файла, чтобы я хоть понял, что требовалось Wink
Какие же должны быть критерии отображения символов 'CAD' как шестнадцатиричных?..

Моторокер wrote:
Добавляю через Ctr+O, ругается, что не может скопировать. Ну и понятно вроде, из одного места в то же самое скопировать сложно Smile Делаю одновить список (автопоиск), плуг добавляется, расширение закрепляю за ним. Только при обновлении включаются все ранее отключенные плагины Sad хотя ты вроде где-то писал, что этот модуль изменится?

Угу, я работаю над этим Confused
_________________
Добро пожаловать на http://www.unihighlighter.com
Back to top
View user's profile Send private message Yahoo Messenger
Моторокер



Joined: 06 May 2005
Posts: 1517
Location: г. Пермь (читается Перьмь)

Post (Separately) Posted: Mon Jul 17, 2006 12:08    Post subject: Reply with quote

Да в принципе любое число:
"D:\Program Files\NSIS\Examples\bigtest.nsi"
BGGradient 000000 800000 FFFFFF
InstallColors FF8080 000030

И схема http://motorocker.nm.ru/nsis.hgl.zip
_________________
плагины для Total Commander, статьи Graphics Converter; NSCopy; SEO HTML; KillOK; Плагин на Delphi
ПармаСруб - строительство домов и бань в Перми
Back to top
View user's profile Send private message
Batya



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

Post (Separately) Posted: Mon Jul 17, 2006 12:24    Post subject: Reply with quote

Vitalik
Я думаю, вопрос надо поставить по-другому:
Можно ли задать фиксированную длину набора символов (например, 6)?
_________________
Нет, я не сплю. Я просто медленно моргаю.
Back to top
View user's profile Send private message
KF-121



Joined: 13 Feb 2006
Posts: 90

Post (Separately) Posted: Mon Jul 17, 2006 19:36    Post subject: Reply with quote

Вот несколько бугов и пожеланий!

1. В режиме просмотра не переходит на закладку.
2. SynPlusEditor - при запуске не разворачивается на весь экран, хотя до закрытия был развернут на весь экран.
3. Такие-то проблемы с копированием и вставкой. По роду деятельности на работе довольно много работаем с удаленным рабочим столом. Так вот когда открываешь новое соединение, буфер нормально работает, но через некоторое время, просто перестает вставлять на удаленной машине или отказывается вставлять на локали. Сегодня наконец-то выяснили, что это из-за плагина. Проблема заключается в том, что один раз скопировал и удаленке вставил. второй раз он не захотел вставлять. Закрыли плагин, скопировали другую строку, и она уже вставляется на уладенку. Парадокс какой-то. В чем может быть проблема.
4. Еще есть предложение, при поиске выводить окно со списком всего найденного, а при щелканьи на строку в этом окне, будет переходить на ту строку, где она в тексте встречается. Например, как это реализовано в UltraEdit.
5. Спасибо за количество выделенных строк и нормальное выделение по Alt.
_________________
Во всем виновато КАКАДУ!
--------------------------------
IIIypuk©KF-121
Back to top
View user's profile Send private message
Vitalik



Joined: 15 Dec 2004
Posts: 21
Location: Украина, Харьков

Post (Separately) Posted: Tue Jul 18, 2006 00:57    Post subject: Reply with quote

Batya wrote:
Можно ли задать фиксированную длину набора символов (например, 6)?

Пока что нет..

Моторокер wrote:
Добавляю через Ctr+O, ругается, что не может скопировать. Ну и понятно вроде, из одного места в то же самое скопировать сложно Smile Делаю одновить список (автопоиск), плуг добавляется, расширение закрепляю за ним. Только при обновлении включаются все ранее отключенные плагины Sad хотя ты вроде где-то писал, что этот модуль изменится?

Все, эти моменты уже вроде сделаны.
Увидите в новой версии Wink
_________________
Добро пожаловать на http://www.unihighlighter.com
Back to top
View user's profile Send private message Yahoo Messenger
Vitalik



Joined: 15 Dec 2004
Posts: 21
Location: Украина, Харьков

Post (Separately) Posted: Wed Jul 19, 2006 00:30    Post subject: Reply with quote

Batya wrote:
Можно ли задать фиксированную длину набора символов (например, 6)?

Теперь можно! Laughing
Добавил эту возможность, это оказалось совсем не сложно Smile

И еще одна хорошая новость: теперь нет утечек памяти! Cool
_________________
Добро пожаловать на http://www.unihighlighter.com
Back to top
View user's profile Send private message Yahoo Messenger
Моторокер



Joined: 06 May 2005
Posts: 1517
Location: г. Пермь (читается Перьмь)

Post (Separately) Posted: Wed Jul 19, 2006 07:01    Post subject: Reply with quote

Vitalik wrote:
Batya wrote:
Можно ли задать фиксированную длину набора символов (например, 6)?

Теперь можно! Laughing

Старые версии плагина будут эту фичу схемы подсветки игнорировать?
Back to top
View user's profile Send private message
Vitalik



Joined: 15 Dec 2004
Posts: 21
Location: Украина, Харьков

Post (Separately) Posted: Wed Jul 19, 2006 09:43    Post subject: Reply with quote

Моторокер wrote:
Старые версии плагина будут эту фичу схемы подсветки игнорировать?

Это на самом деле совсем не важно, так как формат файла в новой версии и так уже кардинально изменился (надо было перестроить файл с учетом новых возможностей)
Если есть желание, могу попробовать сделать возможность сохранения подсветки в старых форматах (их на самом деле три), все равно давно уже хотел это сделать Smile
Что скажешь? Wink
_________________
Добро пожаловать на http://www.unihighlighter.com
Back to top
View user's profile Send private message Yahoo Messenger
Моторокер



Joined: 06 May 2005
Posts: 1517
Location: г. Пермь (читается Перьмь)

Post (Separately) Posted: Wed Jul 19, 2006 11:40    Post subject: Reply with quote

Получается, что старые версии плагина будут ругаться на новый файл?
В xml вроде удобно сделать игнор новых тэгов старыми версиями?
Или это не новые тэги, а как-то изменённые старые? КашаNew=МаслоOld? Smile

Новые версии плагина будут поддерживать старые подсветки? Будут ругаться? Придётся править всё заново?
_________________
плагины для Total Commander, статьи Graphics Converter; NSCopy; SEO HTML; KillOK; Плагин на Delphi
ПармаСруб - строительство домов и бань в Перми
Back to top
View user's profile Send private message
Vitalik



Joined: 15 Dec 2004
Posts: 21
Location: Украина, Харьков

Post (Separately) Posted: Wed Jul 19, 2006 15:53    Post subject: Reply with quote

Моторокер wrote:
Получается, что старые версии плагина будут ругаться на новый файл?

Угумс Crying or Very sad

Моторокер wrote:
В xml вроде удобно сделать игнор новых тэгов старыми версиями?

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

Моторокер wrote:
Или это не новые тэги, а как-то изменённые старые? КашаNew=МаслоOld?

Да, но дело даже не только в таких мелких исправлениях.
Изменена сама структура xml-файла. Причем изменена кардинально. Сейчас приведу маленькие примеры с комментариями Wink

Во-первых, жил да был раньше самый первый формат файла. От версии плагина SynPlus 2.0b1 до 2.3 он хорошел и развивался, но кардинально не менялся (просто добавлялись новые свойства и правила как новые теги в файле). Сам формат файла (можно сказать) изменялся от 1.0 до 1.5, вот небольшой его кусочек (здесь только информация о подсветке, один диапазон, один список ключевых слов и один набор символов):
Code:
<UniHighlighter>
 <ImportantInfo>
  ******* Please read carefully *************************
  * Please, make any changes in this file very carefuly!*
  * It is much more convinient to use native designer!  *
  *******************************************************
 </ImportantInfo>
 <Info>
  <General>
   <Name>Sample file</Name>
   <FileTypeName>TXT</FileTypeName>
   <Layout>Standard</Layout>
  </General>
  <Author>
   <Name>Vitalik</Name>
   <Email>vetal-x@mail.ru</Email>
   <Web></Web>
   <Copyright>© Vitaly Lyapota, 2006</Copyright>
   <Company>N/A</Company>
   <Remark></Remark>
  </Author>
  <Version>
   <Version>1</Version>
   <Revision>3</Revision>
   <Date>38917,4941534606</Date>
   <Type>Beta</Type>
  </Version>
  <History>
  </History>
  <Sample>
   <S>Sample code here...</S>
   <S>Second line of sample code</S>
  </Sample>
 </Info>
 <SchemeIndex>0</SchemeIndex>
 <Schemes>
  <S>Vitalik</S>
 </Schemes>
 <Range Name="Root">
 <Attri>
  <Back>-2147483643</Back>
  <Fore>16711680</Fore>
  <Style></Style>
  <ParentForeground>False</ParentForeground>
  <ParentBackground>False</ParentBackground>
 </Attri>
 <Enabled>True</Enabled>
 <OpenSymbol></OpenSymbol>
 <OpenSymbolFinishOnEol>False</OpenSymbolFinishOnEol>
 <CloseSymbol></CloseSymbol>
 <CloseSymbolFinishOnEol>False</CloseSymbolFinishOnEol>
 <OpenSymbolStartLine>False</OpenSymbolStartLine>
 <CloseSymbolStartLine>False</CloseSymbolStartLine>
 <DelimiterChars>!&quot;#$%&amp;'()*+,-./:;&lt;=&gt;?@[\]^`{|}~</DelimiterChars>
 <OpenSymbolPartOfTerm>Right</OpenSymbolPartOfTerm>
 <CloseSymbolPartOfTerm>False</CloseSymbolPartOfTerm>
 <CloseOnTerm>False</CloseOnTerm>
 <CloseOnEol>False</CloseOnEol>
 <AllowPredClose>False</AllowPredClose>
 <CaseSensitive>False</CaseSensitive>
 <KW Name="Some keywords">
  <Attri>
   <Back>-2147483643</Back>
   <Fore>16711680</Fore>
   <Style></Style>
   <ParentForeground>True</ParentForeground>
   <ParentBackground>True</ParentBackground>
  </Attri>
  <Enabled>True</Enabled>
  <W>keyword1</W>
  <W>keyword2</W>
  <W>keyword3</W>
 </KW>
  <Set Name="Numbers">
   <Attri>
    <Back>-2147483643</Back>
    <Fore>128</Fore>
    <Style></Style>
    <ParentForeground>False</ParentForeground>
    <ParentBackground>True</ParentBackground>
   </Attri>
   <Enabled>True</Enabled>
   <S>0123456789</S>
  </Set>
  <Range Name="Comments">
  <Attri>
   <Back>-2147483643</Back>
   <Fore>255</Fore>
   <Style></Style>
   <ParentForeground>False</ParentForeground>
   <ParentBackground>False</ParentBackground>
  </Attri>
  <Enabled>True</Enabled>
  <OpenSymbol>//</OpenSymbol>
  <OpenSymbolFinishOnEol>False</OpenSymbolFinishOnEol>
  <CloseSymbol></CloseSymbol>
  <CloseSymbolFinishOnEol>False</CloseSymbolFinishOnEol>
  <OpenSymbolStartLine>True</OpenSymbolStartLine>
  <CloseSymbolStartLine>False</CloseSymbolStartLine>
  <DelimiterChars>!&quot;#$%&amp;'()*+,-./:;&lt;=&gt;?@[\]^`{|}~</DelimiterChars>
  <OpenSymbolPartOfTerm>Right</OpenSymbolPartOfTerm>
  <CloseSymbolPartOfTerm>False</CloseSymbolPartOfTerm>
  <CloseOnTerm>False</CloseOnTerm>
  <CloseOnEol>True</CloseOnEol>
  <AllowPredClose>False</AllowPredClose>
  <CaseSensitive>False</CaseSensitive>
  </Range>
 </Range>
 <CopyRight>Rule file for UniHighlighter Delphi component (Copyright(C) Fantasist(walking_in_the_sky@yahoo.com), Vit(nevzorov@yahoo.com), Vitalik(vetal-x@mail.ru), 2002-2004)</CopyRight>
</UniHighlighter>

Согласитесь, что уж больно "грузной" он какой-то. В смысле, что сильно большой, много избыточной (оберточной) информации...

Чтобы визуально "разгрузить" этот формат файла в SynPlus 2.4 был введен новый формат файла (условно можно назвать версию этого формата: 1.8), опять же приведу такой же аналогичный кусочек этого формата (тоже только информация о подсветке, один диапазон, один список ключевых слов и один набор символов):
Code:
<UniHighlighter version="1.8.1">
  <Info>
    <General Name="Sample file" Extensions="TXT"/>
    <Author Name="Vitalik" Email="vetal-x@mail.ru" Web="" Copyright="© Vitaly Lyapota, 2006" Company="N/A" Remark=""/>
    <Version Version="1" Revision="3" Date="38917,5138890625"/>
    <History>
    </History>
    <Sample>
      <S>Sample code here...</S>
      <S>Second line of sample code</S>
    </Sample>
  </Info>
  <Scheme File="" Name=""/>
  <Range Name="Root" Attributes="0,-2147483643;False:False." Style=""
         Delimiters="!&quot;#$%&amp;'()*+,-./:;&lt;=&gt;?@[\]^`{|}~">
    <Rule/>
    <Keywords Name="Symbols" Attributes="16711680,-2147483643;True:True." Style="">
      <word value="keyword1"/>
      <word value="keyword2"/>
      <word value="keyword3"/>
    </Keywords>
    <Set Name="Numbers" Attributes="128,-2147483643;False:True." Style="" Symbols="0123456789"/>
    <Range Name="Comments" Attributes="255,-2147483643;False:False." Style=""
           Delimiters="!&quot;#$%&amp;'()*+,-./:;&lt;=&gt;?@[\]^`{|}~">
      <Rule OpenSymbol="//" OpenSymbolStartLine="True" OpenSymbolPartOfTerm="Right" CloseOnEol="True"/>
  </Range>
  <CopyRight>Rule file for UniHighlighter Delphi component (Copyright(C) Fantasist(walking_in_the_sky@yahoo.com), Vit(nevzorov@yahoo.com), Vitalik(vetal-x@mail.ru), 2002-2004)</CopyRight>
</UniHighlighter>

Получился гораздо более элегантный формат, хотя и не лишенный своих недостатков (например, Attributes, как видно, хранились не очень красиво)

Такой формат файла продержался вплоть до версии SynPlus 2.7.3. В сентябре прошлого года вышла новая версия компонента подсветки (т.н. UniHighlighter 2.0 Alpha), но изменения в ней были слишком глобальные (отчасти из-за подключившегося к проекту Quadr0), чтобы его можно было легко встроить в плагин... Sad А затем начались учебные будни и я на очень долгий срок лишился времени на плагин.. Но вот опять лето! Над компонентом была проведена большая работа, а также над интеграцией компонента с плагином. Об изменениях на этом фронте можно наблюдать на форуме компонента: http://forum.vingrad.ru/index.php?showforum=170
Вобщем, в новой версии компонента формат файла сильно изменился и я думаю в лучшую сторону (хотя, опять же, есть и свои недостатки, например, многострочные тексты вынесены в атрибуты для ускорения считывания подсветки, но в файле это выглядит не совсем красиво): Smile
Code:
<?xml version="1.0" encoding="windows-1251"?>
<SynUniHighlighter Version="2.0">
   <SyntaxColoring>
      <Info>
         <General Name="Sample file" Extensions="TXT" Version="1" Revision="3" Sample="Sample code here...
Second line of sample code" History=""/>
         <Author Name="Vitalik" Mail="vetal-x@mail.ru" Web="" Copyright="© Vitaly Lyapota, 2006" Company="N/A" Remark=""/>
      </Info>
      <Schemes/>
      <Editor/>
      <MainRules Name="Root" Style="">
         <Attributes Foreground="clBlack" Background="$80000005"/>
         <Delimiters Value="!&quot;#$%&amp;'()*+,-./:;&lt;=&gt;?@[\]^`{|}~"/>
         <SubRules>
            <Range Name="New" Style="">
               <Attributes Foreground="clRed" Background="$80000005" ParentForeground="True" ParentBackground="True"/>
               <Delimiters Value="!&quot;#$%&amp;'()*+,-./:;&lt;=&gt;?@[\]^`{|}~"/>
               <OpenToken StartLine="True" PartOfTerm="True"/>
               <Properties CloseOnEol="True"/>
               <MultiTokens>
                  <Tokens Open="//"/>
               </MultiTokens>
               <SubRules/>
            </Range>
            <KeyList Name="Symbols" Enabled="True" Style="" Words="keyword1
keyword2
keyword3
">
               <Attributes Foreground="clBlue" Background="$80000005" ParentForeground="True" ParentBackground="True"/>
            </KeyList>
            <Set Name="Numbers" Enabled="True" Style="" Symbols="0123456789" Quantity="2">
               <Attributes Foreground="clMaroon" Background="$80000005" ParentBackground="True"/>
            </Set>
         </SubRules>
      </MainRules>
   </SyntaxColoring>
</SynUniHighlighter>


Моторокер wrote:
Новые версии плагина будут поддерживать старые подсветки? Будут ругаться? Придётся править всё заново?

Такую возможность я закодил в первую очередь Wink
Также как и SynPlus начиная с версии 2.4 понимает все предыдущие форматы вплоть до изначального, новый SynPlus будет иметь возможность беспроблемно считывать подсветки всех старых форматов Wink


P.S. Я уже сделал возможность сохранять подсветки в старом формате (который используется в последних SynPlus), осталось только это прикрутить к редактору подсветок и, может быть, к "менеджеру" подсветок Smile

P.P.S Что-то у меня этот форум не всегда загружается.. Поэтому и не мог так долго запостить ответ.. Sad
_________________
Добро пожаловать на http://www.unihighlighter.com
Back to top
View user's profile Send private message Yahoo Messenger
Vitalik



Joined: 15 Dec 2004
Posts: 21
Location: Украина, Харьков

Post (Separately) Posted: Wed Jul 19, 2006 18:44    Post subject: Reply with quote

Ой, в примере файла версии 2.0 нужно учесть, что под тегом <SyntaxColoring> есть тег <CodeFolding> с деревом правил CodeFolding'а. Собственно именно для этого и выделены правила подсветки в отдельный тег SyntaxColoring (потому что появился CodeFolding) Smile
_________________
Добро пожаловать на http://www.unihighlighter.com
Back to top
View user's profile Send private message Yahoo Messenger
BasiL



Joined: 24 Nov 2006
Posts: 11

Post (Separately) Posted: Fri Nov 24, 2006 16:37    Post subject: Reply with quote

Хотелось бы фичу поиска выделенного текста по F3, с начала файла (как реализовано в UltraEdit).
Так же было бы неплохо выбирать тип поиска, по кругу или только до конца файла (в общем случае и в случае поиска выделеного текста)
Back to top
View user's profile Send private message
SCHMaster



Joined: 15 Dec 2004
Posts: 296
Location: Киев

Post (Separately) Posted: Tue Nov 28, 2006 13:27    Post subject: Reply with quote

2BasiL
Текст под курсором и поиск с начала - с первых версий... Диалог поиска SynPlus, а не стандартный и там все это есть, и поиск текста под курсором и поиск с начала...
_________________
Хороший юзер - мертвый юзер
Мои работы
Back to top
View user's profile Send private message
BasiL



Joined: 24 Nov 2006
Posts: 11

Post (Separately) Posted: Tue Nov 28, 2006 14:16    Post subject: Reply with quote

Нет, я не такой поиск имел ввиду.
опишу так, как мне это удобно делать в UE:
выделил текст-нажал F3
происходит поиск выделенного текста с этого места и до конца файла и далее по кругу, т.е. дойдя до конца, поиск продолжается сначала.
в SynPlus приходится давить F4 (режим редактирования, т.к. Ctrl+F7 в просмотре не работает), потом Ctrl+W.
и даже в этом случае поиск только до конца файла.
с начала не продолжается.
Да и самое главное: диалоговое окно поиска каждый раз видеть не хочется. если понадобится другой вид поиска - настрою в диалоговом окне... в общем хотелось бы выбирать режим поиска по F3 по умолчанию.
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 6 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