purebasic.info

PureBasic forum
Текущее время: Чт июл 19, 2018 10:18 am

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 50 ]  На страницу Пред.  1, 2, 3, 4
Автор Сообщение
 Заголовок сообщения: Re: плагин подсветки для Notepad++
СообщениеДобавлено: Сб июл 07, 2018 7:09 pm 
Не в сети
док

Зарегистрирован: Чт фев 09, 2017 10:37 am
Сообщений: 183
Благодарил (а): 19 раз.
Поблагодарили: 32 раз.
Пункты репутации: 0
Пётр
В той теме N++ мне дали ссылку на пример, я попробовал пока не получается.
Код:
1
2
3
4
5
6
7
Procedure Privet()
        Protected res, which = 0
        res = SendMessage_(NppData\_nppHandle, #NPPM_GETCURRENTSCINTILLA, 0, which)
       
        AddGadgetItem(#Button_Added , -1 , Str(which) + "-" + Str(res))
        ; ProcedureReturn which
EndProcedure


там есть SCI_UNUSED, хотя компилятор и ругается на отсутствие константы, по описанию, говорят что <unused> не используемый параметр на будущее, а пока вместо него ставим 0.

На счёт предыдущего поста поправлю.


Вложения:
Notepad++ plugin12.pb [27.37 KiB]
Скачиваний: 6
Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: плагин подсветки для Notepad++
СообщениеДобавлено: Сб июл 07, 2018 8:04 pm 
Не в сети
МОДЕРАТОР
Аватар пользователя

Зарегистрирован: Пн апр 09, 2007 4:53 pm
Сообщений: 11206
Благодарил (а): 4 раз.
Поблагодарили: 421 раз.
В примере передается указатель на переменную.
Код:
1
SendNpp(NPPM_GETCURRENTSCINTILLA, SCI_UNUSED, (LPARAM)&which);

Т. е. должно быть.
Код:
1
res = SendMessage_(NppData\_nppHandle, #NPPM_GETCURRENTSCINTILLA, 0, @which)


_________________
Компьютер позволяет решать все те проблемы, которые до его изобретения не существовали. :) :)


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: плагин подсветки для Notepad++
СообщениеДобавлено: Вт июл 10, 2018 11:42 pm 
Не в сети
док

Зарегистрирован: Чт фев 09, 2017 10:37 am
Сообщений: 183
Благодарил (а): 19 раз.
Поблагодарили: 32 раз.
Пункты репутации: 0
Я тут прикрутил изменение цвета индикатора... Давно пора спать на работу, но под впечатлением хоть чуть-чуть сделал :lol:
Допустим применяем цвет к коду PureBasic, выбрать цвет в комбо и можно ползунками настраивать цвет индикатора, будет менятся прямо в Scintilla.

Обновил 1 раз.
Изображение


Вложения:
Highlight12.zip [211.69 KiB]
Скачиваний: 3
Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: плагин подсветки для Notepad++
СообщениеДобавлено: Ср июл 18, 2018 7:13 am 
Не в сети
док

Зарегистрирован: Сб окт 31, 2009 7:44 am
Сообщений: 158
Благодарил (а): 90 раз.
Поблагодарили: 3 раз.
Пункты репутации: 0
Цитата:
И где-то ближе к DataSection не помешало бы добавить строку.
- для поиска папки конфиг.
Открыл (для себя!) помимо scintilla множество сообщений и функций npp. Путь к своей папке "конфиг" npp укажет сам:
; *sc3=@sc2.s{260}
; SendMessage_(NppData\_nppHandle,#NPPM_GETPLUGINSCONFIGDIR,#MAX_PATH,*sc3); путь к папке plugins\Config; "#NPPM_GETPLUGINSCONFIGDIR=#WM_USER+1046" - в десятичном формате
; MessageRequester("", PeekS(*sc3))
Захотелось (наконец-то!) написать плагин автокомлита к npp, чтобы поддерживал готовые списки функций от RadASM, выглядел и работал примерно так же, как автокомплит RadASM. Вот этот пример:
http://purebasic.info/phpBB3ex/viewtopic.php?f=1&t=4396&p=84167&hilit=!%40Lister%40!#p84167
я видел, и он удачно прикрутился к npp. На данном этапе возникли некоторые вопросы.
1. подозреваю, что стандартных возможностей автокомплита scintillы не хватит (подсветка параметров, цвет фона, шрифт, гибкость появления-исчезновения). В исходниках автокомплита RadASM более 1000 строк на асме без комментариев, что пока меня пугает. Там используется сабклассированное окно.. Может, лучше как-то использовать ListViewGadget или GadgetToolTip? Или заюзать ToolTip на winapi, так как он гибче настраивается? Или разбираться с готовым автокомплитом RadASMа (десяток функций), который уже в виде dll собран?
2. Они (функции PB) требуют "#Gadget" - его можно получить имея хэндл? (п.с. обратное получается через WindowID(), если ничего не перепутал)
3. в теме http://purebasic.info/phpBB3ex/viewtopic.php?f=7&t=4890
было найдено решение через "SetWindowData". У меня в плагине будут некоторые настройки: чекбокс включения/выключения, список доступных языков для автокомплита и т.п. То есть, надо передавать в процедуру обработки гаджетов несколько параметров, а SetWindowData позволяет передавать только один, последующие вызовы перезаписывают предыдущие. Как это реализовать?


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: плагин подсветки для Notepad++
СообщениеДобавлено: Ср июл 18, 2018 5:57 pm 
Не в сети
док

Зарегистрирован: Чт фев 09, 2017 10:37 am
Сообщений: 183
Благодарил (а): 19 раз.
Поблагодарили: 32 раз.
Пункты репутации: 0
bizdon
Так создай тему и будем туда писать.Кстати пример на автозавершение слов есть у eddy. Всего у него 6 примеров.
Ссылки
Notepad++ plugin плагин-пример
https://www.purebasic.fr/english/viewto ... 12&t=65680

Scintilla: multi-cursors editing like eclipse / sublimetext мульти-выбор
https://www.purebasic.fr/english/viewto ... 12&t=60931

Scintilla regex search With groups поиск с помощью рег.выр. с группами
https://www.purebasic.fr/english/viewto ... 12&t=60455

Scintilla not changeable text area не редактируемая область
https://www.purebasic.fr/english/viewto ... 22#p455622

Scintilla multiple views два окна
https://www.purebasic.fr/english/viewto ... 33#p271933

Scintilla autocompletion Автозавершение
https://www.purebasic.fr/english/viewto ... 48#p457848


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 50 ]  На страницу Пред.  1, 2, 3, 4

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group (блог о phpBB)
Сборка создана CMSart Studio
Русская поддержка phpBB