একটি জিডিট সিনট্যাক্স হাইলাইটিং ফাইলটি সংশোধন করা হচ্ছে


9

আমি গেডিট থেকে একটি হাইলাইটিং ফাইল পরিবর্তন করার চেষ্টা করছি। আমি /usr/share/gtksourceview.3.0/language-specs/fortran.lang ফাইলটি সংশোধন করেছি কারণ সম্পাদক যে মন্তব্যগুলিতে মন্তব্য হিসাবে বক্তব্য নিয়েছে সেগুলি আমি পরিবর্তন করতে চাই। আমার সমস্যাটি হ'ল আমি যখন নতুন হাইলাইটিং স্কিমটি হাইলাইট কিছুই না বেছে নিই তখন এটি কেবল সরল পাঠ্য হিসাবেই থেকে যায়।

ফোরটারানআলং ফাইলটি সু অনুমতি নিয়ে খোলা হয়েছিল এবং আমি কেবল নতুন গেডিট ফাইলে সমস্ত কিছু অনুলিপি করেছি এবং পরে এটি একই ফোল্ডারে ফোর্টরান_ইনহান্সড.লং হিসাবে সংরক্ষণ করেছি। মূল ফাইলটিতে আমি যে পরিবর্তনগুলি করেছি তা হ'ল:

আসল ফোর্টরান.আং ফাইল:

<language id="fortran" _name="Fortran 95" version="2.0" _section="Sources">
  <metadata>
    <property name="mimetypes">text/x-fortran</property>
    <property name="globs">*.f;*.f90;*.f95;*.for</property>
    <property name="line-comment-start">!</property>
  </metadata>
  <styles>
    <style id="comment" _name="Comment" map-to="def:comment"/>
    <style id="floating-point" _name="Floating Point" map-to="def:floating-point"/>
    <style id="keyword" _name="Keyword" map-to="def:keyword"/>
    <style id="intrinsic" _name="Intrinsic function" map-to="def:builtin"/>
    <style id="boz-literal" _name="BOZ Literal" map-to="def:base-n-integer"/>
    <style id="decimal" _name="Decimal" map-to="def:decimal"/>
    <style id="type" _name="Data Type" map-to="def:type"/>
  </styles>
  <default-regex-options case-sensitive="false"/>
  <definitions>
    <!-- Note: contains an hack to avoid considering ^COMMON a comment -->
    <context id="line-comment" style-ref="comment" end-at-line-end="true" class="comment" class-disabled="no-spell-check">
      <start>!|(^[Cc](\b|[^OoAaYy]))</start>
      <include>
        <context ref="def:escape"/>
        <context ref="def:in-line-comment"/>
      </include>
    </context>
(...)

সংশোধিত Fortran_enhanced.lang ফাইল:

                     <!-- Note: changed language id and name -->
<language id="fortran_enhanced" _name="Fortran 95 2.0" version="2.0" _section="Sources">
  <metadata>
    <property name="mimetypes">text/x-fortran</property>
                     <!-- Note: removed *.f and *.for from file extensions -->
    <property name="globs">*.f90;*.f95;</property>
    <property name="line-comment-start">!</property>
  </metadata>
  <styles>
    <style id="comment" _name="Comment" map-to="def:comment"/>
    <style id="floating-point" _name="Floating Point" map-to="def:floating-point"/>
    <style id="keyword" _name="Keyword" map-to="def:keyword"/>
    <style id="intrinsic" _name="Intrinsic function" map-to="def:builtin"/>
    <style id="boz-literal" _name="BOZ Literal" map-to="def:base-n-integer"/>
    <style id="decimal" _name="Decimal" map-to="def:decimal"/>
    <style id="type" _name="Data Type" map-to="def:type"/>
  </styles>
  <default-regex-options case-sensitive="false"/>
  <definitions>
                     <!-- Note: I want comments only beginning with !, not C -->
    <context id="line-comment" style-ref="comment" end-at-line-end="true" class="comment" class-disabled="no-spell-check">
      <start>!</start>
      <include>
        <context ref="def:escape"/>
        <context ref="def:in-line-comment"/>
      </include>
    </context>
(...)

আমি এই প্রশ্নটি পড়েছি [ কাস্টম জিডিট সিনট্যাক্স ডামিদের জন্য হাইলাইটিং? ] এবং আমি নতুন Fortran_enhanced.lang ফাইলটি পঠনযোগ্য করে তোলার চেষ্টা করেছি

$ cd /usr/share/gtksourceview-3.0/language-specs
$ sudo chmod 0644 fortran_enhanced.lang

