سؤال

ولدي تنسيق ملف XML المخصصة التي يمكن أن تحتوي على كتل من التعليمات البرمجية في بعض العلامات.

وعلى سبيل المثال:

<Root>
    <Sql> select * from foo </Sql>
    <MoreJunk> ... </MoreJunk>
    <Python><![CDATA[
    def Bar(*args):
        return False
    ]]></Python>
</Root>

وكيف يمكنني الحصول على فيم استخدام جملة SQL لتسليط الضوء على النص داخل علامات <Sql> واستخدام بايثون higlighting عن نص داخل علامات <Python>؟

وأنا أعرف فيم يمكن القيام به بالفعل هذا لأنه يسلط الضوء جافا سكريبت داخل ملفات HTML بشكل صحيح.

وحاولت تفقد ملف HTML في بناء الجملة ولكن لم أستطع ذلك.

هل كانت مفيدة؟

المحلول

لXML الخاصة بك مع المثال الثعبان قد تضطر إلى القيام بشيء من هذا القبيل:

runtime! syntax/xml.vim
unlet b:current_syntax
syntax include @Python syntax/python.vim
syntax region pythonCode  start=+<Python>+ keepend end=+/</Python>+  contains=@Python

وستشمل هذه الخطوط بناء الجملة XML وبناء الجملة الثعبان، ومنطقة الثعبان لتحديد مكان وVIM استخدم بناء الجملة الثعبان بدلا من بناء الجملة XML ...

وبطبيعة الحال، كل هذا تم توثيقه جيدا في VIM. انظر> م>: هو: اصطناعي-تضمين حول كيفية تضمين الملفات في بناء الجملة

نصائح أخرى

وثيقة هذا يصف كيفية كتابة بك تسليط الضوء على تركيب خاص. ربما يجب عليك أن تكون قادرا على معرفة الكيفية التي يعمل بها تسليط الضوء على تركيب-HTML مع جافا سكريبت، مع أن كمرجع.

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