AkelPad Forum Index AkelPad
Support forum
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

XBrackets plugin
Goto page Previous  1, 2, 3 ... 7, 8, 9 ... 19, 20, 21  Next
 
Post new topic   Reply to topic    AkelPad Forum Index -> Plugins
View previous topic :: View next topic  
Author Message
DV



Joined: 16 Nov 2006
Posts: 830
Location: Kyiv, Ukraine

PostPosted: Thu Nov 19, 2009 8:12 am    Post subject: Reply with quote

Fr0sT wrote:
Возникла идея: добавить функции "Окружить выделенный текст" символами

У плагина есть "магическая" настройка sel_autobr = 1.
Back to top
View user's profile Send private message
VladSh



Joined: 29 Nov 2006
Posts: 2602
Location: Киев, Русь

PostPosted: Thu Nov 19, 2009 9:59 am    Post subject: Reply with quote

FeyFre wrote:
VladSh, если бы это было просто, его бы давно сделали бы!
Ты мне расскажи, как ты собираешься выделить текст, а потом ввести ключ для подстановки AutoComplete, при этом не потеряв выделения? Нет, это совсем не просто. Плагин Scripts оказался проще и практичнее.
1. Выделяю текст.
2. Жму определённую комбинацию клавиш для вызова диалога AutoComplete (у меня это Alt+A), при этом происходит:
- запоминание выделенного текста (если выделение сбрасывается, то надо запоминать позицию начала выделения и его окончания);
- вывод диалога с вариантами выбора ключевых слов (как это сейчас и происходит!);
3. При выборе моего REM-END_REM производится замена выделенного текста на него же, но заключённого в эти "теги".
Для этого в плагин нужно всего лишь добавить поддержку запоминания выделенного текста - параметр %s.
В настройках автодополнения это выглядело бы так:
Code:
%#REM-END_REM
%%REM
   %s%|
%%END REM
Всё просто, как барабан!
Если это можно сделать скриптами, то почему нельзя в плагине???
Back to top
View user's profile Send private message Visit poster's website
VladSh



Joined: 29 Nov 2006
Posts: 2602
Location: Киев, Русь

PostPosted: Fri Nov 20, 2009 1:27 pm    Post subject: Reply with quote

DV wrote:
Fr0sT wrote:
Возникла идея: добавить функции "Окружить выделенный текст" символами

У плагина есть "магическая" настройка sel_autobr = 1.
Что-то никак не удаётся заставить её фунциклировать... может какие-то дополнительные условия есть?
/в доку добавить, что sel_autobr = 0 [по умолчанию]/

После выделения текста и набора первой скобки производится замена выделенного текста на скобки. Почему полная отмена действия производится двумя Ctrl+Z (сначала удаляются набранные скобки, а затем появляется удалённый выделенный текст)? Если sel_autobr = 1, тогда выделенный текст можно заменять обрамлённым скобками в одно действие - отмена действия удобнее.

Можно ли сделать, чтобы если курсор уходит от подсвечиваемой скобки, то не сбрасывать жирную подсветку? Другими словами - хочется, чтобы подсветка скобок отображалась всегда, даже в середине фразы (в таком случае подсвечивать самые крайние скобки в строке), а не только когда курсор находится у скобки. Такая подсветка, естессно сможет работать в пределах одной строки.
Кроме того, что будет отлично ориентироваться, ещё и будет удобно выделять всё в скобках с помощью SelToMatchingBracket.
Edited: кстати нашёл этот вариант на 1-й странице!
Back to top
View user's profile Send private message Visit poster's website
DV



Joined: 16 Nov 2006
Posts: 830
Location: Kyiv, Ukraine

PostPosted: Fri Nov 20, 2009 6:38 pm    Post subject: Reply with quote

VladSh wrote:
Что-то никак не удаётся заставить её фунциклировать...

В настройках плагина должно быть включено автозавершение скобок (Autocomplete brackets ([{""}]))

VladSh wrote:
Можно ли сделать, чтобы если курсор уходит от подсвечиваемой скобки, то не сбрасывать жирную подсветку?

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

[ |-> ( ) ] (подсвечены внешние)
[ <-|( ) ] (подсвечены внутренние)
[ | ( ) ] (нет подсветки)

То же самое будет, если поместить каретку просто между скобок:
[ | ] (нет подсветки)