তবে এতে কোনও তফাত হয়নি।

আমার বলতে হবে যে আমি এর আগে কখনও এ জাতীয় কাজ করি নি এবং আমি বেশিরভাগ ভাষা ফাইলও বুঝতে পারি না, তাই আমি প্রতিটি সমালোচনার জন্য উন্মুক্ত, যেমন আমাকে স্বজ্ঞাতভাবে নিখুঁতভাবে পরিচালিত করা হয়েছে।

অগ্রিম আপনাকে ধন্যবাদ!


আপনার পোস্টের নীচে আপনি বলেছিলেন cd /usr/share/gtksourceview-3.0/language-specs। আপনি কি দৌড়ে আসলেন এই আসল আদেশ? যদি এটি হয় তবে আপনার কেবল ফাইলটি সরানো দরকার /usr/local/share/gtksourceview-3.0/language-specs
evan.bovie

@ emb1995 আপনার পরামর্শ অনুসারে আমি gtksourceview-3.0 ফোল্ডারটি / usr / স্থানীয় / ভাগ করে অনুলিপি করেছি (আমি অনুলিপি বলছি কারণ ফোল্ডারটি আমার কম্পিউটারে / usr / share / এ অবস্থিত ছিল)। যাইহোক, এটি আমার পক্ষে কাজ করে বলে মনে হয় না,
জেডিটে

উত্তর:


4

আমি মনে করি আপনার জন্য কী ভুল হয়েছে আমি খুঁজে পেয়েছি:

সমাধান

এটি ভাল এবং সঠিক, আপনি ট্যাগটিতে id(এবং _name) পরিবর্তন করেছেন <language ...>। সর্বোপরি এটি আপনার তৈরি করা একটি নতুন হাইলাইটিং স্কিম।

তবে আপনাকে এই আইডিটি ব্যবহৃত হয় সেই ফাইলের অন্য জায়গাতেও পরিবর্তন করতে হবে। ভাষা সংজ্ঞায় আরও নীচে (প্রশ্নের উদ্ধৃতিতে বাদ দেওয়া) আপনি এটি খুঁজে পান:

<context id="fortran" class="no-spell-check">

স্পষ্টতই, আপনি সমস্ত ব্যবহৃত প্রসঙ্গে সংজ্ঞা সংজ্ঞা / উল্লেখ সহ আপনার ভাষা হিসাবে একই আইডির সাথে একটি প্রসঙ্গ রাখতে হবে, যাতে কোনও নির্দিষ্ট স্কিম চয়ন করা হলে জিডিট / জিটিকিএসোসরভিউ এটি ব্যবহার করে।

আমি এটি কিভাবে খুঁজে পেয়েছি

আমি এতে মোটেই বিশেষজ্ঞ নই। আমার সমস্ত যোগ্যতা হ'ল আমি এর আগে এক্সএমএল ফাইলগুলি দেখেছি;) সুতরাং আমি কেবল "শিক্ষিত" অনুমান করতে পারি।

টার্মিনাল উইন্ডো থেকে জিডিট শুরু করার সময় আমাকে যে সতর্কতা দেখানো হয়েছিল তা হ'ল

(gedit: 6786): GtkSourceView-WARNING **: '/usr/local/share/gtksourceview-3.0/language-specs/frtrn.lang' লোড করতে ব্যর্থ: মূল ভাষার সংজ্ঞা (আইডি = "ফ্রন্টন"।)

(আমি পরীক্ষার সময় আইডি, নাম এবং ফাইলের এক্সটেনশান হিসাবে " ফ্রন্টন " ব্যবহার করেছি , আপনার " Fortran_enhanced " দিয়ে একই সতর্কতা পাওয়া উচিত )

এটি বাকী ফাইলের মূল আইডি অনুসন্ধান করার জন্য আমাকে যথেষ্ট সন্দেহজনক করে তুলেছিল। উপরের সমাধানটি চেষ্টা করার পরে আমি আমার ব্যাখ্যাটি সমর্থন করার জন্য নিম্নলিখিত লাইনটিও পেয়েছি:

[সংজ্ঞা] এখানে আমাদের একটি মূল প্রসঙ্গটি সংজ্ঞায়িত করা উচিত, আমরা ফাইলের শুরুতে যা প্রবেশ করি: এটি করার জন্য আমরা ট্যাগটি ব্যবহার করি, একটি আইডি উপাদানটির আইডি সমান [...]

এটি জিটিকেসোর্সভিউ ডকুমেন্টেশনের ভাষা সংজ্ঞা ফাইল টিউটোরিয়াল থেকে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.