এটি হল ctags-exuberant কমান্ড যা আমাদের একাধিক বিনামূল্যের অনলাইন ওয়ার্কস্টেশন যেমন উবুন্টু অনলাইন, ফেডোরা অনলাইন, উইন্ডোজ অনলাইন এমুলেটর বা MAC OS অনলাইন এমুলেটর ব্যবহার করে OnWorks ফ্রি হোস্টিং প্রদানকারীতে চালানো যেতে পারে।
কার্যক্রম:
NAME এর
ctags - সোর্স কোডের জন্য ট্যাগ ফাইল তৈরি করুন
সাইনোপিসিস
ctags [অপশন] [নথি পত্র)]
etags [অপশন] [নথি পত্র)]
বর্ণনাঃ
সার্জারির ctags এবং etags প্রোগ্রামগুলি (এর পরে সমষ্টিগতভাবে হিসাবে উল্লেখ করা হয়েছে ctags, যেখানে ছাড়া
বিশিষ্ট) পাওয়া বিভিন্ন ভাষার বস্তুর জন্য একটি সূচক (বা "ট্যাগ") ফাইল তৈরি করে
in নথি পত্র). এই ট্যাগ ফাইলটি এই আইটেমগুলিকে একটি পাঠ্য দ্বারা দ্রুত এবং সহজে সনাক্ত করার অনুমতি দেয়৷
সম্পাদক বা অন্যান্য ইউটিলিটি। একটি "ট্যাগ" একটি ভাষা বস্তুকে নির্দেশ করে যার জন্য একটি সূচক এন্ট্রি
উপলব্ধ (বা, বিকল্পভাবে, সেই বস্তুর জন্য তৈরি সূচক এন্ট্রি)।
অন্যথা, ctags একটি ক্রস রেফারেন্স ফাইল তৈরি করতে পারে যা মানুষের পাঠযোগ্য তালিকায় রয়েছে
ফর্ম, ভাষা ফাইলের একটি সেটে পাওয়া বিভিন্ন উৎস বস্তু সম্পর্কে তথ্য।
ট্যাগ ইনডেক্স ফাইলগুলি অসংখ্য সম্পাদক দ্বারা সমর্থিত, যা ব্যবহারকারীকে সনাক্ত করতে দেয়
একটি উৎস ফাইলে প্রদর্শিত নামের সাথে যুক্ত বস্তু এবং ফাইল এবং লাইনে ঝাঁপ দাও
যা নাম সংজ্ঞায়িত করে। এই প্রকাশের সময় যাদের সম্পর্কে জানা যায় তারা হলেন:
Vi(1) এবং এর ডেরিভেটিভস (যেমন এলভিস, ভিম, ভিল, লেমি), সিআরআইএসপি, এ গিয়ে emacs, FTE (ভাঁজ
টেক্সট সম্পাদক), জেইডি, jEdit, খনিত, NEdit (নির্বাণ সম্পাদনা), টকিও (সেমওয়্যার সম্পাদক),
UltraEdit, কর্মস্থান, X2, গ্রীকদের দেবরাজ
Ctags বিভিন্ন ধরনের ট্যাগ তৈরি করতে সক্ষম
ভাষা সমর্থিত ভাষার একটি সম্পূর্ণ তালিকার জন্য, যে নামগুলি দ্বারা সেগুলি রয়েছে৷
স্বীকৃত, এবং প্রতিটির জন্য যে ধরণের ট্যাগ তৈরি করা হয়, দেখুন --তালিকা-ভাষা
এবং --তালিকা-প্রকার অপশন।
উৎস নথি পত্র
না হলে --ভাষা-শক্তি বিকল্পটি নির্দিষ্ট করা হয়েছে, প্রতিটি উৎস ফাইলের ভাষা
ভাষাতে ফাইলের নামের ম্যাপিংয়ের ভিত্তিতে স্বয়ংক্রিয়ভাবে নির্বাচিত। মধ্যে ম্যাপিং
প্রতিটি ভাষার জন্য প্রভাব ব্যবহার করে প্রদর্শিত হতে পারে --তালিকা-মানচিত্র বিকল্প এবং পরিবর্তন করা যেতে পারে
ব্যবহার করে --ল্যাংম্যাপ বিকল্প প্ল্যাটফর্মে যা এটি সমর্থন করে, যদি একটি ফাইলের নাম না হয়
একটি ভাষাতে ম্যাপ করা হয় এবং ফাইলটি এক্সিকিউটেবল হয়, ফাইলের প্রথম লাইনে চেক করা হয়
দেখুন ফাইলটি একটি "#!" একটি স্বীকৃত ভাষার জন্য স্ক্রিপ্ট।
ডিফল্টরূপে, অন্যান্য সমস্ত ফাইলের নাম উপেক্ষা করা হয়। এটি চালানোর অনুমতি দেয় ctags সমস্ত ফাইলে
হয় একটি একক ডিরেক্টরি (যেমন "ctags *"), অথবা একটি সম্পূর্ণ উৎস ডিরেক্টরির সমস্ত ফাইলে
ট্রি (যেমন "ctags -R"), যেহেতু শুধুমাত্র সেই ফাইলগুলিই হবে যাদের নাম ভাষাতে ম্যাপ করা হয়েছে
স্ক্যান করা।
[কারণ যে .h এক্সটেনশনগুলি সি ফাইলের পরিবর্তে C++ ফাইলে ম্যাপ করা হয় কারণ এটি
C++ এ .h এক্সটেনশন ব্যবহার করা সাধারণ, এবং সেগুলোকে C++ ফাইল হিসেবে বিবেচনা করলে কোনো ক্ষতি হয় না।]
বিকল্প
উপলব্ধ বিকল্প সম্পদ সত্ত্বেও, ডিফল্ট সেট করা হয় যাতে ctags সবচেয়ে সাধারণ
কোনো বিকল্প ছাড়াই কার্যকর করা হয়েছে (যেমন "ctags *", বা "ctags -R"), যা একটি ট্যাগ ফাইল তৈরি করবে
সমস্ত স্বীকৃত উৎস ফাইলের জন্য বর্তমান ডিরেক্টরিতে। নীচে বর্ণিত বিকল্পগুলি হল
বিশেষ চাহিদা মেটাতে কাস্টম সেলাই করার অনুমতি দেওয়ার জন্য দেওয়া হয়েছে।
মনে রাখবেন যে একক-অক্ষরের বিকল্পগুলিকে তাদের পরামিতিগুলি থেকে পৃথক করে এমন স্থানগুলি ঐচ্ছিক।
আরও নোট করুন যে লং ফর্ম বিকল্পগুলির বুলিয়ান প্যারামিটারগুলি (যেগুলি "--" দিয়ে শুরু হয়
এবং যে একটি নিতে "[=হ্যাঁ|না]" প্যারামিটার) বাদ দেওয়া যেতে পারে, এই ক্ষেত্রে "=হাঁ"উহিত হয়।
(যেমন --সাজান সমতুল্য --সাজান=হাঁ) আরও নোট করুন যে "=1"এবং" =on" বিবেচিত
"= এর প্রতিশব্দহাঁ", এবং যে "=0"এবং" =বন্ধ"কে "= এর প্রতিশব্দ হিসাবে বিবেচনা করা হয়না।".
কিছু অপশন হয় উপেক্ষা করা হয় অথবা শুধুমাত্র ইটাগস মোডে চলাকালীন ব্যবহার করা হলেই উপযোগী হয় (দেখুন
-e বিকল্প)। এই ধরনের বিকল্প উল্লেখ করা হবে.
বেশিরভাগ অপশন কমান্ড লাইনের যেকোনো জায়গায় উপস্থিত হতে পারে, শুধুমাত্র সেই ফাইলগুলিকে প্রভাবিত করে যা
বিকল্পটি অনুসরণ করুন। কয়েকটি বিকল্প, তবে, প্রথম ফাইলের নাম এবং ইচ্ছার আগে অবশ্যই উপস্থিত হতে হবে
যেমন উল্লেখ করা হবে।
ভাষার নাম নেওয়ার বিকল্পগুলি সেই নামগুলিকে উচ্চ বা নিম্ন অক্ষরে গ্রহণ করবে। দেখা
দ্য --তালিকা-ভাষা অন্তর্নির্মিত ভাষার নামের সম্পূর্ণ তালিকার বিকল্প।
-a সমতুল্য --সংযোজন.
-B ব্যাকওয়ার্ড সার্চিং প্যাটার্ন ব্যবহার করুন (যেমন? প্যাটার্ন?)। [etags মোডে উপেক্ষা করা হয়েছে]
-e etags মোড সক্ষম করুন, যা Emacs সম্পাদকের সাথে ব্যবহারের জন্য একটি ট্যাগ ফাইল তৈরি করবে।
বিকল্পভাবে, যদি ctags "etags" স্ট্রিং ধারণকারী একটি নাম দ্বারা আহ্বান করা হয় (হয় দ্বারা
পুনঃনামকরণ, বা এক্সিকিউটেবল এর সাথে একটি লিঙ্ক তৈরি করা), etags মোড সক্রিয় করা হবে। এই
বিকল্পটি প্রথম ফাইলের নামের আগে উপস্থিত হওয়া আবশ্যক।
-f ট্যাগফাইল
দ্বারা নির্দিষ্ট নাম ব্যবহার করুন ট্যাগফাইল ট্যাগ ফাইলের জন্য (ডিফল্ট হল "ট্যাগ", বা "TAGS" যখন
etags মোডে চলছে)। যদি ট্যাগফাইল "-" হিসাবে নির্দিষ্ট করা হয়, তারপর ট্যাগ ফাইলটি লেখা হয়
পরিবর্তে আদর্শ আউটপুট. Ctags একগুঁয়েভাবে আদেশ নিতে অস্বীকার করবে যদি ট্যাগফাইল
বিদ্যমান এবং এর প্রথম লাইনে একটি বৈধ ট্যাগ লাইন ছাড়া অন্য কিছু রয়েছে। এটা হবে
আপনি যদি ভুল করে "ctags -f *.c" টাইপ করেন তবে আপনার ঘাড় বাঁচান, যা অন্যথায় ওভাররাইট করবে
আপনার প্রথম C ফাইল বাকি ট্যাগ দিয়ে তৈরি! এটাও মানতে অস্বীকার করবে
একটি বহু-অক্ষর ফাইলের নাম যা একটি '-' (ড্যাশ) অক্ষর দিয়ে শুরু হয়, যেহেতু এটি সবচেয়ে বেশি
সম্ভবত মানে আপনি ট্যাগ ফাইলের নাম ছেড়ে দিয়েছেন এবং এই বিকল্পটি দখল করার চেষ্টা করেছেন
ফাইলের নাম হিসাবে পরবর্তী বিকল্প। আপনি যদি সত্যিই আপনার আউটপুট ট্যাগ ফাইলের নাম দিতে চান
"-ugly", এটিকে "./-ugly" হিসাবে উল্লেখ করুন। এই বিকল্পটি প্রথম ফাইলের নামের আগে উপস্থিত হওয়া আবশ্যক।
যদি এই বিকল্পটি একাধিকবার উল্লেখ করা হয়, শুধুমাত্র শেষটি প্রযোজ্য হবে।
-F ফরোয়ার্ড সার্চিং প্যাটার্ন ব্যবহার করুন (যেমন /pattern/) (ডিফল্ট)। [etags মোডে উপেক্ষা করা হয়েছে]
-h তালিকা
ফাইল এক্সটেনশনের একটি তালিকা নির্দিষ্ট করে, পিরিয়ড দ্বারা আলাদা করা, যা হতে হবে
অন্তর্ভুক্ত (বা হেডার) ফাইল হিসাবে ব্যাখ্যা করা হয়। কোন এক্সটেনশন নেই ফাইল নির্দেশ করতে, ব্যবহার করুন
একটি পিরিয়ড অ-পিরিয়ড অক্ষর দ্বারা অনুসরণ করা হয় না (যেমন ".", "..x", ".x")। এই বিকল্প
শুধুমাত্র একটি নির্দিষ্ট ধরণের ট্যাগের স্কোপিং কীভাবে ব্যাখ্যা করা হয় তা প্রভাবিত করে (যেমন
তারা বিশ্বব্যাপী দৃশ্যমান হিসাবে বিবেচিত হোক বা না হোক শুধুমাত্র এর মধ্যে দৃশ্যমান
ফাইল যেখানে তারা সংজ্ঞায়িত করা হয়); এটা কোনো নির্দিষ্ট এক্সটেনশন মানচিত্র না
ভাষা. যে কোনো ট্যাগ যা একটি নন-ইনক্লুড ফাইলে অবস্থিত এবং দেখা যায় না (যেমন
অন্য ফাইল থেকে লিঙ্ক করা হলে ফাইল-সীমিত (যেমন স্ট্যাটিক) সুযোগ আছে বলে মনে করা হয়।
একটি অন্তর্ভুক্ত ফাইলে প্রদর্শিত কোনো ধরনের ট্যাগ ফাইল-সীমিত বলে বিবেচিত হবে না
সুযোগ তালিকার প্রথম অক্ষরটি যদি প্লাস চিহ্ন হয়, তাহলে এক্সটেনশনগুলি
তালিকা বর্তমান তালিকায় যুক্ত করা হবে; অন্যথায়, তালিকা প্রতিস্থাপন করবে
বর্তমান তালিকা। দেখুন, এছাড়াও, --ফাইল-স্কোপ বিকল্প ডিফল্ট তালিকা হয়
".hHhh.hpp.hxx.h++.inc.def"। ডিফল্ট তালিকা পুনরুদ্ধার করতে, নির্দিষ্ট করুন -h ডিফল্ট। বিঃদ্রঃ
যে যদি এই বিকল্পে সরবরাহ করা একটি এক্সটেনশন ইতিমধ্যেই একটি নির্দিষ্ট ম্যাপ করা না থাকে
ভাষা (দেখুন উৎস নথি পত্র, উপরে), আপনাকে যেকোনো একটি ব্যবহার করতে হবে --ল্যাংম্যাপ or
--ভাষা-শক্তি বিকল্প।
-I শনাক্তকারী-তালিকা
শনাক্তকারীর একটি তালিকা নির্দিষ্ট করে যা C এবং পার্স করার সময় বিশেষভাবে পরিচালনা করা হবে
C++ সোর্স ফাইল। এই বিকল্পটি বিশেষভাবে বিশেষ ক্ষেত্রে পরিচালনা করার জন্য প্রদান করা হয়
প্রিপ্রসেসর ম্যাক্রো ব্যবহারের মাধ্যমে উদ্ভূত। যখন তালিকাভুক্ত শনাক্তকারী হয়
সহজ শনাক্তকারী, এই শনাক্তকারীগুলি উৎস পার্স করার সময় উপেক্ষা করা হবে
নথি পত্র. যদি একটি শনাক্তকারী একটি '+' অক্ষরের সাথে প্রত্যয়িত হয়, ctags এছাড়াও কোন উপেক্ষা করা হবে
বন্ধনী-আবদ্ধ যুক্তি তালিকা যা অবিলম্বে শনাক্তকারীকে অনুসরণ করতে পারে
সোর্স ফাইল. যদি দুটি শনাক্তকারীকে '=' অক্ষর দিয়ে আলাদা করা হয়, প্রথমটি
পার্সিংয়ের উদ্দেশ্যে আইডেন্টিফায়ারকে দ্বিতীয় আইডেন্টিফায়ার দ্বারা প্রতিস্থাপিত করা হয়। এর তালিকা
শনাক্তকারী সরাসরি কমান্ড লাইনে সরবরাহ করা যেতে পারে বা আলাদা থেকে পড়তে পারে
ফাইল প্রথম অক্ষর হলে শনাক্তকারী-তালিকা '@', '।' অথবা একটি পথনাম বিভাজক
('/' বা '\'), অথবা প্রথম দুটি অক্ষর একটি ড্রাইভ লেটার নির্দিষ্ট করে (যেমন "C:"),
স্থিতিমাপ শনাক্তকারী-তালিকা একটি ফাইলের নাম হিসাবে ব্যাখ্যা করা হবে যেখান থেকে একটি তালিকা পড়তে হবে
শনাক্তকারীর, প্রতি ইনপুট লাইনে একটি। অন্যথায়, শনাক্তকারী-তালিকা এর একটি তালিকা
শনাক্তকারী (বা শনাক্তকারী জোড়া) বিশেষভাবে পরিচালনা করা হবে, প্রতিটি একটি দ্বারা সীমাবদ্ধ
একটি কমা বা সাদা স্থান দ্বারা (যে ক্ষেত্রে তালিকাটি সম্পূর্ণ রাখার জন্য উদ্ধৃত করা উচিত
একটি কমান্ড লাইন যুক্তি হিসাবে তালিকা)। একাধিক -I বিকল্প সরবরাহ করা যেতে পারে। পরিষ্কার করা
উপেক্ষা শনাক্তকারীদের তালিকা, এর জন্য একটি একক ড্যাশ ("-") সরবরাহ করুন৷ শনাক্তকারী-তালিকা.
এই বৈশিষ্ট্যটি উপযোগী হয় যখন প্রিপ্রসেসর ম্যাক্রোগুলিকে এমনভাবে ব্যবহার করা হয় যাতে তারা
তাদের উপস্থিতির কারণে সিনট্যাকটিক বিভ্রান্তি সৃষ্টি করে। প্রকৃতপক্ষে, এই সেরা উপায়
সিনট্যাক্স-বাস্টিং ম্যাক্রোর উপস্থিতির কারণে সৃষ্ট বেশ কয়েকটি সমস্যার সমাধান করা
উৎস ফাইলে (দেখুন সতর্কতা, নিচে). কিছু উদাহরণ এই বিষয়টিকে ব্যাখ্যা করবে।
int foo ARGDECL4 (void *, ptr, long int, nbytes)
উপরের উদাহরণে, ম্যাক্রো "ARGDECL4" কে ভুলভাবে ব্যাখ্যা করা হবে
"foo" এর সঠিক নামের পরিবর্তে ফাংশনের নাম। নির্দিষ্ট করা -I ARGDECL4
সঠিক আচরণের ফলাফল।
/* মডিউলে একটি RCS সংস্করণ স্ট্রিং তৈরি করে */
MODULE_VERSION("$রিভিশন: 750 $")
উপরের উদাহরণে ম্যাক্রো আমন্ত্রণটি একটি ফাংশন সংজ্ঞার মতো অনেক বেশি দেখায়
কারণ এটি একটি সেমিকোলন দ্বারা অনুসরণ করা হয় না (প্রকৃতপক্ষে, এটি একটি দ্বারা অনুসরণ করা যেতে পারে
গ্লোবাল ভেরিয়েবল সংজ্ঞা যা দেখতে অনেকটা K&R শৈলী ফাংশন প্যারামিটারের মতো
ঘোষণা)। আসলে, এই আপাতদৃষ্টিতে ফাংশন সংজ্ঞা সম্ভবত এমনকি কারণ হতে পারে
সংজ্ঞাটি সম্পূর্ণ করার চেষ্টা করার সময় বাকি ফাইলটি এড়িয়ে যেতে হবে।
নির্দিষ্ট করা -I MODULE_VERSION+ যেমন একটি সমস্যা এড়াতে হবে.
ক্লাসের উদাহরণ {
// আপনার বিষয়বস্তু এখানে
};
উপরের উদাহরণটি একটি প্রিপ্রসেসর ম্যাক্রো হিসাবে "CLASS" ব্যবহার করে যা কিছুতে প্রসারিত হয়
প্রতিটি প্ল্যাটফর্মের জন্য আলাদা। উদাহরণস্বরূপ CLASS কে "শ্রেণী" হিসাবে সংজ্ঞায়িত করা যেতে পারে
Win32 প্ল্যাটফর্মে __declspec(dllexport)" এবং UNIX-এ সহজভাবে "ক্লাস"। সাধারণত,
C++ কীওয়ার্ড "class" এর অনুপস্থিতির কারণে সোর্স ফাইলটি ভুল হবে
পার্স করা সঠিক আচরণ নির্দিষ্ট করে পুনরুদ্ধার করা যেতে পারে -I শ্রেণী=শ্রেণী.
-L ফাইল
থেকে পড়ুন ফাইল ফাইলের নামের একটি তালিকা যার জন্য ট্যাগ তৈরি করা উচিত। যদি ফাইল is
"-" হিসাবে নির্দিষ্ট করা হয়, তারপর ফাইলের নামগুলি স্ট্যান্ডার্ড ইনপুট থেকে পড়া হয়। ফাইল নাম ব্যবহার করে পড়া
কমান্ড লাইনে প্রদর্শিত ফাইলের নাম অনুসরণ করে এই বিকল্পটি প্রক্রিয়া করা হয়। অপশন
এছাড়াও এই ইনপুট গ্রহণ করা হয়. যদি এই বিকল্পটি একাধিকবার উল্লেখ করা হয়, শুধুমাত্র
সর্বশেষ প্রযোজ্য হবে। বিঃদ্রঃ: ফাইল লাইন-ভিত্তিক মোডে পড়া হয়, যেখানে একটি নতুন লাইন হয়
শুধুমাত্র ডিলিমিটার এবং নন-ট্রেলিং সাদা স্থানকে তাৎপর্যপূর্ণ বিবেচনা করা হয়, যাতে করে
স্পেস সম্বলিত ফাইলের নাম সরবরাহ করা যেতে পারে (তবে, ট্রেলিং সাদা স্থান
লাইন থেকে ছিনতাই); এটি অন্তর্ভুক্ত করলে বিকল্পগুলিকে কীভাবে পার্স করা হয় তা প্রভাবিত করতে পারে
ইনপুট.
-n সমতুল্য --excmd=সংখ্যা.
-N সমতুল্য --excmd=প্যাটার্ন.
-o ট্যাগফাইল
সমতুল্য -f ট্যাগফাইল.
-R সমতুল্য -- পুনরাবৃত্তি.
-u সমতুল্য --সাজান=না। (অর্থাৎ "বাছাই করা")।
-V সমতুল্য -- ভারবোস.
-w SVR4-এর ctags-এর সাথে পশ্চাদগামী-সামঞ্জস্যতার জন্য এই বিকল্পটি নিঃশব্দে উপেক্ষা করা হয়
ইউনিক্স।
-x স্ট্যান্ডার্ড আউটপুটে একটি ট্যাবুলার, মানব-পাঠযোগ্য ক্রস রেফারেন্স (xref) ফাইল প্রিন্ট করুন
একটি ট্যাগ ফাইল তৈরি করার পরিবর্তে। আউটপুটে থাকা তথ্যগুলির মধ্যে রয়েছে:
ট্যাগের নাম; ট্যাগ ধরনের; লাইন নম্বর, ফাইলের নাম এবং উৎস লাইন (সহ
অতিরিক্ত সাদা স্থান ঘনীভূত) ফাইলের যা ট্যাগ সংজ্ঞায়িত করে। কোন ট্যাগ ফাইল নেই
লিখিত এবং ট্যাগ ফাইল আউটপুট প্রভাবিত সমস্ত বিকল্প উপেক্ষা করা হবে. উদাহরণ
এই বৈশিষ্ট্যের জন্য অ্যাপ্লিকেশনগুলি একটি এ অবস্থিত সমস্ত ফাংশনের একটি তালিকা তৈরি করছে
উৎস ফাইল (যেমন ctags -x --c- প্রকার=f ফাইল), বা বাহ্যিকভাবে সবগুলির একটি তালিকা তৈরি করা
একটি উৎস ফাইলে অবস্থিত দৃশ্যমান গ্লোবাল ভেরিয়েবল (যেমন ctags -x --c- প্রকার=v
--ফাইল-স্কোপ=না। ফাইল) এই বিকল্পটি প্রথম ফাইলের নামের আগে উপস্থিত হওয়া আবশ্যক।
--সংযোজন[=হাঁ|না।]
নির্দিষ্ট ফাইলগুলি থেকে তৈরি করা ট্যাগগুলি তাদের সাথে যুক্ত করা উচিত কিনা তা নির্দেশ করে৷
ইতিমধ্যে ট্যাগ ফাইলে উপস্থিত বা তাদের প্রতিস্থাপন করা উচিত। এই বিকল্প দ্বারা বন্ধ
ডিফল্ট. এই বিকল্পটি প্রথম ফাইলের নামের আগে উপস্থিত হওয়া আবশ্যক।
--etags-অন্তর্ভুক্ত=ফাইল
একটি রেফারেন্স অন্তর্ভুক্ত করুন ফাইল ট্যাগ ফাইলে। এই বিকল্পটি অনেক হিসাবে নির্দিষ্ট করা যেতে পারে
বার যেমন ইচ্ছা। এটি একটি ট্যাগ ফাইল ব্যবহার করার জন্য Emacs-এর ক্ষমতা সমর্থন করে যা "অন্তর্ভুক্ত"
অন্যান্য ট্যাগ ফাইল। [শুধুমাত্র etags মোডে উপলব্ধ]
--বাদ=[প্যাটার্ন]
বিজ্ঞাপন প্যাটার্ন বাদ দেওয়া ফাইল এবং ডিরেক্টরিগুলির একটি তালিকায়। এই বিকল্প নির্দিষ্ট করা যেতে পারে
যতবার ইচ্ছা। দ্বারা বিবেচনা করা প্রতিটি ফাইল নামের জন্য ctags, প্রতিটি প্যাটার্ন
এই বিকল্পটি ব্যবহার করে নির্দিষ্ট করা সম্পূর্ণ পাথ উভয়ের সাথে তুলনা করা হবে (যেমন
some/path/base.ext) এবং ফাইলের বেস নাম (যেমন base.ext), এইভাবে অনুমতি দেয়
প্যাটার্ন যা একটি প্রদত্ত ফাইল নামের সাথে তার পাথ নির্বিশেষে মেলে, অথবা শুধুমাত্র a এর সাথে মেলে
নির্দিষ্ট পথ। আপনার সি-এর রানটাইম লাইব্রেরি থেকে উপযুক্ত সহায়তা পাওয়া গেলে
কম্পাইলার, তারপর প্যাটার্ন সাধারণ শেল ওয়াইল্ডকার্ড থাকতে পারে (নিয়মিত নয়
অভিব্যক্তি) ইউনিক্সে সাধারণ (রক্ষার জন্য বিকল্প প্যারামিটারটি উদ্ধৃত করতে ভুলবেন না
পাস করার আগে শেল দ্বারা প্রসারিত করা থেকে ওয়াইল্ডকার্ড ctags; হতে
সচেতন যে ওয়াইল্ডকার্ডগুলি স্ল্যাশ অক্ষরের সাথে মেলে, '/')। আপনি শেল কিনা তা নির্ধারণ করতে পারেন
এর আউটপুট পরীক্ষা করে আপনার প্ল্যাটফর্মে ওয়াইল্ডকার্ড পাওয়া যায় --সংস্করণ
বিকল্প, যা সংকলিত বৈশিষ্ট্য তালিকায় "+ওয়াইল্ডকার্ড" অন্তর্ভুক্ত করবে; অন্যথায়,
প্যাটার্ন একটি সাধারণ পাঠ্য তুলনা ব্যবহার করে ফাইলের নামের সাথে মিলে যায়।
If প্যাটার্ন '@' অক্ষর দিয়ে শুরু হয়, তারপর বাকি স্ট্রিং ব্যাখ্যা করা হয়
একটি ফাইলের নাম হিসাবে যা থেকে বর্জনের নিদর্শন পড়তে হবে, প্রতি লাইনে একটি। যদি প্যাটার্ন is
খালি, বাদ দেওয়া নিদর্শনগুলির তালিকা সাফ করা হয়েছে। নোট করুন যে প্রোগ্রাম শুরুতে,
ডিফল্ট বাদ দেওয়া তালিকায় "EIFGEN", "SCCS", "RCS" এবং "CVS" রয়েছে, যেগুলোর নাম
যে ডিরেক্টরিগুলির জন্য সাধারণত প্রক্রিয়াকরণের সময় নামানো বাঞ্ছনীয় নয়
-- পুনরাবৃত্তি বিকল্প।
--excmd=আদর্শ
উৎস ফাইলে ট্যাগ সনাক্ত করতে ব্যবহৃত EX কমান্ডের ধরন নির্ধারণ করে। [উপেক্ষিত
etags মোডে]
এর জন্য বৈধ মান আদর্শ (হয় পুরো শব্দ বা প্রথম অক্ষর গৃহীত হয়)
হয়:
সংখ্যা ট্যাগ সনাক্তকরণের জন্য ট্যাগ ফাইলে শুধুমাত্র লাইন সংখ্যা ব্যবহার করুন। এই চার আছে
সুবিধাদি:
1. উল্লেখযোগ্যভাবে ফলিত ট্যাগ ফাইলের আকার হ্রাস করে।
2. ট্যাগ খুঁজে পেতে ব্যর্থতা দূর করে কারণ ট্যাগ সংজ্ঞায়িত লাইন আছে
পরিবর্তিত হয়েছে, যার ফলে প্যাটার্ন ম্যাচ ব্যর্থ হয়েছে (উল্লেখ্য যে কিছু সম্পাদক, যেমন
as তেজ, এরকম অনেক ক্ষেত্রে পুনরুদ্ধার করতে সক্ষম)।
3. অভিন্ন মিল খুঁজে বের করে, কিন্তু ভুল, উৎস লাইন (দেখুন
বাগ, নিচে).
4. অভিন্ন লাইনের জন্য ট্যাগ ফাইলে আলাদা এন্ট্রি রাখে
বিষয়বস্তুতে ভিতরে প্যাটার্ন মোড, ডুপ্লিকেট এন্ট্রি বাদ দেওয়া হয় কারণ
তারা যে অনুসন্ধান নিদর্শনগুলি তৈরি করে তা অভিন্ন, সদৃশ তৈরি করে৷
এন্ট্রি অকেজো।
যাইহোক, এই বিকল্পটির একটি উল্লেখযোগ্য ত্রুটি রয়েছে: উৎসে পরিবর্তন
ফাইলের কারণে ট্যাগ ফাইলে রেকর্ড করা লাইন নম্বর আর থাকবে না
সোর্স ফাইলের লাইনের সাথে মিলে যায়, যার ফলে কিছু ট্যাগ লাফ দেয়
এক বা একাধিক লাইন দ্বারা লক্ষ্য সংজ্ঞা মিস. মূলত, এই বিকল্প হয়
সর্বোত্তম ব্যবহার করা হয় যখন এটি প্রয়োগ করা হয় এমন সোর্স কোড সাপেক্ষে নয়
পরিবর্তন. এই বিকল্প টাইপ নির্বাচন করার ফলে নিম্নলিখিত বিকল্পগুলি হতে পারে
উপেক্ষা করা: -বি ফল.
প্যাটার্ন সাধারণত লাইন সংখ্যার পরিবর্তে সমস্ত ট্যাগের জন্য শুধুমাত্র অনুসন্ধান প্যাটার্ন ব্যবহার করুন
ম্যাক্রো সংজ্ঞার জন্য ব্যবহৃত হয়। এই রেফারেন্স না সুবিধা আছে
অপ্রচলিত লাইন সংখ্যা যখন ট্যাগ থেকে লাইন যোগ বা সরানো হয়
ফাইল তৈরি করা হয়েছিল।
মিশ্র এই মোডে, নিদর্শনগুলি সাধারণত কয়েকটি ব্যতিক্রমের সাথে ব্যবহার করা হয়। সি, লাইনের জন্য
সংখ্যা ম্যাক্রো সংজ্ঞা ট্যাগ জন্য ব্যবহার করা হয়. এটি ছিল ডিফল্ট বিন্যাস
মূল দ্বারা উত্পন্ন ctags এবং তাই, ডিফল্ট হিসাবে রাখা হয়
এই বিকল্পের জন্য। Fortran এর জন্য, সাধারণ ব্লকের জন্য লাইন নম্বর ব্যবহার করা হয়
কারণ তাদের সংশ্লিষ্ট উত্স লাইনগুলি সাধারণত অভিন্ন, তৈরি করে
প্যাটার্ন সব মিল খুঁজে বের করার জন্য অকেজো অনুসন্ধান.
--অতিরিক্ত=[+|-]পতাকা
নির্দিষ্ট ধরণের তথ্যের জন্য অতিরিক্ত ট্যাগ এন্ট্রি অন্তর্ভুক্ত করতে হবে কিনা তা নির্দিষ্ট করে৷ দ্য
স্থিতিমাপ পতাকা এক-অক্ষরের পতাকার সেট, প্রতিটি এক ধরনের অতিরিক্ত ট্যাগের প্রতিনিধিত্ব করে
ট্যাগ ফাইলে অন্তর্ভুক্ত করার জন্য এন্ট্রি। যদি পতাকা এর আগে হয় '+' বা '-'
অক্ষর, প্রতিটি পতাকার প্রভাব বর্তমানে যুক্ত করা হয় বা সরিয়ে দেওয়া হয়
সক্রিয়; অন্যথায় পতাকাগুলি বর্তমান সেটিংস প্রতিস্থাপন করে। প্রতিটি পতাকার অর্থ
নিম্নরূপ:
f প্রতিটি উৎস ফাইলের বেস ফাইল নামের জন্য একটি এন্ট্রি অন্তর্ভুক্ত করুন (যেমন
"example.c"), যা ফাইলের প্রথম লাইনের ঠিকানা দেয়।
q প্রতিটি ট্যাগের জন্য একটি অতিরিক্ত শ্রেণী-যোগ্য ট্যাগ এন্ট্রি অন্তর্ভুক্ত করুন যা a এর সদস্য
ক্লাস (যেসব ভাষার জন্য এই তথ্য বের করা হয়েছে; বর্তমানে C++,
আইফেল, এবং জাভা)। যোগ্য ট্যাগের প্রকৃত ফর্ম এর উপর নির্ভর করে
যে ভাষা থেকে ট্যাগটি উদ্ভূত হয়েছে (একটি ফর্ম ব্যবহার করে যা সবচেয়ে স্বাভাবিক
কীভাবে যোগ্য কলগুলি ভাষায় নির্দিষ্ট করা হয়)। C++ এর জন্য, এটি আকারে রয়েছে
"শ্রেণী::সদস্য"; আইফেল এবং জাভার জন্য, এটি "class.member" আকারে রয়েছে। এই
একটি নির্দিষ্ট ট্যাগের সহজ অবস্থানের অনুমতি দিতে পারে যখন a এর একাধিক ঘটনা ঘটে
ট্যাগ নাম ট্যাগ ফাইল ঘটতে. উল্লেখ্য, যাইহোক, এটি সম্ভাব্য হতে পারে
ট্যাগ ফাইলের আকার দ্বিগুণেরও বেশি।
--ক্ষেত্র=[+|-]পতাকা
উপলব্ধ এক্সটেনশন ক্ষেত্রগুলি নির্দিষ্ট করে যা এর এন্ট্রিগুলিতে অন্তর্ভুক্ত করা হবে৷
ট্যাগ ফাইল (দেখুন TAG ফাইল বিন্যাসে, নীচে, আরও তথ্যের জন্য)। প্যারামিটার পতাকা
এক-অক্ষরের পতাকার একটি সেট, প্রতিটিতে এক ধরনের এক্সটেনশন ক্ষেত্র প্রতিনিধিত্ব করে
নিম্নলিখিত অর্থ সহ অন্তর্ভুক্ত করুন (নির্দেশিত না হলে ডিফল্টরূপে নিষ্ক্রিয়):
a ক্লাস সদস্যদের অ্যাক্সেস (বা রপ্তানি)
f ফাইল-সীমাবদ্ধ স্কোপিং [সক্ষম]
i উত্তরাধিকার তথ্য
k একক অক্ষর হিসাবে ট্যাগের প্রকার [সক্ষম]
K সম্পূর্ণ নাম হিসাবে ট্যাগ ধরনের
l ট্যাগ ধারণকারী উৎস ফাইলের ভাষা
m বাস্তবায়ন তথ্য
n ট্যাগ সংজ্ঞা লাইন সংখ্যা
s ট্যাগ সংজ্ঞার সুযোগ [সক্ষম]
S রুটিনের স্বাক্ষর (যেমন প্রোটোটাইপ বা পরামিতি তালিকা)
z ধরনের ক্ষেত্রে "কাইন্ড:" কী অন্তর্ভুক্ত করুন
t "typeref:" ফিল্ড হিসাবে একটি ভেরিয়েবল বা টাইপডেফের টাইপ এবং নাম [সক্ষম]
প্রতিটি অক্ষর বা অক্ষরের গ্রুপের আগে হয় '+' যোগ করতে
ডিফল্ট সেট, বা এটি বাদ দিতে '-'। কোনো পূর্ববর্তী '+' বা '-' চিহ্নের অনুপস্থিতিতে,
শুধুমাত্র এই ধরনের স্পষ্টভাবে তালিকাভুক্ত পতাকা আউটপুটে অন্তর্ভুক্ত করা হবে (যেমন
ডিফল্ট সেট ওভাররাইডিং)। এই বিকল্প উপেক্ষা করা হয় যদি বিকল্প --ফরম্যাট=1 হয়েছে
নির্দিষ্ট করা এই বিকল্পের ডিফল্ট মান হল fkst.
--ফাইল-স্কোপ[=হাঁ|না।]
ট্যাগগুলি শুধুমাত্র একটি ফাইলের জন্য স্কোপ করা হয়েছে কিনা তা নির্দেশ করে (যেমন ট্যাগ যা দেখা যায় না
ফাইলের বাইরে যেখানে তারা সংজ্ঞায়িত করা হয়েছে, যেমন "স্ট্যাটিক" ট্যাগ) হওয়া উচিত
আউটপুটে অন্তর্ভুক্ত। দেখুন, এছাড়াও, -h বিকল্প এই বিকল্পটি ডিফল্টরূপে সক্রিয় করা হয়।
--ছাঁকনি[=হাঁ|না।]
কারণসমূহ ctags একটি ফিল্টার হিসাবে আচরণ করতে, স্ট্যান্ডার্ড ইনপুট থেকে উৎস ফাইলের নাম পড়া এবং
ফাইল-বাই-ফাইল ভিত্তিতে স্ট্যান্ডার্ড আউটপুটে তাদের ট্যাগ মুদ্রণ করা। যদি -- সাজানো is
সক্রিয়, ট্যাগগুলি শুধুমাত্র সেই উৎস ফাইলের মধ্যেই সাজানো হয় যেখানে তারা সংজ্ঞায়িত করা হয়েছে। ফাইল
লাইন-ভিত্তিক ইনপুট মোডে স্ট্যান্ডার্ড ইনপুট থেকে নামগুলি পড়া হয় (এর জন্য নোট দেখুন -L
বিকল্প) এবং শুধুমাত্র কমান্ড লাইনে তালিকাভুক্ত ফাইলের নাম বা যেকোনো ফাইল থেকে
ব্যবহার করে সরবরাহ করা হয় -L বিকল্প এই বিকল্প সক্রিয় করা হলে, বিকল্প -f, -o, এবং
-- মোট উপেক্ষা করা হয়। এই বিকল্পটি বেশ রহস্যময় এবং ডিফল্টরূপে অক্ষম করা হয়। এই
বিকল্পটি প্রথম ফাইলের নামের আগে উপস্থিত হওয়া আবশ্যক।
--ফিল্টার-টার্মিনেটর=স্ট্রিং
প্রতিটি ফাইলের নামের জন্য ট্যাগ অনুসরণ করে স্ট্যান্ডার্ড আউটপুটে প্রিন্ট করার জন্য একটি স্ট্রিং নির্দিষ্ট করে
পার্স করা হয় যখন --ছাঁকনি বিকল্প সক্রিয় করা হয়। এটি একটি অ্যাপ্লিকেশন পড়ার অনুমতি দিতে পারে
প্রতিটি ফাইলের আউটপুট কখন শেষ হবে তা নির্ধারণ করতে ctags-এর আউটপুট। মনে রাখবেন যে
যদি ফাইলের নামটি পড়া হয় একটি ডিরেক্টরি এবং -- পুনরাবৃত্তি সক্রিয় আছে, এই স্ট্রিং হবে
ডাইরেক্টরীতে অবতরণের মাধ্যমে পাওয়া সমস্ত ট্যাগের শেষে শুধুমাত্র একবার প্রিন্ট করা হয়। এই
স্ট্রিং সবসময় ফাইলের শেষ ট্যাগ লাইন থেকে আলাদা করা হবে
নতুন লাইনের সমাপ্তি। এই বিকল্পটি বেশ রহস্যময় এবং ডিফল্টরূপে খালি। এই
বিকল্পটি প্রথম ফাইলের নামের আগে উপস্থিত হওয়া আবশ্যক।
--ফরম্যাট=স্তর
আউটপুট ট্যাগ ফাইলের বিন্যাস পরিবর্তন করুন। বর্তমানে একমাত্র বৈধ মান স্তর
হয় 1 or 2. লেভেল 1 মূল ট্যাগ ফাইল ফরম্যাট নির্দিষ্ট করে এবং লেভেল 2 একটি নির্দিষ্ট করে
এক্সটেনশন ক্ষেত্র সমন্বিত নতুন বর্ধিত বিন্যাস (কিন্তু এমনভাবে যা ধরে রাখে
পশ্চাদপদ- মূলের সাথে সামঞ্জস্য vi(1) বাস্তবায়ন)। ডিফল্ট স্তর হল 2।
এই বিকল্পটি প্রথম ফাইলের নামের আগে উপস্থিত হওয়া আবশ্যক। [etags মোডে উপেক্ষা করা হয়েছে]
--help
স্ট্যান্ডার্ড আউটপুটে একটি বিস্তারিত ব্যবহারের বিবরণ প্রিন্ট করে এবং তারপর প্রস্থান করে।
--if0[=হাঁ|না।]
একটি প্রিপ্রসেসরের "#if 0" শাখার মধ্যে কোড কিনা তা একটি পছন্দ নির্দেশ করে
অ-ম্যাক্রো ট্যাগের জন্য শর্তসাপেক্ষ পরীক্ষা করা উচিত (ম্যাক্রো ট্যাগ সবসময় অন্তর্ভুক্ত করা হয়)।
কারণ এই নির্মাণের উদ্দেশ্য হল কোড নিষ্ক্রিয় করা, এর ডিফল্ট মান
বিকল্প হয় না।. মনে রাখবেন যে এটি শুধুমাত্র একটি পছন্দ নির্দেশ করে এবং গ্যারান্টি দেয় না
একটি "#if 0" শাখার মধ্যে কোড এড়িয়ে যাওয়া, যেহেতু ফল-ব্যাক অ্যালগরিদম ব্যবহার করত
ট্যাগ তৈরি করুন যখন প্রিপ্রসেসর শর্তাবলী খুব জটিল হয় এর সমস্ত শাখা অনুসরণ করে
একটি শর্তাধীন এই অপশনটি পূর্বনির্ধারণ অনুসারে নিষ্ক্রিয়।
-- - ধরনের=[+|-] প্রকার
অন্তর্ভুক্ত করার জন্য ভাষা-নির্দিষ্ট ধরণের ট্যাগগুলির (বা প্রকার) একটি তালিকা নির্দিষ্ট করে৷
একটি নির্দিষ্ট ভাষার জন্য আউটপুট ফাইল, যেখানে কেস-সংবেদনশীল এবং এর মধ্যে একটি
অন্তর্নির্মিত ভাষার নাম (দেখুন --তালিকা-ভাষা একটি সম্পূর্ণ তালিকার জন্য বিকল্প)।
প্যারামিটার ধরণের এক-অক্ষরের পতাকাগুলির একটি গ্রুপ যা ট্যাগগুলিকে মনোনীত করে
(ভাষা বিশেষ করে) আউটপুট থেকে অন্তর্ভুক্ত বা বাদ দিতে। দ্য
প্রতিটি ভাষার জন্য স্বীকৃত পতাকার নির্দিষ্ট সেট, তাদের অর্থ এবং ডিফল্ট হতে পারে
ব্যবহার করে তালিকা করা --তালিকা-প্রকার বিকল্প প্রতিটি অক্ষর বা অক্ষর গ্রুপ হতে পারে
ডিফল্ট সেটে এটি যোগ করার জন্য '+' বা '-' থেকে এটি সরানোর পূর্বে। ভিতরে
কোনো পূর্ববর্তী '+' বা '-' চিহ্নের অনুপস্থিতি, কেবলমাত্র সেই প্রকারগুলি স্পষ্টভাবে তালিকাভুক্ত
ধরণের আউটপুটে অন্তর্ভুক্ত করা হবে (অর্থাৎ নির্দিষ্ট করা ডিফল্টকে ওভাররাইড করা
ভাষা).
প্রোটোটাইপ এবং বাহ্যিক পরিবর্তনশীল যোগ করার জন্য সি ভাষার জন্য একটি উদাহরণ হিসাবে
ট্যাগ ধরণের ডিফল্ট সেটে ঘোষণা, কিন্তু ম্যাক্রো বাদ দিন, ব্যবহার করুন
--c- প্রকার=+px-d; ফাংশনের জন্য শুধুমাত্র ট্যাগ অন্তর্ভুক্ত করতে, ব্যবহার করুন --c- প্রকার=f.
--langdef=নাম
একটি নতুন ব্যবহারকারী-সংজ্ঞায়িত ভাষা সংজ্ঞায়িত করে, নাম, রেগুলার এক্সপ্রেশন দিয়ে পার্স করা হবে।
একবার সংজ্ঞায়িত, নাম ভাষা নাম গ্রহণ অন্যান্য বিকল্প ব্যবহার করা যেতে পারে. সাধারণ
এই বিকল্পটি ব্যবহার করে প্রথমে ভাষা সংজ্ঞায়িত করা, তারপর এটি ব্যবহার করে ফাইলের নাম ম্যাপ করা
--ল্যাংম্যাপ, তারপর ব্যবহার করে রেগুলার এক্সপ্রেশন নির্দিষ্ট করুন --regex- কিভাবে এটা সংজ্ঞায়িত করতে
ট্যাগ পাওয়া যায়।
--ল্যাংম্যাপ=মানচিত্র[,মানচিত্র[...]]
কীভাবে ফাইলের নামগুলি ভাষায় ম্যাপ করা হয় তা নিয়ন্ত্রণ করে (দেখুন --তালিকা-মানচিত্র বিকল্প)। প্রতিটি
কমা দ্বারা পৃথক করা মানচিত্র ভাষার নাম নিয়ে গঠিত (হয় একটি অন্তর্নির্মিত বা ব্যবহারকারী-সংজ্ঞায়িত
ভাষা), একটি কোলন, এবং ফাইল এক্সটেনশন এবং/অথবা ফাইল নামের প্যাটার্নগুলির একটি তালিকা। একটি নথি
এক্সটেনশন একটি নির্দিষ্ট সময়কালের সাথে এক্সটেনশনের পূর্ববর্তী দ্বারা নির্দিষ্ট করা হয় (যেমন ".c")। একটি নথি
নামের প্যাটার্নটি বন্ধনীতে প্যাটার্নটি আবদ্ধ করে নির্দিষ্ট করা হয় (যেমন
"([Mm]akfile)")। এর রানটাইম লাইব্রেরি থেকে উপযুক্ত সহায়তা পাওয়া গেলে
আপনার সি কম্পাইলার, তারপর ফাইল নামের প্যাটার্নে সাধারণ শেল ওয়াইল্ডকার্ড থাকতে পারে
ইউনিক্সে সাধারণ (ওয়াইল্ডকার্ডগুলিকে রক্ষা করার জন্য বিকল্প প্যারামিটারটি উদ্ধৃত করতে ভুলবেন না
পাস করার আগে শেল দ্বারা প্রসারিত করা হচ্ছে ctags) আপনি শেল কিনা তা নির্ধারণ করতে পারেন
এর আউটপুট পরীক্ষা করে আপনার প্ল্যাটফর্মে ওয়াইল্ডকার্ড পাওয়া যায় --সংস্করণ
বিকল্প, যা সংকলিত বৈশিষ্ট্য তালিকায় "+ওয়াইল্ডকার্ড" অন্তর্ভুক্ত করবে; অন্যথায়,
ফাইল নামের প্যাটার্নগুলি একটি সাধারণ পাঠ্য তুলনা ব্যবহার করে ফাইল নামের সাথে মিলে যায়।
একটি ফাইল এক্সটেনশন ম্যাপ করার সময়, এটি প্রথমে অন্য কোনো ভাষা থেকে আনম্যাপ করা হবে।
যদি একটি মানচিত্রের প্রথম অক্ষরটি একটি প্লাস চিহ্ন হয়, তাহলে এক্সটেনশন এবং ফাইলের নাম
সেই মানচিত্রের নিদর্শনগুলি সেই ভাষার জন্য বর্তমান মানচিত্রে সংযুক্ত করা হবে;
অন্যথায়, মানচিত্র বর্তমান মানচিত্র প্রতিস্থাপন করবে। উদাহরণস্বরূপ, শুধুমাত্র যে নির্দিষ্ট করতে
.c এবং .x এর এক্সটেনশন সহ ফাইলগুলিকে C ভাষার ফাইল হিসাবে গণ্য করতে হবে, ব্যবহার করুন
"--ল্যাংম্যাপ=c:.cx"; এছাড়াও জাভা ভাষার ফাইল হিসাবে .j এর এক্সটেনশন সহ ফাইলগুলি যোগ করতে,
নির্দিষ্ট করুন "--ল্যাংম্যাপ=c:.cx, java:+.j"। মেকফাইল ম্যাপ করতে (যেমন ফাইলের নাম হয়
"makefile", "makefile", অথবা "mak") এক্সটেনশন থাকা "make" নামে একটি ভাষায়
নির্দিষ্ট করুন "--ল্যাংম্যাপ=make:([Mm]akfile).mak". কোন এক্সটেনশন ছাড়া ফাইল ম্যাপ করতে,
একটি পিরিয়ড অক্ষর দ্বারা অনুসরণ করা হয় না এমন একটি নির্দিষ্ট করুন (যেমন ".", "..x", ".x")। প্রতি
একটি নির্দিষ্ট ভাষার জন্য ম্যাপিং সাফ করুন (এইভাবে এর স্বয়ংক্রিয় প্রজন্মকে বাধা দেয়
সেই ভাষার জন্য ট্যাগ, একটি খালি এক্সটেনশন তালিকা নির্দিষ্ট করুন (যেমন
"--ল্যাংম্যাপ=ফরট্রান:") একটি নির্দিষ্ট জন্য ডিফল্ট ভাষা ম্যাপিং পুনরুদ্ধার করতে
ভাষা, ম্যাপিংয়ের জন্য "ডিফল্ট" কীওয়ার্ড সরবরাহ করুন। পুনরুদ্ধার নির্দিষ্ট করতে
সমস্ত ভাষার জন্য ডিফল্ট ভাষা ম্যাপিং, নির্দিষ্ট করুন "--ল্যাংম্যাপ=ডিফল্ট". মনে রাখবেন যে
a-এর ভাষা অনুমান করার সময় ফাইল এক্সটেনশনগুলি ফাইল নামের প্যাটার্নের আগে পরীক্ষা করা হয়
ফাইল.
--ভাষা-শক্তি=ভাষা
গতানুগতিক, ctags সেগুলি উপেক্ষা করে স্বয়ংক্রিয়ভাবে একটি উৎস ফাইলের ভাষা নির্বাচন করে
ফাইল যার ভাষা নির্ধারণ করা যায় না (দেখুন উৎস নথি পত্র, উপরে)। এই বিকল্প
নির্দিষ্ট বাধ্য করে ভাষা (কেস-সংবেদনশীল; হয় অন্তর্নির্মিত বা ব্যবহারকারী-সংজ্ঞায়িত) থেকে
স্বয়ংক্রিয়ভাবে ভাষা ভিত্তিক নির্বাচন করার পরিবর্তে প্রতিটি সরবরাহকৃত ফাইলের জন্য ব্যবহার করা হবে
এর এক্সটেনশনের উপর। উপরন্তু, বিশেষ মান গাড়ী ইঙ্গিত করে যে ভাষা
স্বয়ংক্রিয়ভাবে নির্বাচন করা উচিত (যা কার্যকরভাবে এই বিকল্পটি নিষ্ক্রিয় করে)।
--ভাষা=[+|-]তালিকা
যে ভাষাগুলির জন্য ট্যাগ জেনারেশন সক্ষম করা হয়েছে তা নির্দিষ্ট করে তালিকা সমন্বিত একটি
ভাষার নামের কমা দ্বারা পৃথক করা তালিকা (কেস-সংবেদনশীল; হয় অন্তর্নির্মিত বা ব্যবহারকারী-
সংজ্ঞায়িত)। যদি প্রথম ভাষা তালিকা একটি '+' বা '-' এর আগে হয় না,
ভাষা যোগ করার বা অপসারণ করার আগে বর্তমান তালিকা সাফ করা হবে তালিকা। অবধি ক
'-' সম্মুখীন হয়েছে, তালিকার প্রতিটি ভাষা বর্তমান তালিকায় যোগ করা হবে। হিসাবে
হয় '+' বা '-' তালিকার সম্মুখীন হয়, এটি অনুসরণ করা ভাষাগুলি
বর্তমান তালিকা থেকে যথাক্রমে যুক্ত বা সরানো হয়েছে। এইভাবে, এটা সহজ হয়ে ওঠে
বর্তমান তালিকাটিকে একটি নতুন দিয়ে প্রতিস্থাপন করুন, অথবা থেকে ভাষা যোগ করতে বা সরাতে
বর্তমান তালিকা। ফাইলের প্রকৃত তালিকা যার জন্য ট্যাগ তৈরি করা হবে তার উপর নির্ভর করে
ভাষা এক্সটেনশন ম্যাপিং কার্যকর (দেখুন --ল্যাংম্যাপ বিকল্প)। নোট করুন যে সব
ব্যবহারকারী-সংজ্ঞায়িত ভাষাগুলি সহ ভাষাগুলি সক্রিয় করা হয় যদি না স্পষ্টভাবে অক্ষম করা হয়৷
এই বিকল্প ব্যবহার করে। ভাষার নাম অন্তর্ভুক্ত তালিকা কোনো অন্তর্নির্মিত ভাষা বা হতে পারে
একটি পূর্বে সংজ্ঞায়িত --langdef. ডিফল্ট হল "সমস্ত", যা গৃহীত হয়
একটি বৈধ যুক্তি হিসাবে। দেখুন --তালিকা-ভাষা একটি সম্পূর্ণ তালিকা জন্য বিকল্প
অন্তর্নির্মিত ভাষার নাম।
--লাইসেন্স
স্ট্যান্ডার্ড আউটপুটে সফ্টওয়্যার লাইসেন্সের একটি সারাংশ প্রিন্ট করে এবং তারপর প্রস্থান করে।
--লাইন-নির্দেশ[=হাঁ|না।]
"#লাইন" নির্দেশাবলী স্বীকৃত হবে কিনা তা নির্দিষ্ট করে। এগুলি উপস্থিত রয়েছে
প্রিপ্রসেসরের আউটপুট এবং লাইন নম্বর ধারণ করে, এবং সম্ভবত ফাইলের নাম
মূল উৎস ফাইল(গুলি) যেখান থেকে প্রিপ্রসেসর আউটপুট ফাইল তৈরি করা হয়েছিল।
সক্রিয় করা হলে, এই বিকল্পটি ঘটবে ctags দিয়ে চিহ্নিত ট্যাগ এন্ট্রি তৈরি করতে
ফাইল নাম এবং তাদের অবস্থানের লাইন নম্বর মূল উৎস ফাইল(গুলি), পরিবর্তে
প্রিপ্রসেসর আউটপুটে তাদের প্রকৃত অবস্থান। প্রকৃত ফাইল নাম স্থাপন করা হয়েছে
ট্যাগ ফাইলে প্রিপ্রসেসর আউটপুট হিসাবে একই অগ্রণী পাথ উপাদান থাকবে
ফাইল, যেহেতু এটি অনুমান করা হয় যে মূল উত্স ফাইলগুলি এর সাথে সম্পর্কিত
প্রিপ্রসেসর আউটপুট ফাইল (যদি না, অবশ্যই, # লাইন নির্দেশিকা একটি নির্দিষ্ট করে
পরম পথ)। এই বিকল্পটি ডিফল্টরূপে বন্ধ। বিঃদ্রঃ: এই বিকল্পটি সাধারণত শুধুমাত্র
এর সাথে একসাথে ব্যবহার করার সময় দরকারী --excmd=সংখ্যা (-n) বিকল্প। এছাড়াও, আপনি হতে পারে
হয় ব্যবহার করুন --ল্যাংম্যাপ or --ভাষা-শক্তি বিকল্পের এক্সটেনশন হলে
প্রিপ্রসেসর আউটপুট ফাইল পরিচিত নয় ctags.
--লিংক[=হাঁ|না।]
প্রতীকী লিঙ্কগুলি (যদি সমর্থিত হয়) অনুসরণ করা উচিত কিনা তা নির্দেশ করে৷ অক্ষম হলে,
প্রতীকী লিঙ্ক উপেক্ষা করা হয়. এই বিকল্পটি ডিফল্টরূপে হয়।
--তালিকা-প্রকার[=ভাষা|সব]
নির্দিষ্ট ভাষা বা সমস্ত ভাষার জন্য স্বীকৃত ট্যাগ ধরনের তালিকা করে,
এবং তারপর প্রস্থান. ট্যাগ ফাইলে রেকর্ড করা প্রতিটি ধরণের ট্যাগ একটি দ্বারা প্রতিনিধিত্ব করা হয়-
অক্ষর পতাকা, যা ব্যবহারের মাধ্যমে আউটপুটে রাখা ট্যাগগুলিকে ফিল্টার করতেও ব্যবহৃত হয়
এর -- - ধরনের বিকল্প মনে রাখবেন কিছু ভাষা এবং/অথবা ট্যাগ ধরনের হতে পারে
রেগুলার এক্সপ্রেশন ব্যবহার করে প্রয়োগ করা হয় এবং রেজেক্স সমর্থন থাকলে উপলব্ধ নাও হতে পারে
মধ্যে কম্পাইল না ctags (দেখুন --regex- বিকল্প)। তালিকাভুক্ত প্রতিটি ধরনের সক্রিয় করা হয়
যদি না "[বন্ধ]" দ্বারা অনুসরণ করা হয়।
--তালিকা-মানচিত্র[=ভাষা|সব]
ফাইল এক্সটেনশন এবং ফাইলের নামের প্যাটার্ন তালিকাভুক্ত করে যা একটি ফাইলের নাম a এর সাথে যুক্ত করে
হয় নির্দিষ্ট ভাষা বা সমস্ত ভাষার জন্য ভাষা, এবং তারপর প্রস্থান করে। দেখুন
--ল্যাংম্যাপ বিকল্প, এবং উৎস নথি পত্রউপরে।
--তালিকা-ভাষা
যেসব ভাষার দ্বারা বোঝা যায় তার নাম তালিকাভুক্ত করে ctags, এবং তারপর প্রস্থান. এই ভাষাগুলো
নামগুলি কেস সংবেদনশীল এবং তে ব্যবহার করা যেতে পারে৷ --ভাষা-শক্তি, --ভাষা,
-- - ধরনের, এবং --regex- অপশন।
--বিকল্প=ফাইল
থেকে অতিরিক্ত বিকল্প পড়ুন ফাইল. ফাইলটিতে প্রতি লাইনে একটি বিকল্প থাকা উচিত। হিসেবে
বিশেষ ক্ষেত্রে, যদি --বিকল্প=কিছুই না কমান্ড লাইনে প্রথম বিকল্প হিসাবে নির্দিষ্ট করা হয়েছে,
এটি একটি ফাইল থেকে যেকোনো কনফিগারেশন বিকল্পের স্বয়ংক্রিয় পড়া নিষ্ক্রিয় করবে
বা পরিবেশ (দেখুন নথি পত্র).
-- পুনরাবৃত্তি[=হাঁ|না।]
সরবরাহকৃত ফাইলের তালিকার সম্মুখীন হওয়া ডিরেক্টরিগুলিতে পুনরাবৃত্তি করুন। তালিকা হলে
সরবরাহকৃত ফাইলগুলি খালি এবং এর সাথে কোনো ফাইল তালিকা নির্দিষ্ট করা নেই -L বিকল্প, তারপর
বর্তমান ডিরেক্টরি (যেমন "।") ধরে নেওয়া হয়। প্রতীকী লিঙ্ক অনুসরণ করা হয়. যদি আপনি না করেন
এই আচরণগুলির মতো, হয় স্পষ্টভাবে ফাইলগুলি নির্দিষ্ট করুন বা এর আউটপুট পাইপ করুন
আবিষ্কার(1) মধ্যে ctags -এল- পরিবর্তে. বিঃদ্রঃ: এই বিকল্পটি সমস্ত প্ল্যাটফর্মে সমর্থিত নয়৷
বর্তমানে. এর আউটপুট হলে এটি পাওয়া যায় --help বিকল্প এই বিকল্প অন্তর্ভুক্ত.
দেখুন, এছাড়াও, --বাদ পুনরাবৃত্তি সীমিত করতে।
--regex-=/regexp/replacement/[kind-spec/][পতাকা]
সার্জারির /regexp/প্রতিস্থাপন/ জোড়া একটি নিয়মিত অভিব্যক্তি প্রতিস্থাপন প্যাটার্ন সংজ্ঞায়িত করে,
শৈলী অনুরূপ কিন্তু প্রতিস্থাপন কমান্ড, যা দিয়ে ট্যাগ তৈরি করা হয়
নামকৃত ভাষায় ম্যাপ করা উৎস ফাইল, , (কেস-সংবেদনশীল; হয় একটি বিল্ট-
বা ব্যবহারকারী-সংজ্ঞায়িত ভাষায়)। নিয়মিত অভিব্যক্তি, regexp, একটি বর্ধিত সংজ্ঞায়িত করে
নিয়মিত অভিব্যক্তি (মোটামুটি যা দ্বারা ব্যবহৃত হয় egrep(1)), যা একটি একক সনাক্ত করতে ব্যবহৃত হয়
একটি ট্যাগ ধারণকারী উৎস লাইন এবং \t ব্যবহার করে ট্যাব অক্ষর নির্দিষ্ট করতে পারে। যখন একটি ম্যাচিং
লাইন পাওয়া যায়, দ্বারা সংজ্ঞায়িত নামের জন্য একটি ট্যাগ তৈরি করা হবে প্রতিস্থাপন, যা
সাধারণত বিশেষ ব্যাক-রেফারেন্স থাকবে \1 থেকে \9 ম্যাচিং উল্লেখ করতে
মধ্যে সাব-এক্সপ্রেশন গ্রুপ regexp. '/' বিভাজক অক্ষর দেখানো হয়েছে
বিকল্পের পরামিতি আসলে যেকোনো অক্ষর দ্বারা প্রতিস্থাপিত হতে পারে। মনে রাখবেন যে
যেটি বিভাজক অক্ষর ব্যবহার করা হোক না কেন একটি ব্যাকস্ল্যাশ ('\') দিয়ে পালাতে হবে
অক্ষর যেখানেই এটি একটি বিভাজক ছাড়া অন্য কিছু হিসাবে প্যারামিটারে ব্যবহৃত হয়।
এই বিকল্প দ্বারা সংজ্ঞায়িত রেগুলার এক্সপ্রেশন রেগুলারের বর্তমান তালিকায় যোগ করা হয়েছে
নির্দিষ্ট ভাষার জন্য অভিব্যক্তি যদি না প্যারামিটারটি বাদ দেওয়া হয়, এই ক্ষেত্রে
বর্তমান তালিকা সাফ করা হয়.
দ্বারা সংশোধিত না হলে পতাকা, regexp একটি Posix বর্ধিত নিয়মিত হিসাবে ব্যাখ্যা করা হয়
অভিব্যক্তি দ্য প্রতিস্থাপন সমস্ত মিলে যাওয়া লাইনের জন্য একটি অ-খালিতে প্রসারিত করা উচিত
অক্ষরের স্ট্রিং, বা একটি সতর্কতা বার্তা রিপোর্ট করা হবে। একটি ঐচ্ছিক ধরনের
ট্যাগ মেলানোর জন্য নির্দিষ্টকারী regexp অনুসরণ করতে পারে প্রতিস্থাপন, যা নির্ধারণ করবে কি
ধরনের ট্যাগ "কাইন্ড" এক্সটেনশন ক্ষেত্রে রিপোর্ট করা হয় (দেখুন TAG ফাইল বিন্যাসে, নিচে).
এর সম্পূর্ণ ফর্ম ধরনের-বিশেষ একটি একক অক্ষর, একটি কমা, একটি নাম আকারে
(স্পেস ছাড়া), একটি কমা, একটি বিবরণ, একটি বিভাজক দ্বারা অনুসরণ করা, যা নির্দিষ্ট করে
ধরনের মানের সংক্ষিপ্ত এবং দীর্ঘ ফর্ম এবং এর পাঠ্য বিবরণ (ব্যবহার করে প্রদর্শিত হয়
--তালিকা-প্রকার) হয় ধরনের নাম এবং/অথবা বিবরণ বাদ দেওয়া যেতে পারে। যদি
ধরনের-বিশেষ বাদ দেওয়া হয়, এটি ডিফল্ট "r, regex"। অবশেষে, পতাকা এক বা একাধিক হয়
একক-অক্ষরের অক্ষরগুলির ব্যাখ্যার উপর নিম্নলিখিত প্রভাব রয়েছে৷
regexp:
b প্যাটার্নটিকে একটি Posix মৌলিক নিয়মিত অভিব্যক্তি হিসাবে ব্যাখ্যা করা হয়।
e প্যাটার্নটিকে একটি Posix এক্সটেন্ডেড রেগুলার এক্সপ্রেশন (ডিফল্ট) হিসাবে ব্যাখ্যা করা হয়।
i রেগুলার এক্সপ্রেশনটি কেস-অসংবেদনশীল পদ্ধতিতে প্রয়োগ করতে হবে।
মনে রাখবেন যে এই বিকল্পটি শুধুমাত্র যদি পাওয়া যায় ctags জন্য সমর্থন সঙ্গে সংকলিত ছিল
নিয়মিত অভিব্যক্তি, যা আপনার প্ল্যাটফর্মের উপর নির্ভর করে। আপনি যদি সমর্থন নির্ধারণ করতে পারেন
রেগুলার এক্সপ্রেশনের জন্য আউটপুট পরীক্ষা করে কম্পাইল করা হয় --সংস্করণ
বিকল্প, যা সংকলিত বৈশিষ্ট্য তালিকায় "+regex" অন্তর্ভুক্ত করবে।
দ্বারা ব্যবহৃত রেগুলার এক্সপ্রেশন সম্পর্কে আরও তথ্যের জন্য ctags, হয় দেখুন
regex(5,7) ম্যান পেজ, অথবা regex-এর জন্য GNU তথ্য ডকুমেন্টেশন (যেমন "info regex")।
--সাজান[=হাঁ|না।|ফোল্ডকেস]
ট্যাগ ফাইলটি ট্যাগ নামের উপর বাছাই করা উচিত কিনা তা নির্দেশ করে (ডিফল্ট হাঁ).
উল্লেখ্য যে মূল vi(1) প্রয়োজনীয় সাজানো ট্যাগ। দ্য ফোল্ডকেস মান কেস নির্দিষ্ট করে
সংবেদনশীল (বা কেস-ভাঁজ) বাছাই। ট্যাগ ফাইলের দ্রুত বাইনারি অনুসন্ধানের সাথে সাজানো
কেস-ভাঁজ করার জন্য ট্যাগ ফাইলগুলি ব্যবহার করে সরঞ্জামগুলি থেকে বিশেষ সহায়তার প্রয়োজন হবে, যেমন এটি
ctags readtags লাইব্রেরিতে পাওয়া যায়, অথবা Vim সংস্করণ 6.2 বা উচ্চতর ("set ব্যবহার করে
ignorecase")। এই বিকল্পটি অবশ্যই প্রথম ফাইলের নামের আগে উপস্থিত হতে হবে। [etags-এ উপেক্ষা করা হয়েছে
মোড]
--ট্যাগ-আত্মীয়[=হাঁ|না।]
নির্দেশ করে যে ট্যাগ ফাইলে রেকর্ড করা ফাইলের পাথগুলি আপেক্ষিক হওয়া উচিত
বর্তমান ডিরেক্টরির সাথে সম্পর্কিত না হয়ে ট্যাগ ফাইল ধারণকারী ডিরেক্টরি,
যদি না কমান্ড লাইনে সরবরাহ করা ফাইলগুলি পরম পাথ দিয়ে নির্দিষ্ট করা হয়। এই
বিকল্পটি প্রথম ফাইলের নামের আগে উপস্থিত হওয়া আবশ্যক। ডিফল্ট হয় হাঁ যখন দৌড়াচ্ছে
etags মোড (দেখুন -e বিকল্প), না। অন্যথায়।
-- মোট[=হাঁ|না।]
এর সময় লেখা সোর্স ফাইল এবং ট্যাগ ফাইলের পরিসংখ্যান প্রিন্ট করে
এর বর্তমান আহ্বান ctags. এই বিকল্পটি ডিফল্টরূপে বন্ধ। এই বিকল্পটি অবশ্যই উপস্থিত হবে
প্রথম ফাইলের নামের আগে।
-- ভারবোস[=হাঁ|না।]
ভার্বোস মোড সক্ষম করুন। এটি বিকল্প প্রক্রিয়াকরণ এবং একটি সংক্ষিপ্ত তথ্য প্রিন্ট করে
বিবেচিত প্রতিটি ফাইলের জন্য কী ব্যবস্থা নেওয়া হচ্ছে তা বর্ণনা করে বার্তা ctags.
সাধারণত, ctags অপশন পড়া না হওয়া পর্যন্ত কমান্ড লাইন আর্গুমেন্ট পড়ে না
কনফিগারেশন ফাইল থেকে (দেখুন নথি পত্র, নীচে) এবং CTAGS পরিবেশ সূচক.
যাইহোক, যদি এই বিকল্পটি কমান্ড লাইনের প্রথম আর্গুমেন্ট হয়, তবে এটি লাগবে
এই উত্স থেকে কোন বিকল্প পড়ার আগে প্রভাব. ডিফল্ট হয় না।.
--সংস্করণ
এর জন্য একটি সংস্করণ শনাক্তকারী প্রিন্ট করে ctags স্ট্যান্ডার্ড আউটপুটে, এবং তারপর প্রস্থান করুন। এই
সর্বদা "Exuberant Ctags" স্ট্রিং ধারণ করার নিশ্চয়তা।
কর্মক্ষম বিশদ বিবরণ
As ctags প্রতিটি ফাইলের নাম পরিবর্তন করে বিবেচনা করে, এটি ফাইলের ভাষা নির্ধারণ করার চেষ্টা করে
ক্রমানুসারে নিম্নলিখিত তিনটি পরীক্ষা প্রয়োগ করে: যদি ফাইল এক্সটেনশনটি a এ ম্যাপ করা হয়
ভাষা, যদি ফাইলের নাম একটি ভাষাতে ম্যাপ করা শেল প্যাটার্নের সাথে মেলে এবং অবশেষে যদি
ফাইলটি এক্সিকিউটেবল এবং এর প্রথম লাইন ইউনিক্স-স্টাইল ব্যবহার করে একটি দোভাষী নির্দিষ্ট করে
"#!" স্পেসিফিকেশন (যদি প্ল্যাটফর্মে সমর্থিত হয়)। যদি একটি ভাষা সনাক্ত করা হয়, ফাইল
খোলা হয় এবং তারপরে উপযুক্ত ভাষা পার্সারকে বর্তমানে চালানোর জন্য বলা হয়
খোলা ফাইল. পার্সার ফাইলটি পার্স করে এবং প্রতিটির জন্য ট্যাগ ফাইলে একটি এন্ট্রি যোগ করে
ভাষা বস্তু এটি পরিচালনা করার জন্য লেখা হয়. দেখা TAG ফাইল বিন্যাসে, নীচে, এই সম্পর্কে বিস্তারিত জানার জন্য
এন্ট্রি।
এই বাস্তবায়ন ctags উত্তরাধিকার হিসাবে সি কোডের উপর কোন বিন্যাস প্রয়োজনীয়তা আরোপ করে না
বাস্তবায়ন ctags-এর পুরানো প্রয়োগগুলি নির্দিষ্ট বিন্যাসের উপর নির্ভর করে
প্রিপ্রসেসর দ্বারা সৃষ্ট কোডিং দ্বিধাগুলি সমাধানে সহায়তা করার জন্য অনুমান
শর্তাবলী
সাধারণভাবে, ctags শর্তযুক্ত প্রিপ্রসেসর নির্দেশাবলী সম্পর্কে স্মার্ট হতে চেষ্টা করে। যদি একটি
প্রিপ্রসেসর শর্তাধীন একটি বিবৃতির মধ্যে সম্মুখীন হয় যা একটি ট্যাগ সংজ্ঞায়িত করে, ctags
শর্তসাপেক্ষের শুধুমাত্র প্রথম শাখা অনুসরণ করে ("#if 0" এর বিশেষ ক্ষেত্রে ছাড়া,
যে ক্ষেত্রে এটি শুধুমাত্র শেষ শাখা অনুসরণ করে)। এর কারণ হলো ব্যর্থ হওয়া
শুধুমাত্র একটি শাখা অনুসরণ করলে অস্পষ্ট বাক্য গঠন হতে পারে, যেমন নিম্নলিখিত উদাহরণে:
#ifdef দুই_অলটারনেটিভ
গঠন {
# আরও
মিলন {
#endif
সংক্ষিপ্ত a;
দীর্ঘ খ;
}
উভয় শাখা অনুসরণ করা যাবে না, বা ধনুর্বন্ধনী ভারসাম্যহীন হয়ে ওঠে এবং ctags করতে অক্ষম হবে
সিনট্যাক্স বোঝা.
যদি এই হিউরিস্টিক প্রয়োগটি একটি ফাইলকে সঠিকভাবে পার্স করতে ব্যর্থ হয়, সাধারণত এর কারণে
শর্তসাপেক্ষে জটিল এবং অসামঞ্জস্যপূর্ণ জুটি, ctags ফাইলটি পুনরায় চেষ্টা করবে
একটি ভিন্ন হিউরিস্টিক ব্যবহার করে যা নির্বাচনীভাবে শর্তাধীন প্রিপ্রসেসর অনুসরণ করে না
শাখা, কিন্তু পরিবর্তে কলাম 1 এ একটি বন্ধ বন্ধনী ("}") এর উপর নির্ভর করে
#if অনুসরণ করার ফলে যে কোনো বন্ধনী ভারসাম্যহীনতা দেখা দিলে একটি ব্লকের সমাপ্তি নির্দেশ করে
শর্তাধীন শাখা।
Ctags এর ডবল সেটে আবদ্ধ আর্গুমেন্ট তালিকাগুলিকে বিশেষভাবে পরিচালনা করার চেষ্টা করবে
নিম্নলিখিত শর্তসাপেক্ষ গঠন গ্রহণ করার জন্য বন্ধনী:
extern void foo __ARGS((int one, char two));
অবিলম্বে "((" এর আগে থাকা যেকোনো নাম স্বয়ংক্রিয়ভাবে উপেক্ষা করা হবে এবং আগেরটি
নাম ব্যবহার করা হবে।
C++ অপারেটর সংজ্ঞা বিশেষভাবে পরিচালিত হয়। সব ধরনের সঙ্গে সামঞ্জস্যের জন্য
অপারেটর (ওভারলোড এবং রূপান্তর), ট্যাগ ফাইলে অপারেটরের নাম সর্বদা থাকবে
স্ট্রিং "অপারেটর" দ্বারা পূর্বে (অর্থাৎ যদি প্রকৃত অপারেটর সংজ্ঞা ছিল
"অপারেটর<<" হিসাবে লেখা)।
ট্যাগ ফাইল তৈরি বা সংযুক্ত করার পরে, এটি ট্যাগ নাম অনুসারে সাজানো হয়, অপসারণ করা হয়
অভিন্ন ট্যাগ লাইন।
TAG ফাইল বিন্যাসে
যখন etags মোডে চলছে না, ট্যাগ ফাইলের প্রতিটি এন্ট্রি একটি পৃথক লাইন নিয়ে গঠিত,
প্রতিটি সবচেয়ে সাধারণ ক্ষেত্রে এই মত দেখাচ্ছে:
নাম যোগ করা ফাইল_নাম ex_cmd;" এক্সটেনশন_ক্ষেত্র
এই লাইনগুলির ক্ষেত্র এবং বিভাজকগুলি নিম্নরূপ নির্দিষ্ট করা হয়েছে:
1. ট্যাগ নাম
2. একক ট্যাব অক্ষর
3. ফাইলের নাম যেখানে ট্যাগের সাথে যুক্ত বস্তুটি অবস্থিত
4. একক ট্যাব অক্ষর
5. ফাইলের মধ্যে ট্যাগ সনাক্ত করতে ব্যবহৃত EX কমান্ড; সাধারণত একটি অনুসন্ধান প্যাটার্ন
(হয় /প্যাটার্ন/ বা? প্যাটার্ন?) বা লাইন নম্বর (দেখুন --excmd) ট্যাগ ফাইল ফরম্যাট 2
(দেখুন --ফরম্যাট) একটি অন্তর্ভুক্ত করার জন্য নির্দিষ্ট পরিস্থিতিতে এই EX কমান্ডকে প্রসারিত করে
এক্সটেনশন ক্ষেত্রগুলির সেট (নীচে বর্ণিত) অবিলম্বে একটি EX মন্তব্যে এমবেড করা হয়েছে৷
EX কমান্ডের সাথে যুক্ত, যা এটিকে মূলের সাথে পিছিয়ে-সামঞ্জস্যপূর্ণ রাখে
vi(1) বাস্তবায়ন।
অভ্যন্তরীণ উদ্দেশ্যে ট্যাগ ফাইলে কয়েকটি বিশেষ ট্যাগ লেখা হয়। এই ট্যাগ হয়
এমনভাবে কম্পোজ করা হয়েছে যে তারা সবসময় ফাইলের শীর্ষে বাছাই করে। অতএব, প্রথম
এই ট্যাগগুলির দুটি অক্ষর একটি ম্যাজিক নম্বর ব্যবহার করে একটি ট্যাগ ফাইল সনাক্ত করার উদ্দেশ্যে
উৎস ফাইলের পরিবর্তে একটি বৈধ ট্যাগ ফাইল ওভাররাইট করা হচ্ছে কিনা তা নির্ধারণ করা।
উল্লেখ্য যে প্রতিটি সোর্স ফাইলের নাম ট্যাগ ফাইলে ঠিক যেমনটি রেকর্ড করা হবে
কমান্ড লাইনে প্রদর্শিত হবে। অতএব, আপনি যদি কমান্ড লাইনে নির্দিষ্ট পথটি উল্লেখ করেন
বর্তমান ডিরেক্টরির সাথে সম্পর্কিত, তারপর এটি ট্যাগে একই পদ্ধতিতে রেকর্ড করা হবে
ফাইল যাইহোক, দেখুন --ট্যাগ-আত্মীয় এই আচরণ কিভাবে সংশোধন করা যেতে পারে তার জন্য বিকল্প।
এক্সটেনশন ক্ষেত্রগুলি হল ট্যাব-বিচ্ছিন্ন কী-মানের জোড়া যা EX কমান্ডের শেষে যুক্ত করা হয়
একটি মন্তব্য হিসাবে, উপরে বর্ণিত হিসাবে। এই কী মান জোড়া সাধারণ আকারে উপস্থিত হয়
"চাবি:মূল্য"। ট্যাগ ফাইলের লাইনে তাদের উপস্থিতি দ্বারা নিয়ন্ত্রিত হয় --ক্ষেত্র
বিকল্প সম্ভাব্য কী এবং তাদের মানগুলির অর্থ নিম্নরূপ:
প্রবেশ এই শ্রেণীর সদস্যের দৃশ্যমানতা নির্দেশ করে, যেখানে মূল্য নির্দিষ্ট
ভাষা.
ফাইল নির্দেশ করে যে ট্যাগের ফাইল-সীমিত দৃশ্যমানতা রয়েছে। এই কী নেই
অনুরূপ মান।
রকম ট্যাগের ধরন বা প্রকার নির্দেশ করে। এর মান হয় এক
অনুরূপ এক-অক্ষরের পতাকা বিভিন্ন অধীনে বর্ণিত -- - ধরনের
উপরে বিকল্প, বা একটি সম্পূর্ণ নাম। এটি অনুমোদিত (এবং আসলে, ডিফল্ট)
এই ক্ষেত্রের মূল অংশটি বাদ দেওয়ার জন্য। ঐচ্ছিক আচরণ হয়
দ্বারা নিয়ন্ত্রিত --ক্ষেত্র বিকল্প।
বাস্তবায়ন
উপস্থিত হলে, এটি একটি সীমিত বাস্তবায়ন নির্দেশ করে (বিমূর্ত বনাম কংক্রিট)
একটি রুটিন বা ক্লাস, যেখানে মূল্য ভাষার জন্য নির্দিষ্ট ("ভার্চুয়াল" বা
C++ এর জন্য "বিশুদ্ধ ভার্চুয়াল"; জাভার জন্য "বিমূর্ত")।
উত্তরাধিকার উপস্থিত হলে, মূল্য. একটি কমা দ্বারা পৃথক করা ক্লাসের তালিকা যা থেকে এটি
ক্লাস প্রাপ্ত হয় (অর্থাৎ উত্তরাধিকার সূত্রে)।
স্বাক্ষর উপস্থিত হলে, মূল্য এর স্বাক্ষরের একটি ভাষা-নির্ভর প্রতিনিধিত্ব
একটি রুটিন একটি রুটিন স্বাক্ষর তার সম্পূর্ণ আকারে রিটার্ন টাইপ নির্দিষ্ট করে
একটি রুটিন এবং এর আনুষ্ঠানিক যুক্তি তালিকা। এই এক্সটেনশন ক্ষেত্রটি বর্তমানে
শুধুমাত্র সি-ভিত্তিক ভাষার জন্য সমর্থিত এবং রিটার্ন টাইপ অন্তর্ভুক্ত করে না।
উপরন্তু, ট্যাগ সংজ্ঞার সুযোগের তথ্য কী সহ পাওয়া যেতে পারে
কিছু ভাষা-নির্ভর নির্মাণ নামের সমান অংশ এবং নাম ঘোষণা করা তার মান
প্রোগ্রামে যে নির্মাণের জন্য. এই স্কোপ এন্ট্রি ট্যাগটি যে সুযোগে আছে তা নির্দেশ করে
পাওয়া গেছে উদাহরণস্বরূপ, একটি C কাঠামো সদস্যের জন্য তৈরি করা ট্যাগের একটি সুযোগ থাকবে
দেখতে "struct:myStruct" এর মতো।
কেমন প্রতি ব্যবহারের সঙ্গে VI
Vi, ডিফল্টরূপে, বর্তমান ডিরেক্টরিতে "ট্যাগ" নামে একটি ট্যাগ ফাইল আশা করবে। একদা
ট্যাগ ফাইলটি তৈরি করা হয়েছে, নিম্নলিখিত কমান্ডগুলি ট্যাগ ইন্ডেক্সিং বৈশিষ্ট্যটি অনুশীলন করে:
vi -t ট্যাগ vi শুরু করুন এবং কার্সারটিকে ফাইল এবং লাইনে অবস্থান করুন যেখানে "ট্যাগ" সংজ্ঞায়িত করা হয়েছে।
:তা ট্যাগ একটি ট্যাগ খুঁজুন.
Ctrl-] কার্সারের নীচে ট্যাগটি খুঁজুন।
Ctrl-T জাম্প টু ট্যাগ করার আগে পূর্ববর্তী অবস্থানে ফিরে যান (ব্যাপকভাবে প্রয়োগ করা হয়নি)।
কেমন প্রতি ব্যবহারের সঙ্গে গনুহ EMACS
Emacs, ডিফল্টরূপে, বর্তমান ডিরেক্টরিতে "TAGS" নামের একটি ট্যাগ ফাইল আশা করবে।
একবার ট্যাগ ফাইল তৈরি হয়ে গেলে, নিম্নলিখিত কমান্ডগুলি ট্যাগ ইন্ডেক্সিং বৈশিষ্ট্যটি অনুশীলন করে:
Mx ভিজিট-ট্যাগ-টেবিল ফাইল
ব্যবহার করতে ট্যাগ ফাইল, "FILE" নির্বাচন করুন।
ম-। [TAG]
TAG এর প্রথম সংজ্ঞা খুঁজুন। ডিফল্ট ট্যাগ হল এর অধীনে শনাক্তকারী
কার্সার
M-* আপনি পূর্বে যেখানে "M-" আহ্বান করেছিলেন সেখানে ফিরে যান৷
কু ম-। শেষ ট্যাগের পরবর্তী সংজ্ঞা খুঁজুন।
আরো কমান্ডের জন্য, দেখুন ট্যাগ Emacs তথ্য নথিতে বিষয়।
কেমন প্রতি ব্যবহারের সঙ্গে NEDIT
NEdit সংস্করণ 5.1 এবং পরবর্তী নতুন বর্ধিত ট্যাগ ফাইল বিন্যাস পরিচালনা করতে পারে (দেখুন --ফরম্যাট)। প্রতি
NEdit ট্যাগ ফাইল ব্যবহার করুন, "ফাইল->লোড ট্যাগ ফাইল" নির্বাচন করুন। জন্য সংজ্ঞা লাফ
একটি ট্যাগ, শব্দটি হাইলাইট করুন, তারপর Ctrl-D টিপুন। NEdit 5.1 একাধিক ট্যাগ ফাইল পড়তে পারে
বিভিন্ন ডিরেক্টরি থেকে। একটি ট্যাগের নামে X সম্পদ nedit.tagFile সেট করা
ফাইলটি এনইডিটকে স্টার্টআপের সময় সেই ট্যাগ ফাইলটিকে স্বয়ংক্রিয়ভাবে লোড করার নির্দেশ দেয়।
সতর্কতা
কারণ ctags এটি একটি প্রিপ্রসেসর বা কম্পাইলার নয়, প্রিপ্রসেসর ম্যাক্রো ব্যবহার করতে পারে
মূর্খ ctags হয় অনুপস্থিত ট্যাগগুলিতে বা অনুপযুক্তভাবে অনুপযুক্ত ট্যাগ তৈরি করা। যদিও
ctags কিছু সাধারণ কেস পরিচালনা করার জন্য ডিজাইন করা হয়েছে, এটি একক সবচেয়ে বড় কারণ
রিপোর্ট করা সমস্যার। বিশেষ করে, প্রিপ্রসেসরের ব্যবহার যা পরিবর্তন করে
সি এর পাঠ্য বাক্য গঠন বোকামি করতে পারে ctags. আপনি ব্যবহার করে এই ধরনের অনেক সমস্যা সমাধান করতে পারেন -I
বিকল্প।
নোট করুন যে থেকে ctags ট্যাগ সনাক্ত করার জন্য প্যাটার্ন তৈরি করে (দেখুন --excmd বিকল্প), এটা হয়
সম্পূর্ণরূপে সম্ভব যে ভুল লাইনটি আপনার সম্পাদকের দ্বারা খুঁজে পাওয়া যেতে পারে যদি অন্য একটি বিদ্যমান থাকে
উৎস লাইন যা ট্যাগ ধারণকারী লাইনের সাথে অভিন্ন। নিম্নলিখিত উদাহরণ
এই অবস্থা প্রদর্শন করে:
int পরিবর্তনশীল;
/* ... */
অকার্যকর foo (পরিবর্তনশীল)
int পরিবর্তনশীল;
{
/* ... */
}
আপনি কোন সম্পাদক ব্যবহার করেন এবং কোডে আপনি কোথায় থাকবেন তার উপর নির্ভর করে, এটি সম্ভব
যে অনুসন্ধান প্যাটার্ন foo() এর আগে স্থানীয় পরামিতি ঘোষণা সনাক্ত করতে পারে
প্রকৃত বৈশ্বিক পরিবর্তনশীল সংজ্ঞা খুঁজে পায়, যেহেতু লাইনগুলি (এবং তাই তাদের অনুসন্ধান
নিদর্শনগুলি অভিন্ন)। এটি ব্যবহার করে এড়ানো যায় --excmd=n বিকল্প।
onworks.net পরিষেবা ব্যবহার করে অনলাইনে ctags-exuberant ব্যবহার করুন