3 पॉइंट द्वारा GN⁺ 2024-11-09 | 1 टिप्पणियां | WhatsApp पर शेयर करें

शुरुआत

  • पैकेज का नाम "git-delta" है, और executable delta है।
  • ~/.gitconfig में नीचे दिया गया कॉन्फ़िगरेशन जोड़कर इसे सेट किया जा सकता है:
    [core]
    pager = delta
    [interactive]
    diffFilter = delta --color-only
    [delta]
    navigate = true  # diff सेक्शनों के बीच जाने के लिए n और N का उपयोग
    [merge]
    conflictstyle = zdiff3
    
  • Delta कई तरह की सुविधाएँ देता है और इसे कस्टमाइज़ किया जा सकता है। अधिक जानकारी के लिए user manual देखा जा सकता है।

सुविधाएँ

  • भाषा syntax highlighting: bat जैसे ही syntax highlighting themes का उपयोग किया जा सकता है।
  • शब्द-स्तरीय diff highlighting: Levenshtein edit inference algorithm का उपयोग।
  • side-by-side view: line wrapping के साथ।
  • line numbers दिखाना.
  • फ़ाइलों के बीच नेविगेशन: बड़े diff में n और N keys से फ़ाइलों के बीच जाया जा सकता है।
  • बेहतर merge conflict display.
  • बेहतर git blame display: syntax highlighting और commit को hosting provider links के रूप में फ़ॉर्मैट करने की क्षमता।
  • grep output syntax highlighting: rg, git grep, grep आदि का समर्थन।
  • Git के --color-moved feature का समर्थन.
  • कोड कॉपी करना संभव: डिफ़ॉल्ट रूप से -/+ markers हटा दिए जाते हैं।
  • diff-highlight और diff-so-fancy emulation modes.
  • commit hashes को terminal hyperlinks के रूप में फ़ॉर्मैट किया जा सकता है.
  • स्टाइल किए जा सकने वाले box/line decorations: commit, file, chunk header sections को highlight करने के लिए।
  • style strings का समर्थन: 20 से अधिक style elements के लिए foreground color, background color, और font attributes का उपयोग किया जा सकता है।
  • पारंपरिक unified diff output और git output का प्रसंस्करण.
  • हल्के/गहरे terminal background का स्वतः पता लगाना.

Git, diff, grep आउटपुट के लिए syntax-highlighted pager

  • Delta कोड में हुए बदलावों का कुशल और सुखद विश्लेषण करने में मदद करता है।
  • layout और style को व्यापक रूप से बदला जा सकता है, और चाहें तो इसे डिफ़ॉल्ट git/diff output के क़रीब रखा जा सकता है।

Syntax highlighting themes

  • bat जैसे ही syntax highlighting color themes का उपयोग किया जा सकता है:
    • delta --show-syntax-themes --dark
    • delta --show-syntax-themes --light

Side-by-side view

  • डिफ़ॉल्ट रूप से side-by-side view में line numbers enabled होते हैं, और बाएँ व दाएँ दोनों panels पर syntax highlighting लागू होती है।

Line numbers

  • delta configuration में line numbers को enable किया जा सकता है।

Merge conflicts

  • merge conflicts को संभालने के लिए user manual देखा जा सकता है।

Git blame

  • user manual के ज़रिए git blame को बेहतर बनाया जा सकता है।

Ripgrep, git grep

  • user manual के अनुसार ripgrep और git grep output को syntax-highlight किया जा सकता है।

इंस्टॉलेशन और उपयोग

  • user manual और delta --help को देखा जा सकता है।

मेंटेनर

  • @dandavison
  • @th1000s

1 टिप्पणियां

 
GN⁺ 2024-11-09
Hacker News राय
  • Delta ऐसा टूल है जिसे एक बार सेट करके भूल सकते हैं, और इसे अक्सर git grep/diff/blame के आउटपुट की जगह इस्तेमाल किया जाता है। यह भी पता चला कि यह ripgrep के साथ भी compatible है
    • bat भी इसी तरह का टूल है जिसे सेट करके भूल सकते हैं, और cat को bat के alias के रूप में इस्तेमाल किया जा रहा है
  • बेसिक git से भी ठीक-ठाक स्तर का word-level diff मिल सकता है
    • git diff --color-words --word-diff-regex='\w+|.' कमांड का उपयोग करें
  • Delta उपयोगी है, लेकिन इसमें लंबी lines को काट देने की समस्या थी। यह समस्या git config --global --replace-all delta.max-line-length 0 सेटिंग से हल हो जाती है
    • यह default क्यों नहीं है, यह स्पष्ट नहीं है
  • Delta और difftastic को मिलाकर इस्तेमाल किया जा रहा है, खासकर difftastic tree-sitter AST syntax के लिए उपयोगी है
    • Delta साफ-सुथरा है और बहुत तेज़ है
  • Delta अपनाने में बाधा "system" theme detection की कमी है। अगर theme shell से मेल न खाए तो पढ़ना मुश्किल हो जाता है
  • सामान्य git diff टूल को colors के साथ इस्तेमाल किया गया, लेकिन Delta बहुत ज़्यादा complex लगा
  • Delta और difftastic दोनों का इस्तेमाल किया जा रहा है, और ज़ोरदार सिफारिश की जाती है
    • जो लोग terminal इस्तेमाल करते हैं, उन्हें इसे ज़रूर आज़माना चाहिए
  • bat पसंद है, और यह Delta से भी जुड़ता है
  • Delta बहुत पसंद है; हमेशा नहीं, लेकिन आमतौर पर इसका इस्तेमाल किया जाता है। किसी को भी इसे आज़माने की सिफारिश है
  • लगता है कि लेखक ने magit integration भी लिखा है
    • user feedback (performance आदि) पर राय मांगी गई है