বিগ্রিনওয়েল/এলএসটিআর: মরিচা লিখিত একটি দ্রুত, ন্যূনতম ডিরেক্টরি ট্রি ভিউয়ার।

বিগ্রিনওয়েল/এলএসটিআর: মরিচা লিখিত একটি দ্রুত, ন্যূনতম ডিরেক্টরি ট্রি ভিউয়ার।

স্থিতি বিল্ড
সর্বশেষ সংস্করণ
লাইসেন্স: এমআইটি

মরিচায় লেখা একটি জ্বলজ্বলে দ্রুত, মিনিমালিস্ট ডিরেক্টরি ট্রি ভিউয়ার। একটি শক্তিশালী ইন্টারেক্টিভ মোড সহ কমান্ড লাইন প্রোগ্রাম ট্রি দ্বারা অনুপ্রাণিত।


একটি ইন্টারেক্টিভ ওভারভিউ lstrপ্রকল্পের কাঠামো … ব্যবহার lstr

  • দ্রুত: আধুনিক হার্ডওয়্যারের গতি সর্বাধিক করে তুলতে ডিফল্টরূপে সমান্তরালে ডিরেক্টরি স্ক্যানগুলি চালায়।
  • মিনিমালিস্ট: ব্লাট ছাড়াই প্রয়োজনীয় বৈশিষ্ট্য সরবরাহ করে। মূল অভিজ্ঞতাটি পরিষ্কার এবং নিরবচ্ছিন্ন।
  • ইন্টারেক্টিভ: তরল, কীবোর্ড-চালিত অনুসন্ধানের জন্য একটি al চ্ছিক টিউআই মোড।
  • উচ্চ-কর্মক্ষমতা: সমান্তরালভাবে ডিরেক্টরিগুলি যত তাড়াতাড়ি সম্ভব স্ক্যান করুন।
  • ক্লাসিক এবং ইন্টারেক্টিভ মোড: ব্যবহার lstr একটি ক্লাসিক জন্য tree-র মতো ভিউ বা লঞ্চ lstr interactive সম্পূর্ণ ইন্টারেক্টিভ টিউআইয়ের জন্য।
  • সমৃদ্ধ তথ্য প্রদর্শন (al চ্ছিক):
    • সাথে ফাইল-নির্দিষ্ট আইকন প্রদর্শন করুন --icons (একটি নার্ভড ফন্ট প্রয়োজন)।
    • সাথে ফাইল অনুমতি দেখান -p
    • সাথে ফাইল আকার দেখান -s
    • গিট ইন্টিগ্রেশন: ফাইলের স্থিতিগুলি দেখান (Modified, New, Untrackedইত্যাদি) সরাসরি গাছের সাথে -G পতাকা।
  • স্মার্ট ফিল্টারিং:
    • আপনার শ্রদ্ধা .gitignore ফাইল সঙ্গে ফাইল -g পতাকা।
    • নিয়ন্ত্রণ পুনরাবৃত্তি গভীরতা (-L) বা কেবল ডিরেক্টরি দেখান (-d)।

আপনার তৈরি করতে আপনার সিস্টেমে ইনস্টল করা মরিচা সরঞ্জামচেন দরকার lstr

  1. সংগ্রহস্থলটি ক্লোন করুন:
    git clone 
    cd lstr
  2. কার্গো ব্যবহার করে বিল্ড করুন এবং ইনস্টল করুন:
    # This compiles in release mode and copies the binary to ~/.cargo/bin
    cargo install --path .
lstr (OPTIONS) (PATH)
lstr interactive (OPTIONS) (PATH)

নোট যে PATH বর্তমান ডিরেক্টরিতে ডিফল্ট (.) নির্দিষ্ট না হলে।

বিকল্পবর্ণনা
-a, --allলুকানোগুলি সহ সমস্ত ফাইল এবং ডিরেক্টরি তালিকাভুক্ত করুন।
--color <WHEN>রঙিন আউটপুট কখন ব্যবহার করবেন তা নির্দিষ্ট করুন (always, auto, never)।
-d, --dirs-onlyসমস্ত ফাইল উপেক্ষা করে কেবল ডিরেক্টরিগুলি তালিকাভুক্ত করুন।
-g, --gitignoreশ্রদ্ধা .gitignore এবং অন্যান্য স্ট্যান্ডার্ড ফাইলগুলি উপেক্ষা করুন।
-G, --git-statusফাইল এবং ডিরেক্টরিগুলির জন্য গিট স্থিতি দেখান।
--iconsফাইল-নির্দিষ্ট আইকন প্রদর্শন; একটি প্রয়োজন একটি নার্ড ফন্ট
-L, --level <LEVEL>নেমে যাওয়ার সর্বাধিক গভীরতা।
-p, --permissionsফাইলের অনুমতিগুলি প্রদর্শন করুন (কেবলমাত্র ইউনিক্সের মতো সিস্টেম)।
-s, --sizeফাইলগুলির আকার প্রদর্শন করুন।
--expand-level <LEVEL>কেবল ইন্টারেক্টিভ মোড: ইন্টারেক্টিভ গাছ প্রসারিত করার প্রাথমিক গভীরতা।


সাথে টিউআই চালু করুন lstr interactive (OPTIONS) (PATH)

