PureBasic - форум

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » PureBasic - форум » Программирование на PureBasic » Плаги Notepad++


Плаги Notepad++

Сообщений 1 страница 4 из 4

1

Сделал плаг Help, тот же что для AkelPad, но для Notepad++.

Обновил плаг TextA, вместо StringField() использовал SplitL(), которая быстрее работает, но заметно на 3000 строк, старая 1 сек, новая, по ощущениям четверть секунды.

Highlight, AutoCompletion, Change, DB_RegExp.

выложил на upload.ee, так как на яндексе, почему-то скачивалась старая не работающая версия, может случайные глюки у яндекс.

Отредактировано AZJIO (17.07.2021 18:52:23)

0

2

Бывает провайдер кеш выдаёт. С женой часто сталкивались правишь на сайте PHP все изменения сразу видны, правишь CSS и от 5 минут до часа иногда ждать приходится прежде чем изменения у нас отобразятся. При том что не то что кеш браузера скинешь, а вообще заходишь с другого компа который по тому адресу никогда не был. При том что человек с другой страны пишет что у него поменялось, вот и думаешь как тут работать.

0

3

Восстановил ещё два плага: AutoCompletion, Change. Столкнулся с тем, что структура SCNotification (встроенная в PureBasic для scintilla) не работает в x64 соорудил тестовый вывод и поэкспериментировал с шириной, добился чтобы плаг заработал, выводил в соответствующих полях нужные числа (ширина вставляемого текста, номер строки и т.д.). Может стоит сообщить о проблеме?
И обновил плаг Help, вырезав обращение к scintilla, экспорт её функции, теперь слово не нужно выделять, достаточно поставить курсор на него.

0

4

AZJIO написал(а):

Столкнулся с тем, что структура SCNotification (встроенная в PureBasic для scintilla) не работает в x64

Вероятно в новых версиях Scintilla были внесены изменения в структуру.

Код:
struct Sci_NotifyHeader {   // This matches the Win32 NMHDR structure
    void *hwndFrom;     // environment specific window handle/pointer
    uptr_t idFrom;        // CtrlID of the window issuing the notification
    unsigned int code;  // The SCN_* notification code
};

struct SCNotification {
	struct Sci_NotifyHeader nmhdr;
	Sci_Position position;
	/* SCN_STYLENEEDED, SCN_DOUBLECLICK, SCN_MODIFIED, SCN_MARGINCLICK, */
	/* SCN_MARGINRIGHTCLICK, SCN_NEEDSHOWN, SCN_DWELLSTART, SCN_DWELLEND, */
	/* SCN_CALLTIPCLICK, SCN_HOTSPOTCLICK, SCN_HOTSPOTDOUBLECLICK, */
	/* SCN_HOTSPOTRELEASECLICK, SCN_INDICATORCLICK, SCN_INDICATORRELEASE, */
	/* SCN_USERLISTSELECTION, SCN_AUTOCSELECTION, SCN_AUTOCSELECTIONCHANGE */

	int ch;
	/* SCN_CHARADDED, SCN_KEY, SCN_AUTOCCOMPLETE, SCN_AUTOCSELECTION, */
	/* SCN_USERLISTSELECTION */
	int modifiers;
	/* SCN_KEY, SCN_DOUBLECLICK, SCN_HOTSPOTCLICK, SCN_HOTSPOTDOUBLECLICK, */
	/* SCN_HOTSPOTRELEASECLICK, SCN_INDICATORCLICK, SCN_INDICATORRELEASE, */

	int modificationType;	/* SCN_MODIFIED */
	const char *text;
	/* SCN_MODIFIED, SCN_USERLISTSELECTION, SCN_AUTOCSELECTION, SCN_URIDROPPED, */
	/* SCN_AUTOCSELECTIONCHANGE */

	Sci_Position length;    /* SCN_MODIFIED */
	Sci_Position linesAdded;	/* SCN_MODIFIED */
	int message;	/* SCN_MACRORECORD */
	uptr_t wParam;	/* SCN_MACRORECORD */
	sptr_t lParam;	/* SCN_MACRORECORD */
	Sci_Position line;    /* SCN_MODIFIED */
	int foldLevelNow;	/* SCN_MODIFIED */
	int foldLevelPrev;	/* SCN_MODIFIED */
	int margin;    /* SCN_MARGINCLICK, SCN_MARGINRIGHTCLICK */
	int listType;	/* SCN_USERLISTSELECTION, SCN_AUTOCSELECTIONCHANGE */
	int x;    	/* SCN_DWELLSTART, SCN_DWELLEND */
	int y;    /* SCN_DWELLSTART, SCN_DWELLEND */
	int token;    /* SCN_MODIFIED with SC_MOD_CONTAINER */
	int annotationLinesAdded;	/* SCN_MODIFIED with SC_MOD_CHANGEANNOTATION */
	int updated;	/* SCN_UPDATEUI */
	int listCompletionMethod;
	/* SCN_AUTOCSELECTION, SCN_AUTOCCOMPLETED, SCN_USERLISTSELECTION */
	int characterSource;	/* SCN_CHARADDED */
};

0


Вы здесь » PureBasic - форум » Программирование на PureBasic » Плаги Notepad++