Сайт | Скачать | Видео | Wiki

Автор Тема: My_Notepad_Sci  (Прочитано 2399 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн AZJIO

  • Модератор
  • Старожил
  • ****
  • Сообщений: 293
  • Репутация: +10/-0
  • Автор темы
My_Notepad_Sci
« : 07 Декабрь 2022, 11:54:52 »
My_Notepad_Sci
блокнот, написанный ради изучения Scintilla

Скачать: yandex upload.ee

ещё скриншоты: поиск, автозавершение, синтаксис, англ, регвыр


Использование
1. Работает "перетащить и бросить" и ком-строка, чтобы добавить в меню файлового менеджера
2. Обязательно скопировать конфиги, чтобы работала подсветка и автозавершение.
3. Позволяет сделать собственную подсветку используя регулярные выражения.
« Последнее редактирование: 19 Июнь 2023, 21:56:51 от AZJIO »

Оффлайн forthuser

  • Постоялец
  • ***
  • Сообщений: 128
  • Репутация: +2/-0
Re: My_Notepad_Sci
« Ответ #1 : 07 Декабрь 2022, 18:52:51 »
Интересно, а какая конечная цель данной "инициативы"?

P.S. В какой то момент добавлял более полную поддержку  Scintilla.dll в IDE для Win32Forth по поддержке фолдинга текста,
а саму Scite.dll для поддержки расцветки Форт языка пересобирал из проекта Scite-ru editor.
Саму документацию по Scite автопереводил с помощью Google translate.

 

Оффлайн AZJIO

  • Модератор
  • Старожил
  • ****
  • Сообщений: 293
  • Репутация: +10/-0
  • Автор темы
Re: My_Notepad_Sci
« Ответ #2 : 07 Декабрь 2022, 19:53:02 »
Цель указана во второй строке после заголовка. Более расширенная цель - изучить возможность вывода данных в какой нибудь программе с подсветкой и ещё цель иметь возможность подкрасить любой текст со своими пожеланиями используя регулярные выражения.

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

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5331
  • Репутация: +139/-1
Re: My_Notepad_Sci
« Ответ #3 : 07 Декабрь 2022, 20:36:26 »
А какое-нибудь приложение для заметок? Или это не актуально и в линуксе всех устраивает дефолтный выбор, типа этого?

Сам пишу заметки в обычном блокноте (leafpad), кидаю в специальную папку, а потом сложно и упорно ищу нужное в куче. )

Оффлайн AZJIO

  • Модератор
  • Старожил
  • ****
  • Сообщений: 293
  • Репутация: +10/-0
  • Автор темы
Re: My_Notepad_Sci
« Ответ #4 : 26 Январь 2023, 01:24:55 »
А какое-нибудь приложение для заметок?
А что можно сделать? Ведь если рассматривать это как обычный блокнот, то их полно. Надо конкретно, чтобы понятно было чем приложение будет облегчать жизнь. Например быстрый вызов по хоткею вися в трее, или удобство в генерировании имени файла, вставляя дату. Или дерево с быстрым откликом, то есть клик открывает текст. В общем должна быть какаято автоматизация, которая бы отличала "Заметки" или "Цитатник" от обычного блокнота.

Оффлайн knn

  • Ветеран
  • *****
  • Сообщений: 2538
  • Репутация: +33/-0
Re: My_Notepad_Sci
« Ответ #5 : 26 Январь 2023, 02:46:32 »
чем приложение будет облегчать жизнь. Например быстрый вызов по хоткею вися в трее, или удобство в генерировании имени файла...
- пользую "хреновину-на-баше" в похожем стиле. недавно её ещё подточил. пакеты x3 когда соберу, а сквош - как почищу от "внутренних комментов" - выложу
Gr4D, Grub2; HP Mini 210 VT - Intel Atom N470  @ 1.83GHz, Intel GMA3150, RAM=2 ГБ ;
Sams-n110: N270 - 1,6 ГГц, Intel GMA 950, RAM=2 ГБ.

