Базовый шаблон для создания редактора, с поддержкой вкладок

Планы, идеология, архитектура и т.п.

Модератор: Модераторы

zub
долгожитель
Сообщения: 2889
Зарегистрирован: 14.11.2005 22:51:26
Контактная информация:

Сообщение zub »

>>Кстати, а есть ли возможность, техническая и юридическая
Тут все возможности есть. Кроме "умственной". В смысле делать так очень не умно, с какой стороны не глянь

>>в отдельное приложение и уже его развивать
А может попробовать развивать лазарус? Что за мания форкать? Форкать надо то что умирает

Добавлено спустя 48 минут 32 секунды:
Re: Базовый шаблон для создания редактора, с поддержкой вкладок
Deimos
Кстати, нехватает пункта меню с перечнем открытых вкладок и навигацией по ним. В меню "файл" перечня последних открытых файлов.
Аватара пользователя
Ichthyander
энтузиаст
Сообщения: 701
Зарегистрирован: 04.04.2007 08:32:43
Откуда: Астрахань
Контактная информация:

Сообщение Ichthyander »

zub писал(а):>>Кстати, а есть ли возможность, техническая и юридическая
Тут все возможности есть. Кроме "умственной". В смысле делать так очень не умно, с какой стороны не глянь

>>в отдельное приложение и уже его развивать
А может попробовать развивать лазарус? Что за мания форкать? Форкать надо то что умирает

Так ведь мне редактор кода нужен не столько и не только для кодинга в Lazarus! В основном html и php, а также xml файлы, ini файлы, просто txt файлы. Ради этого загружать Lazarus?.. да и неудобно это!
Из всех просмотренных универсальных редакторов кода мне более менее понравился PSEditor, но он несвободный, хоть и бесплатный и есть серьезный глюк
zub
долгожитель
Сообщения: 2889
Зарегистрирован: 14.11.2005 22:51:26
Контактная информация:

Сообщение zub »

а что вы хотите форкнуть? synedit? он отдельным пакетом - пилите не форкая
чтото из иде? имхо гораздо лучше попробовать это чтото выделить внутри лазаря в отдельный пакет или просто в юнит который не потянет за собой всю остальную ide. и пилить внутри лазаря.

С форком возможно 2 варианта:
1 - пару месяцев наслаждаемся какие мы крутые - форкнули лазаря! потом расходимя ниче не сделав
2 - форкаем, активно пилим. лазарь тем временем тоже активно пилится. через пару месяца имеем две какието разные штуки, которые между собой хз как синхронизировать.
sign
энтузиаст
Сообщения: 1131
Зарегистрирован: 30.08.2009 09:20:53

Сообщение sign »

zub писал(а):Кстати, нехватает пункта меню с перечнем открытых вкладок и навигацией по ним.

Не это ли?

1.jpg


zub писал(а):В меню "файл" перечня последних открытых файлов.


2.jpg
Аватара пользователя
Лекс Айрин
долгожитель
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград
Контактная информация:

Сообщение Лекс Айрин »

zub писал(а): имхо гораздо лучше попробовать это чтото выделить внутри лазаря в отдельный пакет или просто в юнит который не потянет за собой всю остальную ide. и пилить внутри лазаря.


угу... как же... не потянет.

Код: Выделить всё

unit SourceEditor;

{$mode objfpc}
{$H+}

interface

{$I ide.inc}

{ $DEFINE VerboseIDECompletionBox}

uses
  {$IFDEF IDE_MEM_CHECK}
  MemCheck,
  {$ENDIF}
  SynEditMouseCmds, Classes, SysUtils, types, Math,
  Controls, Forms, ComCtrls, StdCtrls, Graphics, Dialogs, Extctrls, Menus,
  ExtendedNotebook, LCLProc, LCLType, LResources, LCLIntf, FileUtil, LazFileUtils,
  Translations, ClipBrd, HelpIntfs,
  LConvEncoding, Messages, LazLoggerBase, lazutf8classes, LazLogger, AvgLvlTree,
  LazFileCache, LazUTF8,
  // codetools
  BasicCodeTools, CodeBeautifier, CodeToolManager, CodeCache, SourceLog,
  LinkScanner, CodeTree, SourceChanger,
  // synedit
  SynEditLines, SynEditStrConst, SynEditTypes, SynEdit, SynRegExpr,
  SynEditHighlighter, SynEditAutoComplete, SynEditKeyCmds, SynCompletion,
  SynEditMiscClasses, SynEditMarkupHighAll, SynEditMarks,
  SynBeautifier, SynPluginMultiCaret,
  SynPluginSyncronizedEditBase, SourceSynEditor,
  SynExportHTML, SynHighlighterPas, SynEditMarkup, SynEditMarkupIfDef,
  // Intf
  SrcEditorIntf, MenuIntf, LazIDEIntf, PackageIntf, IDEHelpIntf, IDEImagesIntf,
  IDEWindowIntf, ProjectIntf, MacroDefIntf, ToolBarIntf,
  // IDE units
  IDECmdLine, IDEDialogs, LazarusIDEStrConsts, IDECommands,
  EditorOptions, EnvironmentOpts, WordCompletion, FindReplaceDialog, IDEProcs,
  IDEOptionDefs, IDEHelpManager, MacroPromptDlg, TransferMacros,
  CodeContextForm, SrcEditHintFrm, etMessagesWnd, etSrcEditMarks, InputHistory,
  CodeMacroPrompt, CodeTemplatesDlg, CodeToolsOptions,
  editor_general_options,
  SortSelectionDlg, EncloseSelectionDlg, EncloseIfDef, InvertAssignTool,
  SourceEditProcs, SourceMarks, CharacterMapDlg, SearchFrm,
  FPDocHints, EditorMacroListViewer, EditorToolbarStatic, editortoolbar_options,
  DbgIntfBaseTypes, DbgIntfDebuggerBase, BaseDebugManager, Debugger, MainIntf,
  GotoFrm;             
