.nh .TH "Buf" "1" "2026-07-17" "Auto generated by spf13/cobra" "" .SH "نام (NAME)" buf-format \- قالب‌بندی و مرتب‌سازی فایل‌های پروتوباف با buf .SH "خلاصه دستور (SYNOPSIS)" \fBbuf format [flags]\fP .SH "توضیحات (DESCRIPTION)" به‌طور پیش‌فرض، منبع دایرکتوری جاری است و محتوای قالب‌بندی‌شده در خروجی استاندارد (stdout) نوشته می‌شود. .PP مثال‌ها: .PP نوشتن محتوای قالب‌بندی‌شده دایرکتوری جاری در خروجی استاندارد (stdout): .EX $ buf format .EE .PP بیشتر افراد ترجیح می‌دهند فایل‌های تعریف‌شده در دایرکتوری جاری را مستقیماً در جای خود با گزینه .B \-w بازنویسی کنند: .EX $ buf format -w .EE .PP نمایش یک diff بین محتوای اصلی و قالب‌بندی‌شده با گزینه .BR \-d : نوشتن یک diff به جای فایل قالب‌بندی‌شده: .EX $ buf format simple/simple.proto -d $ diff -u simple/simple.proto.orig simple/simple.proto --- simple/simple.proto.orig 2022-03-24 09:44:10.000000000 -0700 +++ simple/simple.proto 2022-03-24 09:44:10.000000000 -0700 @@ -2,8 +2,7 @@ package simple; - message Object { - string key = 1; - bytes value = 2; + string key = 1; + bytes value = 2; } .EE .PP استفاده از فلگ .B \-\-exit\-code برای خروج با یک کد خروج غیرصفر در صورت وجود diff: .EX $ buf format --exit-code $ buf format -w --exit-code $ buf format -d --exit-code .EE .PP قالب‌بندی یک فایل، دایرکتوری یا ارجاع ماژول با تعیین یک منبع؛ برای مثال نوشتن فایل قالب‌بندی‌شده در خروجی استاندارد (stdout): .EX $ buf format simple/simple.proto syntax = "proto3"; package simple; message Object { string key = 1; bytes value = 2; } .EE .PP نوشتن دایرکتوری قالب‌بندی‌شده در خروجی استاندارد (stdout): .EX $ buf format simple \&... .EE .PP نوشتن ارجاع ماژول قالب‌بندی‌شده در خروجی استاندارد (stdout): .EX $ buf format buf.build/acme/petapis \&... .EE .PP نوشتن نتیجه در یک فایل یا دایرکتوری خروجی مشخص با گزینه .B \-o برای مثال: .PP نوشتن فایل قالب‌بندی‌شده در فایلی دیگر: .EX $ buf format simple/simple.proto -o simple/simple.formatted.proto .EE .PP نوشتن دایرکتوری قالب‌بندی‌شده در دایرکتوری دیگر، و ایجاد آن در صورت عدم وجود: .EX $ buf format proto -o formatted .EE .PP این قابلیت با ارجاعات ماژول نیز کار می‌کند: .EX $ buf format buf.build/acme/weather -o formatted .EE .PP بازنویسی فایل(ها) در جای خود با گزینه .B \-w برای مثال: .PP بازنویسی یک فایل تکی در جای خود: .EX $ buf format simple.proto -w .EE .PP بازنویسی یک دایرکتوری کامل در جای خود: .EX $ buf format proto -w .EE .PP نوشتن diff و بازنویسی فایل(ها) در جای خود: .EX $ buf format simple -d -w $ diff -u simple/simple.proto.orig simple/simple.proto \&... .EE .PP فلگ‌های .B \-w و .B \-o نمی‌توانند به‌طور هم‌زمان در یک فراخوانی استفاده شوند. .SH "گزینه‌ها (OPTIONS)" \fB--config\fP="" فایل buf.yaml یا داده‌های مورد استفاده برای پیکربندی .PP \fB-d\fP, \fB--diff\fP[=false] نمایش تفاوت‌ها (diff) به جای بازنویسی فایل‌ها .PP \fB--disable-symlinks\fP[=false] عدم دنبال کردن پیوندهای نمادین هنگام خواندن منابع یا پیکربندی از سیستم فایل محلی به‌طور پیش‌فرض، پیوندهای نمادین در این رابط خط فرمان دنبال می‌شوند، اما هرگز در Buf Schema Registry دنبال نمی‌شوند .PP \fB--error-format\fP="text" قالب خطاهای ساخت چاپ‌شده در خروجی استاندارد خطا (stderr). باید یکی از موارد [text,json,msvs,junit,github-actions,gitlab-code-quality] باشد .PP \fB--exclude-path\fP=[] مستثنی کردن فایل‌ها یا دایرکتوری‌های خاص، مثلاً "proto/a/a.proto"، "proto/a" در صورت تعیین چندباره، اجتماع آن‌ها در نظر گرفته می‌شود .PP \fB--exit-code\fP[=false] خروج با یک کد خروج غیرصفر در صورتی که فایل‌ها قبلاً قالب‌بندی نشده باشند .PP \fB-h\fP, \fB--help\fP[=false] راهنما برای format .PP \fB-o\fP, \fB--output\fP="-" محل خروجی برای فایل‌های قالب‌بندی‌شده. باید یکی از قالب‌های [dir,protofile] باشد. در صورت حذف، نتیجه در خروجی استاندارد (stdout) نوشته می‌شود .PP \fB--path\fP=[] محدود کردن به فایل‌ها یا دایرکتوری‌های خاص، مثلاً "proto/a/a.proto"، "proto/a" در صورت تعیین چندباره، اجتماع آن‌ها در نظر گرفته می‌شود .PP \fB-w\fP, \fB--write\fP[=false] بازنویسی فایل‌ها در جای خود .SH "گزینه‌های به ارث رسیده از دستورات والد (OPTIONS INHERITED FROM PARENT COMMANDS)" \fB--debug\fP[=false] فعال‌سازی ثبت وقایع خطایابی .PP \fB--log-format\fP="color" قالب ثبت وقایع [text,color,json] .PP \fB--timeout\fP=0s مدت زمان تا پایان مهلت زمانی؛ تعیین 0s به معنی عدم محدودیت زمانی است .SH "همچنین ببینید (SEE ALSO)" \fBbuf(1)\fP .SH "تاریخچه (HISTORY)" 2026-07-17 تولید خودکار توسط spf13/cobra