কী (গুলি)ক্রিয়া
/ kনির্বাচন সরান।
/ jনির্বাচন নীচে সরান।
Enterপ্রসঙ্গ-সচেতন ক্রিয়া:
– যদি কোনও ফাইলে থাকে: এটি ডিফল্ট সম্পাদকটিতে খুলুন ($EDITOR)।
– যদি কোনও ডিরেক্টরিতে থাকে: টগল প্রসারিত/ধসে।
q / Escসাধারণত আবেদন ছেড়ে দিন।
Ctrl+sশেল ইন্টিগ্রেশন: নির্বাচিত পাথটি স্টাডআউটে প্রিন্ট করে এবং প্রিন্ট করে।

1। বর্তমান ডিরেক্টরিগুলির বিষয়বস্তু তালিকাভুক্ত করুন

2। গিটিগাইনযুক্ত ফাইলগুলি উপেক্ষা করে ইন্টারেক্টিভভাবে একটি প্রকল্প অন্বেষণ করুন

lstr interactive -g --icons

3। ফাইলের আকার এবং অনুমতি সহ একটি ডিরেক্টরি প্রদর্শন করুন (ক্লাসিক ভিউ)

4 .. একটি প্রকল্পে সমস্ত ফাইলের গিট স্থিতি দেখুন

5 .. প্রদর্শিত সমস্ত ডেটা সহ একটি ইন্টারেক্টিভ সেশন শুরু করুন

lstr interactive -gG --icons -s -p

পাইপিং এবং শেল ইন্টারঅ্যাকশন

ক্লাসিক view মোড পাইপগুলির মাধ্যমে অন্যান্য কমান্ড-লাইন সরঞ্জামগুলির সাথে ভালভাবে কাজ করার জন্য ডিজাইন করা হয়েছে (|)।

ইন্টারেক্টিভ ফাজি সাথে সন্ধান করা fzf

এটি একটি বৃহত প্রকল্পে তাত্ক্ষণিকভাবে কোনও ফাইল খুঁজে পাওয়ার একটি শক্তিশালী উপায়।

fzf গাছ থেকে নিয়ে যাবে lstr এবং এটি ফিল্টার করার জন্য একটি ইন্টারেক্টিভ অনুসন্ধান প্রম্পট সরবরাহ করুন।

সঙ্গে বড় গাছ পেজিং less বা bat

যদি কোনও ডিরেক্টরিটি একটি স্ক্রিনে ফিট করার জন্য খুব বড় হয় তবে আউটপুটটিকে একটিতে পাইপ করুন পেজার

# Using less (the -R flag preserves color)
lstr -L 10 | less -R

# Using bat (a modern pager that understands colors)
lstr --icons | bat

সাথে ডিরেক্টরি পরিবর্তন করা lstr

আপনি ব্যবহার করতে পারেন lstr ভিজ্যুয়াল হিসাবে cd কমান্ড। আপনার শেলের স্টার্টআপ ফাইলে নিম্নলিখিত ফাংশনটি যুক্ত করুন (যেমন, ~/.bashrc, ~/.zshrc):

# A function to visually change directories with lstr
lcd() 
    # Run lstr and capture the selected path into a variable.
    # The TUI will draw on stderr, and the final path will be on stdout.
    local selected_dir
    selected_dir="$(lstr interactive -g --icons)"

    # If the user selected a path (and didn't just quit), `cd` into it.
    # Check if the selection is a directory.
    if (( -n "$selected_dir" && -d "$selected_dir" )); then
        cd "$selected_dir"
    fi

এটি যুক্ত করার পরে এবং একটি নতুন শেল সেশন শুরু করার পরে (বা চলমান source ~/.bashrc), আপনি কেবল চালাতে পারেন:

এটি চালু হবে lstr ইন্টারেক্টিভ ইউআই। আপনি যে ডিরেক্টরি চান তা নেভিগেট করুন, টিপুন Ctrl+sএবং আপনার শেলের বর্তমান ডিরেক্টরিটি তাত্ক্ষণিকভাবে পরিবর্তিত হবে।

পারফরম্যান্স এবং সম্মতি

ডিফল্টরূপে, lstr মাল্টি-কোর সিস্টেমগুলিতে সর্বাধিক গতি সর্বাধিক করতে একটি সমান্তরাল ডিরেক্টরি ওয়াকার ব্যবহার করে। এই সমান্তরালতা দুর্দান্ত দ্বারা পরিচালিত হয় রেয়ন থ্রেড পুল, যা অভ্যন্তরীণভাবে ব্যবহৃত হয় lstrএর ডিরেক্টরি ট্র্যাভারসাল ইঞ্জিন।

উন্নত ব্যবহারের ক্ষেত্রে যেমন বেঞ্চমার্কিং বা সিপিইউ ব্যবহার সীমাবদ্ধ করার জন্য, আপনি সেট করে থ্রেডের সংখ্যা নিয়ন্ত্রণ করতে পারেন RAYON_NUM_THREADS কমান্ডটি চালানোর আগে পরিবেশ পরিবর্তনশীল।

একক থ্রেডেড (সিরিয়াল) সম্পাদন জোর করতে:

RAYON_NUM_THREADS=1 lstr .

দর্শন এবং কার্যকারিতা lstr দুর্দান্ত সি-ভিত্তিক ট্রি কমান্ড লাইন প্রোগ্রাম দ্বারা ভারীভাবে অনুপ্রাণিত হয়। এই প্রকল্পটি আধুনিক, নিরাপদ মরিচাগুলিতে সেই ক্লাসিক ইউটিলিটিটি পুনরায় তৈরি করার একটি প্রচেষ্টা।

Source link