2 पॉइंट द्वारा GN⁺ 2025-02-28 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • Fish, macOS, Linux और अन्य Unix-आधारित operating systems के लिए एक user-friendly command-line shell है
  • 4.0.0 से Fish का core code C++ से Rust में port किया गया है
    • इससे dependencies और build process में बड़े बदलाव आते हैं, लेकिन users पर इसका सीधा असर नहीं है
  • असंगत बदलाव:
    • bind command के लिए नया key notation पेश किया गया है
    • ctrl-c अब clear-commandline को call करता है, और पुराना behavior cancel-commandline के रूप में उपलब्ध है
    • random function के seed value के अनुसार result पहले के version से अलग आ सकते हैं
    • command position में मौजूद variables अब subcommand keywords में expand नहीं हो सकते
    • functions --handlers अब handlers को defined order में list करता है
    • qmark-noglob feature अब default रूप से enabled है

सुधार और fixes

  • Keyboard protocol: XTerm के modifyOtherKeys और kitty के keyboard protocol का support
  • Self-installing binary: fish को self-installable binary के रूप में build किया जा सकता है
  • Command history: fish_should_add_to_history function के जरिए तय किया जा सकता है कि कौन-सा command history में जोड़ा जाए
  • Undo feature: command execute होने के बाद भी history बनी रहती है
  • Abbreviation restriction: abbreviations को केवल specific commands तक expand किया जा सकता है

Deprecated और हटाए गए features

  • commandline --tokenize को commandline --tokens-expanded से replace किया गया है
  • bind -k syntax के जरिए key name देना deprecated है
  • paste mode हटा दिया गया है

Scripting improvements

  • नई history command: history append से command execute किए बिना उसे history में जोड़ा जा सकता है
  • नई redirection:

1 टिप्पणियां

 
GN⁺ 2025-02-28
Hacker News राय
  • Fish 4.0 की सबसे दिलचस्प बात यह है कि अब इसे Rust में लिखा गया है
    • टेस्ट के ज़रिए यह देखना चाहूँगा कि कोई ध्यान देने योग्य फ़र्क है या नहीं
  • कहा गया है कि यूज़र पर इसका सीधा असर नहीं होगा
    • Fish का कोर फिर से लिखा गया है, लेकिन लगभग सब कुछ पहले जैसा ही काम करता है
  • जो लोग Fish shell पर स्विच कर चुके हैं, उनके लिए सबसे बड़ा नुकसान क्या है, यह जानना चाहता हूँ
    • सिस्टम पर इसकी आदत पड़ जाने के बाद कंपनी के सर्वर सिस्टम में Bash या Zsh इस्तेमाल करना पड़े तो
    • अगर Bash से Fish पर स्विच करने वाले हैं, तो Nushell पर स्विच करना भी विचार करने लायक है
  • Zsh यूज़र होने के नाते मैं Fish को आज़माना चाहता हूँ
    • मैं Zsh में plugins जोड़कर उसे Fish की तरह काम करने लायक बना रहा हूँ
  • अगर आप Homebrew इस्तेमाल करते हैं, तो अभी Fish उपलब्ध नहीं है
    • इसे जोड़े जाने की योजना है
  • मैंने कई सालों तक Fish का इस्तेमाल किया है, लेकिन मुख्य वजह इसकी बेहतरीन auto-completion फीचर है
    • सरल theme/prompt सिस्टम और oh-my-fish plugin management भी अच्छे हैं, लेकिन वे गौण हैं
  • Fish की बाकी वे सुविधाएँ जो Bash के साथ compatible नहीं हैं, असुविधाजनक लगती हैं
    • खासकर environment variable management समस्या पैदा करता है
    • सिद्धांत रूप में यह Bash से बेहतर डिज़ाइन है, लेकिन फ़र्क इतना बड़ा नहीं है, और इसका इस्तेमाल कम होता है, इसलिए हर बार फिर से सीखना पड़ता है
    • documentation से setup निर्देश copy-paste करते समय असुविधा होती है
  • यह जानने की जिज्ञासा है कि Rust migration के लिए development adjustment कैसे किया गया
    • सिर्फ एक PR(#9512) ही दिखता है
  • यह भी जानना चाहता हूँ कि Rust में दोबारा लिखने के बाद binary कितनी बड़ी हो गई
  • clear-commandline एक दिलचस्प फीचर है
    • Windows और macOS के बीच consistency बनाए रखना मुश्किल है
    • मैं Karabiner का ठीक से इस्तेमाल नहीं कर पाता
    • डिफ़ॉल्ट cancel-commandline सेटिंग को देखूँगा