রঙের সাথে বিড়ালের আউটপুট দেওয়ার কোনও বিকল্প নেই?


উত্তর:


18

একটি জিএনইউ প্যাকেজ, উত্স-হাইলাইট , কৌশলটি মনে হচ্ছে (যদিও বিড়াল ব্যবহার করছে না - জন টি উল্লেখ করেছেন, বিড়ালটির সাথে এটি বিশেষভাবে সম্ভব নয়)। এটি উবুন্টুতে অ্যাপটি-গেটের মাধ্যমে পাওয়া যায় এবং বুস্ট রেজেক্স লাইব্রেরি প্রয়োজন requires উভয় উপলব্ধ কিনা তা দেখতে আপনার প্যাকেজ পরিচালককে পরীক্ষা করুন, অন্যথায় আপনি সেগুলি ওয়েব থেকে ধরে নিতে পারেন। আমার মনে হয় এর আগে সংযুক্ত জিএনইউ পৃষ্ঠার বুস্টের একটি লিঙ্ক রয়েছে।

ইনস্টল করার পরে, আমি আমার পথ নামক একটি নতুন স্ক্রিপ্ট তৈরি ccat । স্ক্রিপ্টটি দেখে মনে হচ্ছে:

#!/bin/bash
src-hilite-lesspipe.sh $1

অভিনব কিছু নয়, উত্স-হাইলাইটের সাথে তারা অন্তর্ভুক্ত কম স্ক্রিপ্টকে সহজ করে । এই ফ্যাশনে যখন ডাকা হয় তখন এটি ঠিক বিড়ালের মতোই কাজ করে।

অন্তর্ভুক্ত কম স্ক্রিপ্ট পাশাপাশি ব্যবহার করার জন্য একটি দুর্দান্ত স্ক্রিপ্ট। আমি কেবলমাত্র .bashrc এ নিম্নলিখিতগুলি যুক্ত করেছি :

export LESSOPEN="| /path/to/src-hilite-lesspipe.sh %s"
export LESS=' -R '

সেই স্ক্রিপ্টটি উত্স-হাইলাইটের জন্য অনলাইন ম্যানুয়ালটিতে অন্তর্ভুক্ত রয়েছে।

আমার ধারণা আপনি যদি বিড়ালটিকে পুরোপুরি উপেক্ষা করার মতো বোধ করেন তবে আপনি বিড়ালকে src-hilite-lesspipe.sh call 1 কল করতে পারেন, তবে এটি পছন্দসই নয়।


4
আমি, ব্যক্তিগতভাবে, $1:) এর সাথে শেষ হওয়া এক-লাইন ব্যাশ স্ক্রিপ্টগুলিতে একটি উপাধি পছন্দ করি ।
mgalgs

হ্যাঁ, মিচ_ফেষ্টার, আপনি স্পট করছেন। :]
rgm

2
ম্যাকের সাথেও কাজ করে brew install source-highlight। ইয়ামল রঙ করতে অক্ষম :(
সায়রাম

9

এর মতো কিছু সহ সিনট্যাক্স হাইলাইট কোড আউটপুট করতে cat, আমি http://scott.sherrillmix.com/blog/programmer/syntax-hightlighting-in-terminal/ccat এ অনুসরণ করে একটি কমান্ড তৈরি করেছি ।

#!/bin/bash
if [ ! -t 0 ];then
  file=/dev/stdin
elif [ -f $1 ];then
  file=$1
else
  echo "Usage: $0 code.c"
  echo "or e.g. head code.c|$0"
  exit 1
fi
pygmentize -f terminal -g $file

এর মতো কিছু সহ সিনট্যাক্সের হাইলাইট কোডটি আউটপুট দিতে lessআমি কম প্রতিস্থাপন হিসাবে ভিম ব্যবহার করি।

alias less='/usr/share/vim/vim72/macros/less.sh'

কীভাবে পাইগেমটিজ ইনস্টল করবেন: ইজি_ইনস্টল - ইনস্টল-দির OM সোমডির পাইগমেন্টস
সিএসহোডেলিয়া

আমি এই ধরণের বহনযোগ্য সমাধান পছন্দ করি। আমি এই স্ক্রিপ্টটি আমার বাশ হিসাবে একটি ফাংশন .functionsহিসাবে যুক্ত করেছিcolorize(){...}
guneysus

3

এটি সমাধান করার জন্য, আমি হাইলাইট ব্যবহার করেছি । আমি একটি ফাংশন তৈরি করেছি যা সিনট্যাক্স হাইলাইট করে ফাইলটি মুদ্রণের চেষ্টা করে এবং যদি এটি ব্যর্থ হয় তবে ফাইলটি মুদ্রণের জন্য কেবল বিড়াল ব্যবহার করে তা পিছিয়ে যায়। আপনি সিনট্যাক্স হাইলাইটিং থিমটি যা চান পরিবর্তন করতে পারেন।

function hl { # Overrides the cat command to use syntax highlighting
    # Highlight with 'moria' theme to terminal, and suppress errors
    highlight $1 -s moria -O xterm256 2> /dev/null

    if (($? != 0)); then # If the command had errors
        cat $1 # Just cat the file out instead
    fi
}

আপনি যদি কোনও ম্যাকের উপরে থাকেন এবং আপনি হোমব্রু ব্যবহার করেন (অত্যন্ত প্রস্তাবিত!), আপনি চালিয়ে হাইলাইটটি ইনস্টল করতে পারেন brew install highlight। অন্যথায়, এটি অন্যান্য বেশিরভাগ প্যাকেজ পরিচালকদের কাছে পাওয়া উচিত এবং এটি এখানে ডাউনলোড করা যেতে পারে ।

আমি এইচটিএমএল হিসাবে সিনট্যাক্স হাইলাইট করে একটি ফাইল মুদ্রণের জন্য একটি ফাংশনও তৈরি করেছি এবং মুদ্রণের জন্য এটি ব্রাউজারে খোলার জন্য ( openওএস এক্স-এর আদেশের উপর নির্ভর করে ):

function hlprint {
    # Print with line numbers and 'moria' theme
    highlight $1 -l -o print.html -s moria
    open print.html # Open in browser
    sleep 5 # Give the browser time to open
    rm print.html highlight.css # Remove output files
}

উপভোগ করুন!


1

না, বিড়ালের কোনও হাইলাইট করার ক্ষমতা নেই। যদি আপনি সিনট্যাক্স হাইলাইটিংয়ের সাথে উত্স কোডটি দেখতে চান তবে এটিকে ভিমে বা আপনার পছন্দসই সম্পাদকটিতে পপ করুন (এতে সিনট্যাক্স হাইলাইট রয়েছে)। এইভাবে, আপনি যদি আউটপুটটির মাধ্যমে পৃষ্ঠাগুলিও করতে পারেন তবে এটি যদি Ctrl+ F(ফরোয়ার্ড) এবং Ctrl+ B(পিছনে) ব্যবহার করে লম্বা ফাইল হয় ।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.