نحوه ایجاد در مقابل کد پسوند شماره 3 (برجسته نحو)

چیزهای رنگارنگ انسان را جذب می کنند
برای اینکه پسوند شما از نظر بصری جذاب باشد ، به برجسته سازی نحو نیاز دارید-راهی برای کد رنگی قسمتهای مختلف کد خود.
به عبارت ساده ، برجسته سازی نحو در مقابل کد می گوید چگونه عناصر خاص را در کد خود تشخیص و سبک کنید.
به نظر می رسد پیچیده است؟ بیایید آن را با یک مثال تجزیه کنیم:
برای برجسته کردن اعداد صحیح ، ابتدا باید تعریف کنید که چه چیزی به عنوان یک عدد صحیح حساب می شود – مانند 1 ، 2 ، 3 ،…. سپس ، به Vs Code می گویید که یک رنگ خاص برای آنها اعمال کند.
در قسمت 2 توضیح دادم که پرونده miniscript.tmlanguage.json برجسته سازی نحو را نشان می دهد. حال ، بیایید درک کنیم که چگونه کار می کند.
هنگامی که این پرونده را باز می کنید ، یک بلوک الگوی را مشاهده خواهید کرد که چیزی شبیه به این است:
"patterns": [
{"include": "#keywords"},
{"include": "#strings"},
],
در حال حاضر ، این دو کلاس را تعریف می کند:
- کلمات کلیدی (به عنوان مثال ، اگر ، در حالی که)
- رشته ها (نوع داده ای برای مقادیر متن)
{"include":"nameofyourclass"},
اما چگونه یک کلاس برای برجسته سازی نحو ایجاد و تعریف می کنید؟ بیایید به آن شیرجه بزنیم.
در یک تعریف برجسته نحو ، ممکن است یک بلوک مخزن را در زیر “الگوهای” مشاهده کنید. این جایی است که ما کلاس ها را برای عناصر مختلف نحو تعریف می کنیم.
"keywords": {
"patterns": [{
"name": "keyword.control.miniscript",
"match": "......."
}]
من الگوی کامل “مسابقه” را درج نکرده ام زیرا می تواند بسیار طولانی باشد.
قسمت “نام” بسیار مهم است – یک نام دامنه (همچنین نام کلاس نیز نامیده می شود) را به الگوی همسان اختصاص می دهد. این به Miniscript می گوید که کلمات یا نمادهای ضبط شده در “مسابقه” متعلق به یک دسته خاص مانند کلمات کلیدی هستند.
بسیاری از نام دامنه از پیش تعریف شده در دسترس است. برای کشف آنها ، در مقابل Syntax برجسته کنید
قسمت “Match” حاوی یک عبارت معمولی (Regex) است که تعریف می کند کدام کلمات یا نمادها متعلق به کلاس مورد نظر شما است. اینگونه است که شما آنچه را که باید برجسته شود مشخص می کنید.
روش های مختلفی برای نوشتن الگوی “مسابقه” وجود دارد. اگر می خواهید در مورد نوشتن regex مؤثر برای برجسته سازی نحو اطلاعات بیشتری کسب کنید ، به برجسته VS Syntax برای آن مراجعه کنید
و همین است! با این تنظیم ، برجسته سازی نحو شما باید یکپارچه کار کند. 🚀