إضافة معجم جديد إلى scintilla/scite (... وفي النهاية wxPython StyledTextCtrl)
-
18-09-2020 - |
سؤال
هل نجح أي منكم في إضافة معجم إلى scintilla؟
لقد اتبعت التعليمات القصيرة في http://www.scintilla.org/SciTELExer.html - وحتى اكتشف التعليمات الإضافية السرية في http://www.scintilla.org/ScintillaDoc.html#BuildingScintilla (تغيير مجموعة المعجمات)
يتم تجميع كل شيء، ويمكنني إضافة المعجم إلى SciTE على ما يرام، ولكن لا يتم استدعاء طريقة ColouriseMapfileDoc الخاصة بي (لا يُنتج printf مخرجات).إذا قمت بإضافة نفس الرمز إلى على سبيل المثال.معجم ColouriseLuaDoc، كل شيء على ما يرام (printf يفعل إنتاج الإخراج).
على وجه التحديد لدي
- في
scintilla/include/Scintilla.iface
, وأضافval SCLEX_MAPFILE=99
- وأي معرفات فئة معجمية
- في تشغيل الدليل scintilla/include
HFacer.py
وأكدت أنSciLexer.h
لقد تغير الملف. - مخلوق
LexMapfile.cxx
معColouriseMapfileDoc
وظيفة في نهاية الملف، تم ربط معرف واسم lexer بالوظيفة:
LexerModule lmMapfile(SCLEX_MAPFILE, ColouriseMapfileDoc, "mapfile");
يجري
LexGen.py
لإنشاء جميع ملفات التعريف (حسب التعليمات السرية)- تم إنشاء ملف خصائص SciTE جديد عن طريق الاستنساخ
scite/src/others.properties
- قم بإعداد بعض الأنماط
- في
scite/src/SciTEGlobal.properties
وأضاف$(filter.conf)
إلى تعريفopen.filter
. - تمت إضافة هذه اللغة إلى قائمة اللغة في SciTE،
- تم بناء كل من Scintilla وSciTE.
- تذمر ولعن.
ما الخطأ الذي أفعله، باستثناء الخطوة 12؟
المحلول
في حالة قيام شخص ما بقراءة هذا السؤال في المستقبل - فسيتعين عليك أيضًا إضافة سطرimport yourformat
في SciTEGlobal.properties
.هذه هي الخطوة غير الموثقة 9 ب.
نصائح أخرى
في حالة قراءة شخص ما هذا السؤال في المستقبل - سيكون لديك أيضا إضافة استيراد خط yourformat في sciteglobal.properties.هذه هي الخطوة غير الموثقة 9B.
هذه الخطوة لم تعد مطلوبة.جمعت 3.2.2 وقد تم ذلك مع الاستيراد *.ما تبقى من الخطوات لا تزال كاملة وذات صلة.
أنا أخرج Lexer مباشرة في scintilla/lexer/LexOthers.cxx
كما هو موضح في http://www.scintilla.org/Scitelexer.html .
للبحث 3.2.3 تفتقر الخطوة 5B هو أنك تحتاج إلى إضافة GransoDicetagCode في GuardacodicetAchcode.