| DIFFT(1) | DIFFT(1) |
نام (NAME)
difft - ابزار مقایسهٔ ساختاری فایلها با درک نحو
خلاصه دستور (SYNOPSIS)
difft [OPTIONS] OLD-PATH NEW-PATH
difft [OPTIONS] DIRECTORY-ONE DIRECTORY-TWO
difft [OPTIONS] FILE-WITH-CONFLICTS
difft --list-languages
difft --help
توضیحات (DESCRIPTION)
برنامهٔ difftastic (difft) یک ابزار خط فرمانی برای مقایسه است که فایلها را بر اساس نحو (syntax) آنها مقایسه میکند، نه بهصورت سطر به سطر. ابزار difftastic تفاضلهای دقیقی تولید میکند که خواندن آنها برای انسان آسانتر است.
گزینهها (OPTIONS)
- --background BACKGROUND
- میزان روشنایی پسزمینه را تنظیم میکند. difftastic در پسزمینههای تیره، استفاده از رنگهای روشنتر را ترجیح میدهد.
- --byte-limit LIMIT
- اگر اندازهٔ هر یک از فایلهای ورودی از این مقدار فراتر رود، از مقایسهٔ سطرمحور استفاده میکند.
- --check-only
- تنها وجود یا عدم وجود تغییرات را گزارش میدهد، اما آنها را محاسبه نمیکند. بسیار سریعتر است.
- --color WHEN
- مشخص میکند که چه زمانی از خروجی رنگی استفاده شود.
- --context LINES
- تعداد سطرهای متنی (context) برای نمایش در پیرامون خطوط تغییریافته.
- --display MODE
- حالت نمایش برای ارائهٔ نتایج.
side-by-side: نمایش فایل قبلی و فایل بعدی در دو ستون جداگانه، بهطوری که شماره سطرها بر اساس محتوای تغییرنیافته همتراز میشوند. اگر یک تغییر منحصراً شامل افزودن یا منحصراً شامل حذف کردن باشد، از یک ستون استفاده میکند.
side-by-side-show-both: همانند side-by-side است، اما همواره از دو ستون استفاده میکند.
inline: یک نمایش تکستونی، شبیهتر به نحوهٔ نمایش سنتی تفاضل (diff).
json: نتایج را در قالب یک آرایهٔ JSON قابل خواندن توسط ماشین، با یک عنصر بهازای هر فایل ارائه میدهد.
- --exit-code
- در صورت وجود تغییرات نحوی در هر یک از فایلها، وضعیت خروج را برابر با 1 قرار میدهد. برای فایلهایی که زبانی برای آنها تشخیص داده نشده است (مانند زبانهای پشتیبانینشده یا فایلهای باینری)، در صورت وجود هرگونه تغییر بایتی، وضعیت خروج را تنظیم میکند.
- --graph-limit LIMIT
- اگر تعداد گرههای گراف ساختاری در حافظه از این مقدار فراتر رود، از مقایسهٔ سطرمحور استفاده میکند.
- -h, --help
- اطلاعات راهنما را چاپ میکند.
- --ignore-comments
- هنگام مقایسه، کامنتها (توضیحات کد) را نادیده میگیرد.
- --list-languages
- تمام زبانهای پشتیبانیشده توسط difftastic را به همراه پسوندهای آنها چاپ میکند.
- --override GLOB:NAME
- این الگوی glob را به این زبان مرتبط میکند و تشخیص پیشفرض زبان را لغو مینماید. برای نمونه:
$ difft --override=’*.c:C++’ old.c new.c
برای مشاهدهٔ فهرست نامهای زبانها، --list-languages را ببینید. نام زبانها بدون حساسیت به بزرگی و کوچکی حروف تطبیق داده میشوند. بازنویسیها همچنین میتوانند زبان “text” را تعیین کنند تا با فایل بهعنوان متن ساده رفتار شود.
این آرگومان میتواند بیش از یک بار مشخص شود. برای نمونه:
$ difft --override=`CustomFile:json' --override=’*.c:text’ old.c new.c
برای پیکربندی چندین مورد بازنویسی با استفاده از متغیرهای محیطی، difftastic همچنین DFT_OVERRIDE_1 تا DFT_OVERRIDE_9 را میپذیرد.
$ export DFT_OVERRIDE=`CustomFile:json' $ export DFT_OVERRIDE_1=`.c:text’ $ export DFT_OVERRIDE_2=’.js:javascript jsx'
هنگامی که چندین بازنویسی تعیین شده باشد، نخستین بازنویسی منطبق اعمال خواهد شد.
- --parse-error-limit LIMIT
- اگر تعداد خطاهای تجزیه از این مقدار بیشتر شود، از مقایسهٔ سطرمحور استفاده میکند.
- --skip-unchanged
- در صورتی که فایلی تغییر نکرده باشد، هیچ چیزی نمایش نمیدهد.
- --sort-paths
- هنگام مقایسهٔ دایرکتوری، نتایج را مرتبشده بر اساس مسیر خروجی میدهد. این حالت کندتر است.
- --strip-cr
- پیش از مقایسه، تمامی نویسههای بازگشت به ابتدای سطر (carriage return یا CR) را حذف میکند. این گزینه میتواند هنگام کار با فایلهای ویندوز حاوی CRLF (یعنی ***) مفید باشد.
- --syntax-highlight on/off
- برجستهسازی نحو را فعال یا غیرفعال میکند.
- --tab-width NUMSPACES
- هر نویسهٔ تب (tab) را معادل این تعداد فاصله در نظر میگیرد.
- -V, --version
- اطلاعات نسخه را چاپ میکند.
- --width COLUMNS
- هنگام محاسبهٔ شکست خطوط، از این تعداد ستون استفاده میکند. در صورت عدم تعیین، difftastic پهنای ترمینال را تشخیص خواهد داد.
گزینههای اشکالزدایی (DEBUG OPTIONS)
- --dump-syntax PATH
- یک فایل منفرد را با tree-sitter تجزیه کرده و درخت نحو difftastic را نمایش میدهد.
- --dump-ts PATH
- یک فایل منفرد را با tree-sitter تجزیه کرده و درخت تجزیهٔ tree-sitter را نمایش میدهد.
راهنما (MANUAL)
راهنمای کامل HTML در این نشانی در دسترس است: https://difftastic.wilfred.me.uk/introduction.
گزارش باگها (BUGS)
مشکلات گیتهاب را در این نشانی ببینید: https://github.com/Wilfred/difftastic/issues.
نویسندگان (AUTHORS)
Wilfred Hughes me@wilfred.me.uk