Оффлайн AZJIO

  • Модератор
  • Старожил
  • ****
  • Сообщений: 293
  • Репутация: +10/-0
  • Автор темы
Re: My_Notepad_Sci
« Ответ #6 : 11 Май 2023, 00:12:09 »
Обновление
Добавление подсветки выделенного слова.
Добавлено контекстное меню.
Запрос сохранения при закрытии документа или программы.

Оффлайн forthuser

  • Постоялец
  • ***
  • Сообщений: 128
  • Репутация: +2/-0
Re: My_Notepad_Sci
« Ответ #7 : 11 Май 2023, 10:03:18 »
А какое-нибудь приложение для заметок?
Есть разные  варианты в той или иной степени годности по личным предпочтениям.
На ru-board есть и топик, к примеру, по древовидным "редакторам"

Можно использовать Zim, CherryTree. MyTetra, ...

 MyTetra c опубликованными некоторыми базами созданными пользователями  как на форуме программы
так и на публичных площадках (Github и др.) имеет некоторые свои полезные фишки упомянутые в видео-обзоре автора
к примеру можно открыть несколько заметок и повесить их окнами на рабочем столе.

Авторская статья по программе (2016г) Самая нужная программа на свете https://habr.com/ru/articles/316814/
(в комментариях к статье предлагаются ещё варианты) 

MyTetra на ru-board

Что использовать для сохранения всяческих мануалов?
« Последнее редактирование: 11 Май 2023, 10:14:48 от forthuser »

Оффлайн knn

  • Ветеран
  • *****
  • Сообщений: 2538
  • Репутация: +33/-0
Re: My_Notepad_Sci
« Ответ #8 : 11 Май 2023, 10:48:56 »
Как понял - тут просто редактор.
А что пошире - ближе к базам данных.
---------
по майтетра:
- на Форуме есть тема;
- майтетра-сайт сколько-то времени заглохший;
- на гите есть свежий коммит
Gr4D, Grub2; HP Mini 210 VT - Intel Atom N470  @ 1.83GHz, Intel GMA3150, RAM=2 ГБ ;
Sams-n110: N270 - 1,6 ГГц, Intel GMA 950, RAM=2 ГБ.

Оффлайн AZJIO

  • Модератор
  • Старожил
  • ****
  • Сообщений: 293
  • Репутация: +10/-0
  • Автор темы
Re: My_Notepad_Sci
« Ответ #9 : 11 Май 2023, 16:27:31 »
был у меня блокнотик сохраняющийся в базу данных, пользовался года 2 и даже пытался выбрать один из предложенных выше по ссылке. В итоге самое лучшее для меня это дерево папок с файлами. Оно кроссплатформенно, нет привязки к программе, которая может остановиться в развитии или не поддерживаться новой ОС. Какой бы не был простой софт для записей, он всё равно потребует именовать заметку, когда нибудь и сортировать, раскладывая в свою иерархию. В итоге это файловое дерево, нет ничего лучше, нажал создать файл, кликнул его, открылось, пиши, Ctrl+S.
В Notepad++ сделали хорошую фичу, нет необходимости сохранять файл, он всё равно сохраняется во временную папку, просто пиши, раз в минуту он сохранит, потерять данные нереально, так как сохраняет копию, а потом уже оригинал, если напряжение пропадёт на записи копии, то есть оригинал, если на оригинале, то есть копия. Если открыто 10 новых файлов и лень их сохранять назначая имена и сортировку, а и не надо, закрыл и всё, потом можно будет сохранить. Говорят и фотошоп теперь восстанавливает из временной папки файлы если были потеряны пропаданием питания.

Оффлайн knn

  • Ветеран
  • *****
  • Сообщений: 2538
  • Репутация: +33/-0
