XBrackets plugin

Discuss and announce AkelPad plugins
  • Author
  • Message
DV
Offline
Posts: 1250
Joined: Thu Nov 16, 2006 11:53 am
Location: Kyiv, Ukraine

Post by DV »

Фух! Пришлось немного повозиться, но уже, вроде, все работает. В диалог настроек плагина добавил панель со статусом плагина - если щелкнуть по ней мышкой два раза, статус меняется: плагин выгружается (Unitialize + pf->bRunning = FALSE) или загружается (AKD_DLLCALL с параметром AkelBrackets::Main).
Еще пару дней погоняю, чтобы убедиться, что нигде не падает.

Да, кстати, после загрузки плагина с помощью
(AKD_DLLCALL с параметром AkelBrackets::Main)
и последующей выгрузки с помощью
(Unitialize + pf->bRunning = FALSE)
имеем такую ситуацию: AKD_DLLFIND возвращает ненулевой указатель для AkelBrackets::Main, но установка pf->bRunning = TRUE ничего не меняет - поскольку внутренняя функция Unitialize плагина уже сработала, но AkelPad все еще хранит информацию о AkelBrackets::Main. Собственно, я это вот к чему: не ведут ли подобные мои действия к утечке памяти в AkelPad, и может мне лучше воспользоваться AKD_DLLUNLOAD?

Offline
Site Admin
Posts: 6311
Joined: Thu Jul 06, 2006 7:20 am

Post by Instructor »

Надо глянуть код в особености чему присваивается *pd->nUnload.

DV
Offline
Posts: 1250
Joined: Thu Nov 16, 2006 11:53 am
Location: Kyiv, Ukraine

Post by DV »

После долгого перерыва с гордостью представляю версию 1.4 плагина :)
Исправлено:
- подсвеченная скобка окрашивала панель LineBoard
- некоторые внутренние переменные инициализировались некорректно

Offline
Posts: 4
Joined: Wed Dec 19, 2007 5:17 am

Post by poiNt_3D »

Добрый день.

Очень хотелось бы, чтобы плагин обрабатывал одинарные кавычки - ' , а так же чтобы текст в кавычках тоже можно было подсвечивать.

И еще, есть проблема при автозавершении кавычек при вводе текста наподобие:
<a href="
- В этом случае кавычка не автозавершатся, как я понял перед ней должен стоять пробел. Очень бы хотелось это исправить.
Можно было бы добавить какую-либо более гибкую настройку, что-то типа правил автозавершения и подсветки.

Спасибо за внимание.

DV
Offline
Posts: 1250
Joined: Thu Nov 16, 2006 11:53 am
Location: Kyiv, Ukraine

Post by DV »

poiNt_3D wrote:Очень хотелось бы, чтобы плагин обрабатывал одинарные кавычки - '
Можно добавить как настройку. Можно также добавить настройку для автозавершения пары <>. Постараюсь вспомнить, что для этого нужно изменить в исходниках - давно это было ;)
poiNt_3D wrote:а так же чтобы текст в кавычках тоже можно было подсвечивать.
И еще, есть проблема при автозавершении кавычек при вводе текста наподобие:
<a href="
Нет, с подсветкой, в особенности всего текста, слишком много возни.
Изначально подсветка кавычек не была сделана потому, что с кавычками непонятно, где начальная, а где конечная, из-за того, что они одинаковые.
Именно поэтому в <a href=" не происходит автозавершения - плагин "считает" эту кавычку завершающей, так как перед ней нету пробела, таба, точки или чего-то подобного. Теперь я включу в этот перечень и знак '='.

P.S.
Если вы уже в курсе, насколько я быстр в плане обновления плагинов, то мне не надо говорить, что ожидать новую версию следует в следущем году. Причем я не гарантирую, что в январе :)

Offline
Posts: 4
Joined: Wed Dec 19, 2007 5:17 am

Post by poiNt_3D »

Да ладно, ничего. Главное меня услышали, и основная проблема со знаком = будет исправлена. Спасибо, буду заглядывать иногда :)

DV
Offline
Posts: 1250
Joined: Thu Nov 16, 2006 11:53 am
Location: Kyiv, Ukraine

Post by DV »

