إضافة معجم جديد إلى scintilla/scite (... وفي النهاية wxPython StyledTextCtrl)

StackOverflow https://stackoverflow.com/questions/3297567

سؤال

هل نجح أي منكم في إضافة معجم إلى scintilla؟

لقد اتبعت التعليمات القصيرة في http://www.scintilla.org/SciTELExer.html - وحتى اكتشف التعليمات الإضافية السرية في http://www.scintilla.org/ScintillaDoc.html#BuildingScintilla (تغيير مجموعة المعجمات)

يتم تجميع كل شيء، ويمكنني إضافة المعجم إلى SciTE على ما يرام، ولكن لا يتم استدعاء طريقة ColouriseMapfileDoc الخاصة بي (لا يُنتج printf مخرجات).إذا قمت بإضافة نفس الرمز إلى على سبيل المثال.معجم ColouriseLuaDoc، كل شيء على ما يرام (printf يفعل إنتاج الإخراج).

على وجه التحديد لدي

  1. في scintilla/include/Scintilla.iface, وأضاف val SCLEX_MAPFILE=99
  2. وأي معرفات فئة معجمية
  3. في تشغيل الدليل scintilla/include HFacer.py وأكدت أن SciLexer.h لقد تغير الملف.
  4. مخلوق LexMapfile.cxx مع ColouriseMapfileDoc وظيفة
  5. في نهاية الملف، تم ربط معرف واسم lexer بالوظيفة:

    LexerModule lmMapfile(SCLEX_MAPFILE, ColouriseMapfileDoc, "mapfile");

  6. يجري LexGen.py لإنشاء جميع ملفات التعريف (حسب التعليمات السرية)

  7. تم إنشاء ملف خصائص SciTE جديد عن طريق الاستنساخ scite/src/others.properties
  8. قم بإعداد بعض الأنماط
  9. في scite/src/SciTEGlobal.properties وأضاف $(filter.conf) إلى تعريف open.filter.
  10. تمت إضافة هذه اللغة إلى قائمة اللغة في SciTE،
  11. تم بناء كل من Scintilla وSciTE.
  12. تذمر ولعن.

ما الخطأ الذي أفعله، باستثناء الخطوة 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.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top