নিম্নলিখিতগুলির মতো ইমাকগুলিতে কীভাবে ওভারলে তৈরি করবেন (সম্ভবত এটি ওভারলে নয়, আমি জানি না, এটি সংস্থা-কোক ইনলাইন-ডকস থেকে এসেছে):
নিম্নলিখিতগুলির মতো ইমাকগুলিতে কীভাবে ওভারলে তৈরি করবেন (সম্ভবত এটি ওভারলে নয়, আমি জানি না, এটি সংস্থা-কোক ইনলাইন-ডকস থেকে এসেছে):
উত্তর:
প্রকৃতপক্ষে এটি ওভারলে ব্যবহার করে সেই আচরণটি সম্পাদন করে। বিশেষত- এটি 'after-string
ডকুমেন্টেশন দেখানোর জন্য সম্পত্তিটি ব্যবহার করে (দেখুন: ওভারলে বৈশিষ্ট্যগুলি )।
আপনি যদি ফাংশনটি পরীক্ষা করেন company-coq--show-definition-overlay-at-point
(উদা: এর মাধ্যমে M-x find-function
) আপনি ঠিক কীভাবে এটি তৈরি করেছেন তা দেখতে পাবেন:
(setq company-coq-definition-overlay (make-overlay ins-pos ins-pos))
(overlay-put company-coq-definition-overlay 'after-string ins-str)
company-coq-definition-overlay
ওভারলেটিকে পরে উল্লেখ করা সহজতর করার জন্য ওভারলেতে একটি রেফারেন্স রাখা হয় :
(delete-overlay company-coq-definition-overlay)
(setq company-coq-definition-overlay nil)
ins-str
মধ্যে company-coq--show-definition-overlay-at-point
। নির্দিষ্ট মুখ এবং স্টাইলিং স্ট্রিংয়ের পাঠ্য বৈশিষ্ট্য হিসাবে উপস্থিত থাকবে। পাঠ্য বৈশিষ্ট্য: বিশেষ বৈশিষ্ট্যগুলি সেই বৈশিষ্ট্যগুলি ডিকোড করার জন্য একটি সহায়ক তথ্যসূত্র।
(defvar inline-docs-overlay nil)
(defgroup inline-docs nil
"Show inline contextual docs in Emacs."
:group 'docs)
(defcustom inline-docs-border-symbol ?―
"Specify symbol for inline-docs border."
:group 'inline-docs)
(defcustom inline-docs-prefix-symbol ?\s
"Specify symbol for inline-docs prefix."
:group 'inline-docs)
(defcustom inline-docs-indicator-symbol "➜"
"Specify symbol for inline-docs indicator."
:group 'inline-docs)
(defface inline-docs-face
'((t (:inherit italic)))
"Face for `inline-docs-mode'."
:group 'inline-docs)
(defface inline-docs-border-face
'((t (:inherit font-lock-doc-face)))
"Face for inline docs border lines."
:group 'inline-docs)
(defface inline-docs-prefix-face
'((t (:inherit default)))
"Face for inline docs prefix."
:group 'inline-docs)
(defface inline-docs-indicator-face
'((t (:inherit font-lock-doc-face)))
"Face for inline docs indicator."
:group 'inline-docs)
(defun inline-docs--clear-overlay ()
"Clear inline-docs overlays."
(when (overlayp inline-docs-overlay)
(delete-overlay inline-docs-overlay))
(remove-hook 'post-command-hook 'inline-docs--clear-overlay))
(defun inline-docs--string-display-next-line (string apply-face)
"Show STRING contents below point line until next command with APPLY-FACE."
(let* ((border-line (make-string (window-body-width) inline-docs-border-symbol))
(prefix (make-string
(if (= (current-indentation) 0) ; fix (wrong-type-argument wholenump -1) when current indentation is 0 minus 1 will caused wholenump exception.
(current-indentation)
(- (current-indentation) 1))
inline-docs-prefix-symbol))
(str (concat (propertize border-line
'face 'inline-docs-border-face)
"\n"
prefix
(propertize (concat inline-docs-indicator-symbol " ")
'face 'inline-docs-indicator-face)
(copy-sequence string) ; original eldoc string with format.
"\n"
(propertize border-line
'face 'inline-docs-border-face)
"\n"
))
start-pos end-pos)
(unwind-protect
(save-excursion
(inline-docs--clear-overlay)
(forward-line)
(setq start-pos (point))
(end-of-line)
(setq end-pos (point))
(setq inline-docs-overlay (make-overlay start-pos end-pos (current-buffer)))
;; change the face
(if apply-face
(overlay-put inline-docs-overlay 'face 'inline-docs-face))
;; hide full line
;; (overlay-put inline-docs-overlay 'display "")
;; (overlay-put inline-docs-overlay 'display :height 20)
;; pre-pend indentation spaces
;; (overlay-put inline-docs-overlay 'line-prefix prefix)
;; auto delete overlay
(overlay-put inline-docs-overlay 'evaporate t)
;; display message
(overlay-put inline-docs-overlay 'before-string str))
(add-hook 'post-command-hook 'inline-docs--clear-overlay))))
(defun inline-docs-display-docs-momentary (format-string &rest args)
"Display inline docs FORMAT-STRING under point with extra ARGS."
(when format-string
(inline-docs--string-display-next-line
(apply 'format format-string args)
t)))
;;;###autoload
(defalias 'inline-docs 'inline-docs-display-docs-momentary)
আমি এর জন্য একটি রেপো তৈরি করেছি, https://github.com/stardiviner/inline-docs.el
এবং একটি মডিউল যা inline-docs.el
বড়দের জন্য ব্যবহার করে ।
https://github.com/stardiviner/eldoc-overlay-mode ।
(overlay-put OVERLAY 'after-string STR)
স্ক্রিনকাস্টের মতো স্বতঃস্ফূর্ততা নেই।