.nh .TH DIRENV.TOML 1 "2019" direnv "User Manuals" .SH "نام (NAME)" direnv.toml \- فایل پیکربندی direnv .SH "توضیحات (DESCRIPTION)" یک فایل پیکربندی در قالب TOML \[la]https://github.com/toml\-lang/toml\[ra] برای تعیین گزینه‌های پیکربندی گوناگون برای direnv. این فایل از مسیر \fB$XDG_CONFIG_HOME/direnv/direnv.toml\fR (به‌طور معمول ~/.config/direnv/direnv.toml) خوانده می‌شود. .PP .RS .PP برای نسخه‌های v2.21.0 و پایین‌تر، به‌جای direnv.toml از config.toml استفاده کنید .RE .SH "قالب (FORMAT)" برای جزئیات درباره نحو این فایل پیکربندی، مخزن گیت‌هاب TOML \[la]https://github.com/toml\-lang/toml\[ra] را ببینید. .SH "پیکربندی (CONFIG)" پیکربندی در بخش‌هایی مشخص می‌شود که هر یک جدول‌های سطح‌بالای (top-level tables) \[la]https://github.com/toml\-lang/toml#table\[ra] خود را دارند، و در هر بخش جفت‌های کلید/مقدار تعیین می‌شوند. .PP مثال: .EX [section] key = "value" .EE .PP بخش‌های زیر پشتیبانی می‌شوند: .SH [global] .SS \fBbash_path\fR این گزینه امکان تعیین ثابت (hard-code) مسیر bash را فراهم می‌کند. تنظیم این مورد ممکن است برای جلوگیری از خطای direnv هنگام تغییر یافتن PATH مفید باشد. .SS \fBdisable_stdin\fR اگر روی \fBtrue\fR تنظیم شود، ورودی استاندارد (stdin) در طول ارزیابی \fB\&.envrc\fR غیرفعال (به /dev/null هدایت) می‌شود. .SS \fBload_dotenv\fR .PP .RS .PP به direnv >= 2.31.0 نیاز است .RE .PP اگر روی \fBtrue\fR تنظیم شود، علاوه‌بر فایل‌های \fB\&.envrc\fR، فایل‌های \fB\&.env\fR را نیز جست‌وجو و بارگذاری می‌کند. اگر هر دو فایل \fB\&.envrc\fR و \fB\&.env\fR وجود داشته باشند، همیشه \fB\&.envrc\fR در اولویت قرار خواهد گرفت. .SS \fBstrict_env\fR اگر روی \fBtrue\fR تنظیم شود، فایل \fB\&.envrc\fR با \fBset -euo pipefail\fR بارگذاری خواهد شد. این گزینه در آینده پیش‌فرض خواهد بود. .SS \fBwarn_timeout\fR مشخص می‌کند چه مدت قبل از اخطار به کاربر مبنی بر طولانی شدن اجرای دستور، صبر شود. مقدار پیش‌فرض "5s" است. .PP رشته بازه زمانی یک دنباله احتمالاً دارای علامت از اعداد ده‌دهی است که هر یک می‌تواند دارای بخش اعشاری اختیاری و یک پسوند یکا باشد؛ مانند "300ms"، "-1.5h" یا "2h45m". یکاهای معتبر زمان عبارتند از "ns" ،"us" (یا "µs") ،"ms" ،"s" ،"m" ،"h". .PP اگر بازه زمانی کمتر یا مساوی صفر باشد، این قابلیت غیرفعال می‌شود. در صورت تنظیم متغیر محیطی \fBDIRENV_WARN_TIMEOUT\fR روی هر یک از مقادیر بالا، این مقدار بازنویسی خواهد شد. .SS \fBhide_env_diff\fR برای پنهان کردن تفاوت (diff) متغیرهای محیطی هنگام بارگذاری \fB\&.envrc\fR، این مقدار را روی \fBtrue\fR تنظیم کنید. مقدار پیش‌فرض \fBfalse\fR است. .SS \fBlog_format\fR قالب لاگ را برای خروجی‌های direnv تنظیم می‌کند. برای غیرفعال کردن گزارش‌گیری عادی، آن را روی "-" قرار دهید. .PP .RS .PP به direnv >= 2.36.0 نیاز است .RE .SS \fBlog_filter\fR یک عبارت باقاعده (Regexp) که می‌توان از آن برای پالایش (فیلتر کردن) برخی از لاگ‌ها استفاده کرد. .PP .RS .PP به direnv >= 2.36.0 نیاز است .RE .SH [whitelist] مشخص کردن دستورالعمل‌های لیست سفید، سلسله‌مراتب‌های دایرکتوری خاص یا دایرکتوری‌های مشخصی را به‌عنوان «قابل اعتماد» علامت‌گذاری می‌کند -- direnv بدون در نظر گرفتن اینکه فایل‌های .envrc منطبق به‌طور صریح مجاز شده‌اند یا خیر، آن‌ها را ارزیابی می‌کند. \fBاز این قابلیت باید با احتیاط زیاد استفاده شود\fP، زیرا هر کسی با توانایی نوشتن فایل در آن دایرکتوری (شامل مشارکت‌کنندگان در مخازن VCS) قادر خواهد بود کدهای دلخواه را روی رایانه شما اجرا کند. .PP دو نوع دستورالعمل لیست سفید پشتیبانی می‌شود: .SS \fBprefix\fR آرایه‌ای از رشته‌ها را می‌پذیرد. اگر هر یک از رشته‌های موجود در این فهرست، پیشوندی از مسیر مطلق یک فایل .envrc باشد، آن فایل بدون توجه به محتوا یا سابقه استفاده از \fBdirenv allow\fR یا \fBdirenv deny\fR، به‌طور ضمنی مجاز خواهد بود. .PP مثال: .EX [whitelist] prefix = [ "/home/user/code/project-a", "~/code/project-b" ] .EE .PP در این مثال، فایل‌های .envrc زیر به‌طور ضمنی مجاز خواهند بود: .IP \(bu 2 \fB/home/user/code/project-a/.envrc\fR .IP \(bu 2 \fB/home/user/code/project-a/subdir/.envrc\fR .IP \(bu 2 \fB~/code/project-b/.envrc\fR .IP \(bu 2 \fB~/code/project-b/subdir/.envrc\fR .IP \(bu 2 و غیره .PP در این مثال، فایل‌های .envrc زیر به‌طور ضمنی مجاز نخواهند بود (اگرچه می‌توان آن‌ها را به‌صورت صریح با اجرای \fBdirenv allow\fR مجاز کرد): .IP \(bu 2 \fB/home/user/project-c/.envrc\fR .IP \(bu 2 \fB/opt/random/.envrc\fR .SS \fBexact\fR آرایه‌ای از رشته‌ها را می‌پذیرد. هر رشته می‌تواند نام یک دایرکتوری یا مسیر کامل به یک فایل .envrc باشد. اگر نام یک دایرکتوری فرستاده شود، به‌گونه‌ای رفتار خواهد شد که گویی همان مسیر به همراه \fB/.envrc\fR اضافه شده در انتهای آن ارسال شده است. پس از حل نام فایل، هر رشته برای تطابق دقیق با مسیر مطلق یک فایل .envrc بررسی می‌شود. اگر دقیقاً منطبق باشند، آن فایل .envrc بدون توجه به محتوا یا سابقه استفاده از \fBdirenv allow\fR یا \fBdirenv deny\fR، به‌طور ضمنی مجاز خواهد بود. .PP مثال: .EX [whitelist] exact = [ "/home/user/project-a/.envrc", "~/project-b/subdir-a" ] .EE .PP در این مثال، فایل‌های .envrc زیر به‌طور ضمنی مجاز خواهند بود و نه هیچ فایل دیگری: .IP \(bu 2 \fB/home/user/code/project-a/.envrc\fR .IP \(bu 2 \fB~/project-b/subdir-a\fR .PP در این مثال، فایل‌های .envrc زیر به‌طور ضمنی مجاز نخواهند بود (اگرچه می‌توان آن‌ها را به‌صورت صریح با اجرای \fBdirenv allow\fR مجاز کرد): .IP \(bu 2 \fB/home/user/code/project-b/subproject-c/.envrc\fR .IP \(bu 2 \fB~/code/.envrc\fR .SH "کپی‌رایت و تکثیر (COPYRIGHT)" مجوز MIT \- حق نشر (C) ۲۰۱۹ @zimbatm و مشارکت‌کنندگان .SH "همچنین ببینید (SEE ALSO)" direnv(1), direnv-stdlib(1)