Так что вряд ли такая модификация имеет смысл. Всё равно внешние скобки будут подсвечиваться не всегда, когда каретка находится между ними. Фраза "не всегда" будет применима даже в случае, если при любом перемещении каретки мы будем искать парные скобки левее и правее во всей видимой части текста - в данном случае ограничение на видимую часть текста. Поиск же парных скобок без ограничений влево и вправо в файле размером в несколько мегабайт затормозит редактор конкретно.
Back to top
View user's profile Send private message
Fr0sT



Joined: 24 Jul 2007
Posts: 876

PostPosted: Sat Nov 21, 2009 9:58 pm    Post subject: Reply with quote

Quote:
У плагина есть "магическая" настройка sel_autobr = 1.

О! И правда что Smile Благодарю!
Back to top
View user's profile Send private message
VladSh



Joined: 29 Nov 2006
Posts: 2602
Location: Киев, Русь

PostPosted: Mon Nov 23, 2009 8:59 am    Post subject: Reply with quote

DV wrote:
VladSh wrote:
Что-то никак не удаётся заставить её фунциклировать...

В настройках плагина должно быть включено автозавершение скобок (Autocomplete brackets ([{""}]))
Включено.
Я делаю так: выделил текст и ввожу с клавиатуры символ { ... жду, что сразу после ввода скобки автоматом получится вот так: {выделенный текст}, а не получается.

DV wrote:
[ | ( ) ] (нет подсветки)
[ | ] (нет подсветки)
Хотел так:
Quote:
[ | ( ) ]
[ | ]

DV wrote:
Фраза "не всегда" будет применима даже в случае, если при любом перемещении каретки мы будем искать парные скобки левее и правее во всей видимой части текста - в данном случае ограничение на видимую часть текста. Поиск же парных скобок без ограничений влево и вправо в файле размером в несколько мегабайт затормозит редактор конкретно.
Имел ввиду в пределах одной строки, а не всего текста, только для программного кода. Это для удобства ориентирования в скрипте и быстрого выделения куска кода между скобками для переброски выделенного кода в другое место.
Может быть подсветку делать и не стоит (хотя хочется Laughing), а вот выделение текста в случае, если скобки не подсвечены, чтобы производилось между самыми крайними скобками в строке.

Есть ещё одна отличная идея из Zen Coding по перемещению курсора...
Back to top
View user's profile Send private message Visit poster's website
DV



Joined: 16 Nov 2006
Posts: 830
Location: Kyiv, Ukraine

PostPosted: Tue Nov 24, 2009 9:04 am    Post subject: Reply with quote

VladSh wrote:
Что-то никак не удаётся заставить её фунциклировать...

Файл XBrackets.ini - в студию!

VladSh wrote:
выделение текста в случае, если скобки не подсвечены

Пример:

{ text1 = " ( | } text 2 )"

И что плагин должен подсвечивать в этом случае, учитывая, что плагин не производит никакого синтаксического разбора строки (в целях простоты и быстродействия) и абстрагируется от языково-специфичного синтаксиса (в целях простоты и быстродействия)?
Смысл вопроса в том, что можно либо сначала искать скобку слева, а потом парную справа, либо сначала искать скобку справа, а потом парную ей слева. И результаты могут оказаться различны.
Да и вообще, что-то влом мне этим заниматься.
Back to top
View user's profile Send private message
VladSh



Joined: 29 Nov 2006
Posts: 2602
Location: Киев, Русь

PostPosted: Tue Nov 24, 2009 9:41 am    Post subject: Reply with quote

DV
Я менял XBrackets.ini из AkelPad'а. Закрыл Акел, отредактировал XBrackets.ini с помощью обычного блокнота и всё получилось.

Понял.

P.S. Можно ли как-то сделать, чтобы скобки убирались в одно действие отмены (Ctrl+Z)?
Back to top
View user's profile Send private message Visit poster's website
DV



Joined: 16 Nov 2006
Posts: 830
Location: Kyiv, Ukraine

PostPosted: Wed Nov 25, 2009 9:25 am    Post subject: Reply with quote

VladSh wrote:
Можно ли как-то сделать, чтобы скобки убирались в одно действие отмены (Ctrl+Z)?

Пробовал во всех AnyRichEdit_ReplaceSelText поменять последний параметр - bCanUndo - с TRUE на FALSE, но ничего от этого не изменилось.
Back to top
View user's profile Send private message
VladSh



Joined: 29 Nov 2006
Posts: 2602
Location: Киев, Русь

PostPosted: Wed Nov 25, 2009 11:16 am    Post subject: Reply with quote

DV
Не знаю как работает AnyRichEdit_ReplaceSelText... Embarassed Smile
А можно сделать проще: взять в переменную выделенный текст, добавить к ней скобки, а потом заменить выделенный текст тем, что получилось?
Back to top
View user's profile Send private message Visit poster's website
DV



Joined: 16 Nov 2006
Posts: 830
Location: Kyiv, Ukraine

PostPosted: Fri Nov 27, 2009 9:02 am    Post subject: Reply with quote

XBrackets v.3.2
+ изменено: теперь 'sel_autobr = 1' заменяет весь выделенный текст

VladSh wrote:
взять в переменную выделенный текст, добавить к ней скобки, а потом заменить выделенный текст тем, что получилось?


Кстати говоря, дополнительные настройки XBrackets можно менять, не закрывая AkelPad. В три шага, вот в таком порядке:

1а. Открываем окно настроек плагинов и отключаем функцию XBrackets::Main (если она активна).
1б. (альтернативный вариант) Запускаем XBrackets::Settings и в появившемся окне дважды щелкаем лев.кн.мыши на "Status: the plugin is active", чтобы надпись сменилась на "Status: the plugin is NOT active".
При деактивации плагин автоматически сохраняет свои настройки.

2. Открываем файл "XBrackets.ini" (если настройки хранятся в ini-файле) или ключ реестра "HKEY_CURRENT_USER\Software\Akelsoft\AkelPad\Plugs" и меняем настройки плагина XBrackets. Не забываем сохранить изменённый файл "XBrackets.ini".

3. Активируем плагин XBrackets, вызвав функцию XBrackets::Main или запустив XBrackets::Settings и в появившемся окне дважды щелкнув лев.кн.мыши на "Status: the plugin is NOT active".
При активации плагин автоматически перечитывает свои настройки.

Йаабадабадуу!!! Smile)
Back to top
View user's profile Send private message
VladSh



Joined: 29 Nov 2006
Posts: 2602
Location: Киев, Русь

PostPosted: Fri Nov 27, 2009 9:44 am    Post subject: Reply with quote

DV
Батенька, да Вы монстр! Cool
А можно ли все эти пункты добавить в XBrackets-_.txt в следующую версию? А то затеряется здесь, в страницах, и забудется...
Back to top
View user's profile Send private message Visit poster's website
VladSh



Joined: 29 Nov 2006
Posts: 2602
Location: Киев, Русь

PostPosted: Mon Nov 30, 2009 9:10 am    Post subject: Reply with quote

DV
Можно ли будет в следующей версии для 'sel_autobr = 1' добавить "русские" кавычки, типа « » ? Было бы удобно для тех, кто набирает типографские русские тексты.
Back to top
View user's profile Send private message Visit poster's website
DV



Joined: 16 Nov 2006
Posts: 830
Location: Kyiv, Ukraine

PostPosted: Mon Nov 30, 2009 6:36 pm    Post subject: Reply with quote

VladSh wrote:
Можно ли будет в следующей версии для 'sel_autobr = 1' добавить "русские" кавычки, типа « » ?

Разве не работает?
Back to top
View user's profile Send private message
VladSh



Joined: 29 Nov 2006
Posts: 2602
Location: Киев, Русь

PostPosted: Tue Dec 01, 2009 9:57 am    Post subject: Reply with quote

DV
Может и работает, только какую комбинацию клавиш нажать, чтобы эти кавычки появились? Я просто скриптец писал похожий, так он если Shift+" жмёшь, то обычную закавыку вставляет, а если Shift+2, то русскую..
Back to top
View user's profile Send private message Visit poster's website
Display posts from previous:   
Post new topic   Reply to topic    AkelPad Forum Index -> Plugins All times are GMT
Goto page Previous  1, 2, 3 ... 7, 8, 9 ... 19, 20, 21  Next
Page 8 of 21

 
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


SourceForge.net Logo Powered by phpBB © 2001, 2005 phpBB Group