উত্স ফাইলে ভাষা হিট করার জন্য গিটহাব সিনট্যাক্সকে জোর করুন


16

আমার কাছে গিটহাব সংগ্রহস্থলে কিছু সি ++ উত্স ফাইল রয়েছে যার .C এর একটি এক্সটেনশন রয়েছে এবং সি সিনট্যাক্স হাইলাইটিং ব্যবহার করছি যা আমি চাই না।

এই ফাইলগুলিতে সি ++ সিনট্যাক্স হাইলাইট করতে আমি কীভাবে গিটহাব সেট করতে পারি?

সিনট্যাক্স হাইলাইটিংয়ের উদ্দেশ্যে গিটহাব কীভাবে উত্স ভাষা সনাক্ত করতে পারে তার কোনও পদ্ধতি আছে?

দেখে মনে হচ্ছে এটি কেবল ফাইল এক্সটেনশন ব্যবহার করে তবে কোনও নির্দিষ্ট ভাষা জোর করার কোনও উপায় আছে কি?

উত্তর:


9

আমি সমর্থন@github.com জিজ্ঞাসা করেছি; এটি তাদের জবাব:

প্রতিটি বাক্সের এক্সটেনশনের ভিত্তিতে কোন লেক্সার ব্যবহার করতে হবে তা নির্ধারণ করতে আমরা সিনক্র্যাক্স হাইলাইট করতে করতে পাইগমেন্টস (http://pyitions.org/) ব্যবহার করি। দুর্ভাগ্যক্রমে, দেখে মনে হচ্ছে না যে * +c -> * .cpp এবং * .h -> * .hpp থেকে ফাইলটির নাম পরিবর্তন করে সি ++ হাইলাইট করার কোনও উপায় আছে।

git mvকমান্ডটি ব্যবহার করে কোনও ফাইলের গিট ইতিহাস না হারিয়ে আপনি এটি করতে পারেন ।


7

গিটিহাবের ভাষা সনাক্তকরণ ভাষাবিদ মডিউল দ্বারা সম্পন্ন হয়েছে যা স্বাচ্ছন্দ্যে ওপেন সোর্স। ভাষাটি সনাক্ত করতে এটি মূলত ফাইল এক্সটেনশনের উপর নির্ভর করে যদিও অস্পষ্ট ফাইল (যেমন .hফাইল) সনাক্ত করা কিছুটা চালাক হতে পারে । আপনি কনফিগারেশন ফাইল থেকে দেখতে পারেন , .cদৃly়ভাবে একটি সি ফাইল হিসাবে সংজ্ঞায়িত করা হয়। গিটহাবের উপরে যে ফাইলগুলির মূল্যায়ন করতে হবে তার সংখ্যা দেওয়া, দক্ষতা একটি মূল প্রয়োজনীয়তা, যদি কিছু নির্ভুলতার জন্য ব্যয় হয়।

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

আপডেট অক্টোবর ২০১৪ : গিটহাব স্থির হয়নি, গত বছরে তারা ফাইলে ভাষা নির্ধারণে কিছু বেসিক হিউরিস্টিকস চালু করেছে । এই প্রশ্নগুলির জন্য আরও সুনির্দিষ্ট, .cফাইলগুলি এখন সেগুলি সি, সি ++ বা উদ্দেশ্য-সি কিনা তা পরীক্ষা করে দেখার জন্য

গিটহাব সমর্থনের উত্তরটি কিছুটা আকর্ষণীয়, তারা হাইলাইট করার জন্য এবং লেক্সারের জন্য পাইগমেন্ট ব্যবহার করে তবে রোলসেটগুলি তাদের নিজস্ব ভাষাতত্ত্ববিদ মডিউলে। যা আপনি আশা করতেন তারা জানত!


3

শেবাং সহ ফাইলগুলির জন্য , ভাষা নির্ধারণের সময় শেবাং বিবেচনা করা হয় তবে অন্য টোকেনের বিপরীতে সমানভাবে ওজনযুক্ত বলে মনে হয় । এটি একটি বড় ত্রুটি বলে মনে হচ্ছে কারণ শেবাংকে অবশ্যই ফাইলটির ভাষা নির্ধারণ করতে হবে। এটি হাইলাইট করার ক্ষেত্রে সমস্যা সৃষ্টি করতে পারে ।

একটি কার্যতালিকা হিসাবে আপনি সঠিক ভাষার পক্ষে "আঁশগুলিতে টিপস" দিতে একটি মন্তব্য আকারে ডামি টোকেন যুক্ত করতে পারেন। এটি পরীক্ষামূলক তবে এটির সাথে আমার ভাগ্যও আছে ।


1

আমার উত্তর ভাগ করে নেওয়ার পরে আমি অন্য কোথাও এসও-তে আবিষ্কার করেছি ।

আমি আবিষ্কার করেছি যে আপনি গিথুব ডট কমের জন্য সিনট্যাক্স হাইলাইট করতে বাধ্য করতে আপনার উত্স ফাইলের শীর্ষভাগে ভাষাতত্ত্ববিদ রেডিমে প্রতি ভিম বা ইমাস মডেলিন যুক্ত করতে পারেন (দুর্ভাগ্যক্রমে, প্রতিটি ফাইলের জন্য প্রয়োজনীয়)। ল্যাঙ্গুয়েজ.আইএমএল ফাইলের উপর ভিত্তি করে , আমি মনে করি আপনাকে /* vim: syntax=C++ */আপনার উত্স ফাইলটিতে যুক্ত করতে হবে।


0

ভাষাবিদ ওভাররাইড ব্যবহার করে আপনি এখন আপনার সংগ্রহস্থলগুলিতে যে কোনও ফাইলের ভাষা জোর করতে পারেন । ভাষাতত্ত্ববিদ হ'ল ওপেন সোর্স লাইব্রেরি github.com জুড়ে ফাইলগুলির ভাষা সনাক্ত করে।

.cসি ++ ব্যাকরণ ব্যবহার করে আপনার ফাইলগুলি হাইলাইট করতে বাধ্য করতে আপনি নিজের .gitattributesফাইলে নিম্নলিখিতটি যুক্ত করতে পারেন :

*.c linguist-language=C++

আমি এটি চেষ্টা করেছিলাম *.S linguist-language=asmকোনও লাভ হয়নি ....
mckenzm

@ এমকেনজম মনে হচ্ছে আপনার বার্তাটি কেটে গেছে। .gitattributesলাইন আপনি পোস্ট ভাষাবিদ সব চিনতে বাধ্য করা উচিত .Sপরিষদের যেমন ফাইল। যদি এটি কাজ না করে, আমি কী ঘটছে তা দেখার চেষ্টা করার জন্য সংগ্রহস্থলের দিকে একবার নজর রাখতে পারি (আপনার কোনও লিঙ্ক আছে?)।
pchaigno
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.