Кстати, кто-нибудь может мне подсказать, что нужно изменить в Build.cmd, чтобы проект собирался компилятором из Visual C++ 2005 или 2008? А то ругается на "unresolved function _main" - и всё...
Поскольку на работе у меня Visual C++ 2005 Express (который бесплатный), то собрать проект там мне не удается, а дома уже сил не остается возиться с исходниками...

Offline
Site Admin
Posts: 6311
Joined: Thu Jul 06, 2006 7:20 am

Post by Instructor »

DV
Для "черновой" компиляции (большой размер получаемого .DLL):
1. libc.lib -> libcmt.lib
2. Убрать /ENTRY:DllMain

DV
Offline
Posts: 1250
Joined: Thu Nov 16, 2006 11:53 am
Location: Kyiv, Ukraine

Post by DV »

Instructor wrote:2. Убрать /ENTRY:DllMain
Да, так собирается. Размер - 77 кБ вместо 22 кБ... И что, с этим принципиально ничего нельзя сделать? Надо держать старую версию Выжал Студии ради ключа "/ENTRY" ???

DV
Offline
Posts: 1250
Joined: Thu Nov 16, 2006 11:53 am
Location: Kyiv, Ukraine

Post by DV »

Новая версия плагина, однако.
Окно настроек позволяет в любой момент изменить поведение плагина.

v.1.7 (Январь 2008)
+ (опционально) автозавершение ' '
+ (опционально) автозавершение и подсветка < />

------------------

v.1.7 (January 2008)
+ (optional) autocomplete ' '
+ (optional) autocomplete and highlight < />

Offline
Posts: 3
Joined: Thu Feb 28, 2008 9:56 am
Location: Minsk

Post by cooper »

DV wrote:Новая версия плагина, однако.
Окно настроек позволяет в любой момент изменить поведение плагина.

v.1.7 (Январь 2008)
+ (опционально) автозавершение ' '
+ (опционально) автозавершение и подсветка < />

------------------

v.1.7 (January 2008)
+ (optional) autocomplete ' '
+ (optional) autocomplete and highlight < />
В версии 3.5.0 работает, но когда закрываешь редактор редактор выдает системную ошибку.
AppName: akelpad.exe AppVer: 0.0.0.0 ModName: unknown
ModVer: 0.0.0.0 Offset: 00ff29f7

Offline
Posts: 5
Joined: Fri Feb 29, 2008 4:04 pm

Дополнительные кавычки

Post by Adash »

А как насчёт добавления автозавершения следующих парных кавычек?

« -- Alt+171, U+00AB -- Left-Pointing Double Angle Quotation Mark
» -- Alt+187, U+00BB -- Right-Pointing Double Angle Quotation Mark

“ -- Alt_147, U+201C -- Left Double Quotation Mark
” -- Alt_148, U+201D -- Right Double Quotation Mark

DV
Offline
Posts: 1250
Joined: Thu Nov 16, 2006 11:53 am
Location: Kyiv, Ukraine

Post by DV »

cooper wrote:В версии 3.5.0 работает, но когда закрываешь редактор редактор выдает системную ошибку.
Исправлено в версии 1.8 плагина.

DV
Offline
Posts: 1250
Joined: Thu Nov 16, 2006 11:53 am
Location: Kyiv, Ukraine

Re: Дополнительные кавычки

Post by DV »

Adash wrote: « -- Alt+171, U+00AB
» -- Alt+187, U+00BB

“ -- Alt_147, U+201C
” -- Alt_148, U+201D
Що це за бiсовськi знаки? ;-)
А каким образом их можно напечатать? Они действительны для любого языка и шрифтов или только для определённых?

DV
Offline
Posts: 1250
Joined: Thu Nov 16, 2006 11:53 am
Location: Kyiv, Ukraine

Опрос

Post by DV »

На рассмотрении два вопроса:

1) Переименовать AkelBrackets в XBrackets
Зачем? Чтобы плагин по умолчанию срабатывал после плагина Highlight. В настоящий момент после "чистой" установки AkelBrackets стоит выше Highlight, что приводит к перерисовке плагином Highlight скобок, подсвеченных плагином AkelBrackets.

2) Убрать подтверждение выгрузки плагина
Зачем? Не знаю ;-) Но было такое предложение.
Post Reply