Re: My_Notepad_Sci
« Ответ #10 : 12 Май 2023, 07:46:43 »
имхо по БД :
-- не могу пока к ним "подступиться" в SQL-форме (как и к сетям) ;
-- пара хороших знакомых - оба по компам и програмированию учились только факультативно - но оба ныне по итогу на хлеб зарабатывают БазамиДанных (дизайн-создание-сопровождение; #каждый в своей организации) [+безусловно на масло хватает];
--  Корсаков Семён Николаевич (но то - википедия - а на каком-то ресурсе попадалось про как минимум спорность первенства Жаккарда(vs Корсаков), и +там же упоминалось про БД-шумеров #к сожалению линк не сохранил );
-- считаю еще тут интересным Зеттелькастен -
статья - 'link'.
----------------------
зы
просьба не серчать если Тему зафлудил )
-----------------
зызы
нажал создать файл, кликнул его, открылось, пиши, Ctrl+S
видео-яндекс-линк - ftxtx+notepad-sci.mkv (25 Mb)
(можно рассматривать как навязчивость, но My_Notepad_Sci там присутствует))
Gr4D, Grub2; HP Mini 210 VT - Intel Atom N470  @ 1.83GHz, Intel GMA3150, RAM=2 ГБ ;
Sams-n110: N270 - 1,6 ГГц, Intel GMA 950, RAM=2 ГБ.

Оффлайн knn

  • Ветеран
  • *****
  • Сообщений: 2538
  • Репутация: +33/-0
Re: My_Notepad_Sci
« Ответ #11 : 19 Май 2023, 13:22:00 »
заметил что в редакторе прокрутка колесомМышиВверх глючит (условия применения см. в вышевыложенном видео)
==============
в смысле полосаПрокрутки крутит, а с телаТекста - "неочень"
Gr4D, Grub2; HP Mini 210 VT - Intel Atom N470  @ 1.83GHz, Intel GMA3150, RAM=2 ГБ ;
Sams-n110: N270 - 1,6 ГГц, Intel GMA 950, RAM=2 ГБ.

Оффлайн AZJIO

  • Модератор
  • Старожил
  • ****
  • Сообщений: 293
  • Репутация: +10/-0
  • Автор темы
Re: My_Notepad_Sci
« Ответ #12 : 19 Май 2023, 17:21:17 »
Да, прокрутка пока глючит и при том только в Linux, но не в Windows. При чём проблемы две. Первая проблема, когда вниз прокручивается колесом мыши, а в верх нет. Вторая проблема, когда  ползунок прокрутки замирает в верхней части и не двигается, при чём когда мышь тянешь прокрутка всё равно происходит. Глюк появляется если изменить размер окна и соответственно Scintilla, но так как я вычисляю размеры и изменяю Scintilla в процессе создания объекта, то этот глюк появляется сразу, раньше не было, когда объект Scintilla создавался один. Чтобы исправить проблему, надо перетащить файл над окном Scintilla, но обязательно кидать файл, при этом прокрутка встанет в позицию где она должна быть и при этом начинает нормально работать, то есть ползунок начинает нормально двигаться. Что интересно - приложение PureBasic IDE основанное на Scintilla имеет прокрутку собственную созданную на GTK, то есть не как автоматически созданное для объекта с прокруткой, а как прикрученное к окну как отдельный элемент и вычисляющий положение прокрутки в окне. И тут вопрос, либо просить авторов исправить дефолтную прокрутку, либо самостоятельно придумывать, либо изучать исходник PureBasic IDE, чтобы оттуда вставить себе. Он в открытом доступе, я уже оттуда брал, точнее подсматривал как сделать запуск  только одного экземляра, но сделал я только для Windows, так как даже это от меня потребовало один выходной день учитывая что я с WinAPI хоть как-то знаком, а с GTK совершенно нет.

Ну и если интересно я немного обновил не объявляя, так как мелочёвка:
Добавлены в ini-файл параметры цвета панели номеров строк
Добавлено "Переименовать файл" в контекстное меню.
Ширина табуляции 4, а при вставке фрагмента добавляются отступы.
При отмене у нового файла пропадало имя вкладки.