....

При том, что само меню совсем в другом месте.

zub писал(а):2 - форкаем, активно пилим. лазарь тем временем тоже активно пилится. через пару месяца имеем две какието разные штуки, которые между собой хз как синхронизировать.


Никак не синхронизировать. это будет просто текстовый редактор для исходных программ.
Deimos
постоялец
Сообщения: 174
Зарегистрирован: 16.01.2010 23:31:30

Сообщение Deimos »

zub писал(а):Кстати, нехватает пункта меню с перечнем открытых вкладок и навигацией по ним. В меню "файл" перечня последних открытых файлов.


Услышал )

Добавлю
zub
долгожитель
Сообщения: 2889
Зарегистрирован: 14.11.2005 22:51:26
Контактная информация:

Сообщение zub »

Лекс Айрин
>>угу... как же... не потянет.
что не так?
>>Никак не синхронизировать. это будет просто текстовый редактор для исходных программ.
нда... а через годик реализуют в лазаре какуюнибудь очень нужную возможность - будешь снова форкать?

sign
>>Не это ли?
я не про лазарус имел ввиду
Аватара пользователя
Лекс Айрин
долгожитель
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград
Контактная информация:

Сообщение Лекс Айрин »

zub писал(а):что не так?


Просто редактор "растворен" в Lazarus. Как минимум, его код встречается в двух местах: меню и в указанном ранее фрагменте. Ну а часть кучи зависимостей я указал. Подозреваю, что в результирующем проекте половины не будет, а в части оставшихся будут полурабочие (с точки зрения Lazarus) заглушки.

zub писал(а):а через годик реализуют в лазаре какую-нибудь очень нужную возможность - будешь снова форкать?


Смотря где реализуют. С другой стороны, в процессе выпиливания я, если все же форкну, лучше узнаю структуру самого лазаря (с кучей заметок, на случай повторного форка), да и само понятие форка как бы подразумевает одноразовое действие.
Плюс, подозреваю, в Lazarus очень много, с точки зрения текстового редактора лишнего кода. возможно, легче и быстрее использовать его в качестве пособия.

Вообще, руки чешутся создать прогу анализирующую текст программы и составляющую граф ее текста и/или ее части. Но пока я явно не тяну.
zub
долгожитель
Сообщения: 2889
Зарегистрирован: 14.11.2005 22:51:26
Контактная информация:

Сообщение zub »

Лекс Айрин
Ты както выборочно читаешь
>>имхо гораздо лучше попробовать это чтото выделить внутри лазаря в отдельный пакет или просто в юнит который не потянет за собой всю остальную ide. и пилить внутри лазаря.
Аватара пользователя
Лекс Айрин
долгожитель
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград
Контактная информация:

Сообщение Лекс Айрин »

zub, да нет. Я как раз про это. Текстовый редактор это отдельная сущность, но ее довольно таки тяжело выпилить из-за того, что она довольно плотно использует остальные возможности Lazarus. Если это все же удастся, не разрушая целостности RAD, то это и будет полноценным форком Lazarus.

Ну или мы друг друга совсем не поняли.

ЗЫ: в любом случае, это не будет пустым времяпровождением. По крайней мере, прокачаются навыки работы со сложным проектом.
eastorwest
новенький
Сообщения: 57
Зарегистрирован: 23.07.2009 20:21:46
Откуда: Н-ск

Сообщение eastorwest »

Предлагаю рассмотреть другой проект на Lazarus - CudaText. Открытый исходный код на github, кроссплатформенность (Windows, Linux, MacOS), разработчик отзывчивый русскоязычный. Редактор поддерживает вкладки, подсветку синтаксиса, расширения на Python. Используется самописный компонент редактирования текста ATSynEdit.
Deimos
постоялец
Сообщения: 174
Зарегистрирован: 16.01.2010 23:31:30

Сообщение Deimos »

Zub писал(а): нехватает пункта меню с перечнем открытых вкладок и навигацией по ним


добавил
Аватара пользователя
Ichthyander
энтузиаст
Сообщения: 701
Зарегистрирован: 04.04.2007 08:32:43
Откуда: Астрахань
Контактная информация:

Сообщение Ichthyander »

eastorwest писал(а):Предлагаю рассмотреть другой проект на Lazarus - CudaText. Открытый исходный код на github, кроссплатформенность (Windows, Linux, MacOS), разработчик отзывчивый русскоязычный. Редактор поддерживает вкладки, подсветку синтаксиса, расширения на Python. Используется самописный компонент редактирования текста ATSynEdit.

Большое спасибо за ссылку. Редактор на первый взгляд неплох.
sa_t_an
новенький
Сообщения: 37
Зарегистрирован: 03.10.2009 12:04:55

Сообщение sa_t_an »

Ну тогда до кучи https://yadi.sk/d/2eAG8bFLxiDEN

Добавлено спустя 4 минуты 23 секунды:
Re: Базовый шаблон для создания редактора, с поддержкой вкладок
Скрины Win-Lin
Вложения
Linux
Linux
Windows
Windows
zub
долгожитель
Сообщения: 2889
Зарегистрирован: 14.11.2005 22:51:26
Контактная информация:

Сообщение zub »

sa_t_an
Вижу в исходниках некий dockmanager.pas, а в приложении докинга не наблюдаю(( это у меня лыжи не едут или так и задумано?
По сути: зачем всё вформошлепывать в один "монолит" имхо надо както "порасширяемей" стараться
Ответить