Какая библиотека gui используется sublime text editor?


Я скачал редактор sublimetext и я хочу знать, какая библиотека GUI используется там.

имена файлов, которые находятся в каталоге исполняемых файлов редактора:

bz2.pyd
Microsoft.VC90.CRT.manifest   
msvcp90.dll
msvcr90.dll                   
PackageSetup.py
PackageSetup.pyc              
pyexpat.pyd                   
python26.dll
python26.zip                  
select.pyd
sublimeplugin.py              
sublimeplugin.pyc
sublimetext.exe               
unicodedata.pyd
unins000.dat                  
unins000.exe
_ctypes.pyd                   
_elementtree.pyd
_hashlib.pyd                  
_socket.pyd
_ssl.pyd     

могу ли я найти информацию из имен файлов?

3 58

3 ответа:

Sublime Text 2 в основном кодируется на C++ и использует пользовательский инструментарий пользовательского интерфейса. Вот автор, Джон Скиннер, объясняя это: http://news.ycombinator.com/item?id=2822114.

Я продолжаю писать сообщение в блоге с некоторыми подробностями об этом, но как со многими вещами я обычно заканчиваю кодирование вместо этого. Возвышенное Текст 2 - почти полностью C++ (с небольшим количеством Objective C для какао и Python для плагинов). Кодирование, как правило, довольно прямо вперед: код на одной платформе (в основном Linux на данный момент, но я переключаюсь часто), а затем убедитесь, что он по-прежнему компилируется в другом месте. Возвышенный Сам текст 2 использует пользовательский инструментарий пользовательского интерфейса. Есть много приложений, где это может не иметь смысла, но это не такой уж неразумный выбор для Возвышенный текст, где я всегда знал, что многие элементы управления пользовательского интерфейса были придется быть пользовательским независимо от набора инструментов (например, текст элементы управления и вкладки). Инструментарий пользовательского интерфейса находится на вершине креста уровень абстракции платформы, который является скорее объединением платформы функциональность, а не самый низкий общий знаменатель.

немного Гугля предположил, что он использует Sublime GUI, который, судя по исходному пакету Debian, написан на C++.

затем снова, работает strings на Linux sublime_text binary показывает следующие общие библиотеки (эквивалент DLL Windows), которые могут предложить gtk:

/lib/ld-linux.so.2
libgtk-x11-2.0.so.0
libgdk-x11-2.0.so.0
libatk-1.0.so.0
libgio-2.0.so.0
libpangoft2-1.0.so.0
libpangocairo-1.0.so.0
libgdk_pixbuf-2.0.so.0
libcairo.so.2
libpng12.so.0
libpango-1.0.so.0
libfreetype.so.6
libfontconfig.so.1
libgobject-2.0.so.0
libgmodule-2.0.so.0
libgthread-2.0.so.0
librt.so.1
libglib-2.0.so.0
libpthread.so.0
libdl.so.2
libutil.so.1
libm.so.6
libX11.so.6
libstdc++.so.6
libgcc_s.so.1
libc.so.6
libgio-2.0.so
libgio-2.0.so.0
module.so

это предлагает gtk.

Это не может быть написано на Python. Причина, по которой вы видите код Python, заключается в том, что пользователи могут писать скрипты/плагины в Pythons для расширения Sublime Text. Я подозреваю, что он написан на C++ с GTK в качестве GUI toolkit.