А сейчас я пытаюсь прикрутить поддержку плагинов, то есть у меня уже получилось добавить пункты меню плага в окно My_Notepad_Sci, теперь только после работы продолжу, ещё надо передать дескрипторы плагу, чтобы он мог напрямую работать со Scintilla. А после этого буду проверять что на Linux это тоже работает. В теории должно работать, уверенность на 99%.

Оффлайн forthuser

  • Постоялец
  • ***
  • Сообщений: 128
  • Репутация: +2/-0
Re: My_Notepad_Sci
« Ответ #13 : 25 Май 2023, 10:39:54 »
А сейчас я пытаюсь прикрутить поддержку плагинов,
Плагины это хорошая затея, если к тому же их можно будет делать, к примеру, на родном языке программы.

P.S. К примеру для Geany использую плагин для просмотра MarkDown текста при его редактировании (при этом и шрифт в этом тексте смотрится гораздо лучше чем штатный в Geany и при открытии как MD обычных текстовых файлов).
В браузерах тоже есть плагины для просмотра и сохранения информации с интернет страничек в MarkDown формате.
и как понимаю, даже картинки, там есть возможнось закодировать в виде текстового потока сжаттых данных,
а если картинок много в файле (как в нектороых статьях с Хабр), то в файле могут быть только ссылки на них и при просмотре такого файла в браузере
они оперативно подгружаются с ресурса. (т.е. MD файл при этом остаётся минимального размера)

В Geany тоже использован код Scintilla. У себя собирал Geany версии 1.38. 
« Последнее редактирование: 25 Май 2023, 20:45:32 от forthuser »

Оффлайн AZJIO

  • Модератор
  • Старожил
  • ****
  • Сообщений: 293
  • Репутация: +10/-0
  • Автор темы
Re: My_Notepad_Sci
« Ответ #14 : 27 Май 2023, 02:49:10 »
В Geany тоже использован код Scintilla
Я в курсе, даже пытался разобраться как написать плаг для Geany. Но это мудрёно, также как и для AkelPad. То есть если Notepad++ требует передачи структуры меню и в программу, а сам предоставляет плагу дескриптор программы (3 шт окна проги и окна Scintilla первого и второго экземпляра) и можешь передавать команды Scintilla, либо команды - номер пункта меню окна которое ты хочешь выполнить, то Geany с AkelPad их способ создания плага передать структурные данные программы в одном указателе, то есть передал указатель структуру, а она содержит другие указатели на другие структуры отвечающие за другие данные, а эти структуры в свою очередь ссылаются ещё на другие структуры. И да это даёт доступ ко всем данным в виде ссылки через указатели, НО автору PureBasic в и тоге требуется конвертировать все структуры в код PureBasic, то есть несколько тысяч строк надо конвертировать из C++ в PureBasic. У PureBasic есть конвертор заголовочных файлов, но он не идеален, то есть после конвертирования надо делать доводку, даже если это уже не несколько тысяч строк а всего 200 структур и в каждой структуре исправлять не 10 полей, а всего одно, то попадается и по половине и это только чтобы запустить код, после этого проверять что ширина полей соответствует ширине хрен-знает какого придуманного типа для x86 и для х64, да ещё и с применением выравнивания структур по правилам C++. По смыслу это как написать программу AkelPad и Geany, то есть разобраться во всех данных, которые также использует сам Geany для работы самого себя. В общем из десятка заголовочных файлов от конвертировал половину сбившись на одном файле, я удалил файл временно, а тот на котором он сбился там с им одним несколько дней возится. Надеюсь я показал насколько это тяжело и нереально.
Я пока расхотел делать, поддержка плагов в Notepad++ для Linux работать не будет в чистом виде, то есть там задействованы WinAPI функции, то есть для Linux мне придётся сделать собственный способ, да и плаги Notepad++ написаны в "dll", их нет в виде библиотеки Linux в формате "so", поэтому и нет смысла делать какой-то совместимый способ.