নীচের কোডটি আমার c-mode
বাফারে সংক্ষিপ্ত পরীক্ষার থেকে সূক্ষ্মভাবে কাজ করে :
- পরে টাইপিং
/*
, আঘাত M-j
, ডিফল্ট জন্য বাঁধাই indent-new-comment-line
(এবং ডিফল্ট জন্য বাঁধাই c-indent-new-comment-line
মধ্যে c-mode
)। এটি যদি প্রথম মন্তব্যের লাইন হয় তবে সমাপনীকরণের অক্ষরগুলি */
স্বয়ংক্রিয়ভাবে inোকানো হবে।
- উপসর্গটির
M-j
সাথে আরও কমেন্ট লাইন সন্নিবেশ করিয়ে আরও বেশি বার আঘাত করা *
। এটি c-indent-new-comment-line
/ indent-new-comment-line
ফাংশনগুলির অন্তর্নির্মিত আচরণ । পরীক্ষা করে দেখুন মন্তব্যের একাধিক লাইন ডকুমেন্টেশন।
- নীচের কোডে একটি অতিরিক্ত নাগেট নিশ্চিত করে যে
*
প্রতিটি মন্তব্য লাইনের ও মন্তব্যের মধ্যে কমপক্ষে একটি জায়গা রয়েছে is
(defun my-prettify-c-block-comment (orig-fun &rest args)
(let* ((first-comment-line (looking-back "/\\*\\s-*.*"))
(star-col-num (when first-comment-line
(save-excursion
(re-search-backward "/\\*")
(1+ (current-column))))))
(apply orig-fun args)
(when first-comment-line
(save-excursion
(newline)
(dotimes (cnt star-col-num)
(insert " "))
(move-to-column star-col-num)
(insert "*/"))
(move-to-column star-col-num) ; comment this line if using bsd style
(insert "*") ; comment this line if using bsd style
))
;; Ensure one space between the asterisk and the comment
(when (not (looking-back " "))
(insert " ")))
(advice-add 'c-indent-new-comment-line :around #'my-prettify-c-block-comment)
;; (advice-remove 'c-indent-new-comment-line #'my-prettify-c-block-comment)
উদাহরণস্বরূপ, উপরের কোড মূল্যায়নের পর, আমি টাইপিং নিচের পাবেন: /*
M-j
First comment line
M-j
Second comment line
। ▮ টাইপিংয়ের শেষে কার্সারের অবস্থান নির্দেশ করে।
/*
* First comment line
* Second comment line▮
*/
অফসেট মন্তব্য ব্লক পরীক্ষা করা হচ্ছে ..
সেমিকোলনের পরে কার্সার দিয়ে, টাইপিং: /*
M-j
Test offset comment
নীচে দেয়। ▮ টাইপিংয়ের শেষে কার্সারের অবস্থান নির্দেশ করে।
#include<stdio.h>
main() {
printf("Hello World"); /*
* Test offset comment▮
*/
}