রঙ ঘোষিত ভেরিয়েবল


11

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

আমার ডিফল্ট ইমাস কনফিগারেশনের রঙ ঘোষণার ভিত্তিতে হলুদ বর্ণের পরিবর্তনশীল নাম রয়েছে, তবে সেগুলি ব্যবহারে সাদা হতে দিন।

char toto; // 'char' is green, 'toto' is yellow

toto = 42; // 'toto' is white

আমি একই ফাংশনটির প্রতিটি "টোটো" / স্কোপটিও হলুদে রঙিন করতে চাই।

আমি ইতিমধ্যে এই প্রশ্নটি দেখেছি তবে আমি আরও সহজ কিছু চাই। আমি ফন্ট-লক মোডের সাহায্যেও কিছু করার চেষ্টা করেছি , তবে ভেরিয়েবল নামের সাথে মানিয়ে নেওয়ার মতো কিছু করতে আমি সফল হইনি।

আমি ইতিমধ্যে সি ++ শ্রেণীর সদস্যের নামগুলির জন্য একটি ধারণা পেয়েছি (একটি নামের প্যাটার্ন ব্যবহার করে), সুতরাং আমি এখানে একটি স্থানীয় ভেরিয়েবল ম্যাচ চাই।


3
এটি সম্ভবত এটি দেখতে চেয়ে কঠিন। nobugs.org/developer/parsingcpp
wasamasa

8
আপনি কোনও প্যাকেজ ব্যবহার করতে চান না কেন? যদি এমন কোনও প্যাকেজ রয়েছে যা এই বৈশিষ্ট্যটি সরবরাহ করে তবে এটি ইনস্টল করতে অবশ্যই আপনার কনফিগারেশনে স্ক্র্যাচ থেকে ফিচারটি পুনরায় তৈরি করার চেয়ে কম এলিস্পের প্রয়োজন হবে।
টাইলার

11
এটি color-identifiers-modeপ্যাকেজের মতো অনেকটা শোনাচ্ছে । (এটি একটি মন্তব্য হিসাবে পোস্ট করা কারণ আপনি বলেছিলেন যে আপনি বাহ্যিক প্যাকেজগুলি বিবেচনা করতে চান না))
অ্যারন হ্যারিস

7
প্রতিটি "বাহ্যিক প্যাকেজ "টিকে" কনফিগারেশন ফাইলের কিছু এলিস্প লাইন "হিসাবেও বর্ণনা করা যায়। যে কেউ প্যাকেজ আকারে এটি সরবরাহ করেছে সেই ভিত্তিতে প্রাক-বিদ্যমান কোডটি এড়ানো অবাস্তব।
ফিলস

আপনার কাছে ইমাসের কোন সংস্করণ রয়েছে?
ডিএ ভিনসেন্ট

উত্তর:


1

আপনি আপনার ভেরিয়েবল স্কিমের জন্য একটি রেজিএক্সপেক্ট জোগাড় করতে পারেন, এমন কিছু যা মিলে যায় (সিউডো রিজেক্সপ কোড) [char|other|types] [a-z];এবং [a-z] =*;এটি আপনার মোডের জন্য ফন্ট-লক কীওয়ার্ড তালিকায় যুক্ত করতে পারে; কাস্টমাইজিং-কীওয়ার্ড পৃষ্ঠাতে ম্যানুয়াল থেকে :

উদাহরণস্বরূপ, নিম্নলিখিত কোডটি সি মোডের জন্য দুটি ফন্টিফিকেশন নিদর্শন যুক্ত করেছে: একটি 'ফিক্সএমই' শব্দটি প্রশংসনীয় করে তোলা, এমনকি মন্তব্যেও এবং অন্যটি 'এবং', 'বা' এবং 'নয়' শব্দটি কীওয়ার্ড হিসাবে সজ্জিত করার জন্য।

 (font-lock-add-keywords 'c-mode
  '(("\\<\\(FIXME\\):" 1 font-lock-warning-face prepend)
    ("\\<\\(and\\|or\\|not\\)\\>" . font-lock-keyword-face)))

এই উদাহরণটি কেবল সি মোডে যথাযথভাবে প্রভাবিত করে। সি মোডে এবং একই থেকে প্রাপ্ত সমস্ত মোডে একই নিদর্শন যুক্ত করতে, পরিবর্তে এটি করুন:

 (add-hook 'c-mode-hook
  (lambda ()
   (font-lock-add-keywords nil
    '(("\\<\\(FIXME\\):" 1 font-lock-warning-face prepend)
      ("\\<\\(and\\|or\\|not\\)\\>" .
       font-lock-keyword-face)))))
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.