এইচটিএমএল বৈশিষ্ট্যগুলিতে আমি কীভাবে বানান পরীক্ষা করতে পারি?


9

ভিম স্পেল চেক বৈশিষ্ট্যটি বেশিরভাগ ক্ষেত্রে দুর্দান্ত কাজ করে - বেশিরভাগ ভাষায় আক্ষরিক এবং মন্তব্যগুলির থেকে কোড পার্থক্য করার পক্ষে এটি যথেষ্ট স্মার্ট। তবে আমার এইচটিএমএল বানান চেক নিয়ে সমস্যা আছে:

  <div title="text with mistaek #1" data-text="text with mistaek #2">text with mistaek #3</div>

উদাহরণস্বরূপ উপরে কেবলমাত্র ভুলটি divহাইলাইট করা হয় (# 3)। কমপক্ষে titleএবং data-*, আদর্শভাবে - বৈশিষ্ট্যগুলির কনফিগারযোগ্য তালিকা - সমস্ত প্রাসঙ্গিক গুণাবলী পরীক্ষা করা ভাল হবে ।

এটি কি কনফিগারেশন বা ভিমস্ক্রিপ্টের মাধ্যমে অর্জনযোগ্য? প্লাগইনটিও করবে, তবে আদর্শভাবে এটি বিভিন্ন-জাতীয় HTMLফাইলের জন্য কনফিগারযোগ্য হওয়া উচিত (উদাহরণস্বরূপ, এএসপি। নেট এমভিসি cshtmlফাইলগুলি)।

উত্তর:


5

সিনট্যাক্স আইটেমগুলি যার মধ্যে ভিম বানান ভুলগুলি হাইলাইট করবে @Spellএবং @NoSpellক্লাস্টার ব্যবহার করে সংজ্ঞায়িত করা হবে । সম্পূর্ণ বিশদ জন্য দেখুন :help spell-syntax(এবং বাকী :help spellএবং :help syntaxফাইলগুলি)।

আপনার কাঙ্ক্ষিত ফলাফলটি পেতে দ্রুত এবং নোংরা ফিক্সটি হ'ল আপনার ভিম কনফিগারেশন ডিরেক্টরিতে একটি নতুন ফাইল তৈরি করুন: .vim/after/syntax/html.vimবিষয়বস্তু সহ:

syn region htmlString contained start=+"+ end=+"+ contains=htmlSpecialChar,javaScriptExpression,@htmlPreproc,@Spell
syn region htmlString contained start=+'+ end=+'+ contains=htmlSpecialChar,javaScriptExpression,@htmlPreproc,@Spell

এই লাইনগুলি এইচটিএমএল বৈশিষ্ট্যগুলির জন্য সিনট্যাক্স হাইলাইটিং সংজ্ঞায়িত করে এবং এইচটিএমএল.ভিম ফাইল থেকে অনুলিপি করা হয়েছিল যা ভিমের স্ট্যান্ডার্ড সিনট্যাক্স ফাইলের মধ্যে অন্তর্ভুক্ত রয়েছে। তারপরে আমি প্রতিটি সিনট্যাক্স আইটেমের মধ্যে বানান-পরীক্ষা সক্ষম করার জন্য ফিল্ডটিতে @Spellক্লাস্টারটি যুক্ত করেছিলাম contains

এটি কেবলমাত্র "শিরোনাম" এবং "ডেটা- *" এ বৈশিষ্ট্যের জন্য প্রয়োগ করতে আইটেমগুলির সাথে মিলের জন্য ব্যবহৃত নিয়মিত অভিব্যক্তিটি সূক্ষ্ম সুরকরণ এবং এইচটিএমএল হাইলাইট করার কাজটি করার জন্য আরও কিছুটা আরও বিস্তৃত সম্পাদনা প্রয়োজন। এখানে একটি সমাধান রয়েছে যা কেবলমাত্র "শিরোনাম" বৈশিষ্ট্যের জন্য কাজ করে:

syn region htmlStringSpell contained start=+title=["']+hs=s+6 end=+["']+ contains=htmlSpecialChar,javaScriptExpression,@htmlPreproc,@Spell containedin=htmlTag,ScriptTag
hi def link htmlStringSpell String

বিশেষ দ্রষ্টব্য

  1. নিয়মিত এক্সপ্রেশনটিতে এখন titleবৈশিষ্ট্যের নাম এবং একটি অফসেট অন্তর্ভুক্ত থাকে যাতে সিনট্যাক্স আইটেমের এই অংশটি হাইলাইটিংয়ের অন্তর্ভুক্ত না হয়। (দেখুন :help syn-pattern-offset)
  2. সিনট্যাক্স আইটেমটির এখন নিজস্ব নাম রয়েছে এবং তাই (i) containedinসমস্ত সিনট্যাক্স আইটেম হওয়া দরকার যা এইচটিএমএল স্ট্রিংসগুলি তাদের নিজ নিজ containsসেটিংসের মাধ্যমে অন্তর্ভুক্ত রয়েছে । (ii) এর নিজস্ব হাইলাইটিং প্রয়োগ রয়েছে।

1
ধন্যবাদ! একক-উদ্ধৃতি লাইন যুক্ত করতে আমার উত্তর আপডেট করেছে। (সম্পূর্ণ ফিক্স কাজ করছেন)
রিচ

3

থেকে /usr/share/vim/vim74/syntax/html.vim:

syn region  htmlString   contained start=+"+ end=+"+ contains=htmlSpecialChar,javaScriptExpression,@htmlPreproc
syn region  htmlString   contained start=+'+ end=+'+ contains=htmlSpecialChar,javaScriptExpression,@htmlPreproc

বানান সমর্থন যুক্ত করতে, আমাদের কী- @Spellওয়ার্ডটি (যেমন :help spell-syntax) যুক্ত করতে হবে :

syn region  htmlString   contained start=+"+ end=+"+ contains=htmlSpecialChar,javaScriptExpression,@htmlPreproc,@Spell
syn region  htmlString   contained start=+'+ end=+'+ contains=htmlSpecialChar,javaScriptExpression,@htmlPreproc,@Spell

আপনার ~/.vim/after/syntax/html.vimএটি লাগাতে হবে যাতে এটি ডিফল্ট সিনট্যাক্স বিধিগুলিকে ওভাররাইড করে।

বোনাস টিপ:
প্রথম লাইনটি ডাবল-কোটেড স্ট্রিং ( attr="value") এর বৈশিষ্ট্যগুলির জন্য , এবং দ্বিতীয়টি যদি একক-উদ্ধৃত স্ট্রিংগুলির ( attr='value') হয়। এছাড়াও আপনি শুধু ওভাররাইড করতে পারে এক এগুলোর যাতে আপনি কিনা বানান পরীক্ষণের আছে চয়ন করতে পারেন।

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