जवाबों:
* पूर्णता * सूची में छँटाई क्रम display-sort-function
आपकी पूर्णता तालिका की संपत्ति से निर्धारित होता है (जैसा कि लौटा दिया गया है completion-metadata
)। आपके मामले में, आपकी पूर्ण तालिका में ऐसी कोई संपत्ति नहीं है, इसलिए यह डिफ़ॉल्ट रूप से वापस आ जाती है, जिसे वर्णानुक्रम में क्रमबद्ध करना है।
आप उपयोग कर सकते हैं:
(defun my-presorted-completion-table (completions)
(lambda (string pred action)
(if (eq action 'metadata)
`(metadata (display-sort-function . ,#'identity))
(complete-with-action action completions string pred))))
और फिर
(completing-read "test: " (my-presorted-completion-table '("a" "b" "c")))
[यह मानता है कि आप उपयोग कर रहे हैं lexical-binding
। ]
completing-read
सूचियों की एक सूची दें , और यह आदेश का सम्मान करेगा:
(completing-read "test: " '(("a") ("b") ("c")))
(completing-read "test: " '(("c") ("b") ("a")))
डॉकस्ट्रिंग कहते हैं:
(completing-read PROMPT COLLECTION &optional PREDICATE
REQUIRE-MATCH INITIAL-INPUT HIST DEF INHERIT-INPUT-METHOD)
पूरा होने के साथ मिनीबार में एक स्ट्रिंग पढ़ें। PROMPT के साथ संकेत देने के लिए एक स्ट्रिंग है; आम तौर पर यह एक बृहदान्त्र और एक अंतरिक्ष में समाप्त होता है। संकलन तार, एक मुट्ठी, एक मोटे या हैश तालिका की एक सूची हो सकती है। ...
इसलिए यह एक संग्रह के रूप में एक मुट्ठी ले सकता है। वास्तव में, आप कुंजियों के साथ लेकिन मूल्यों के बिना एक मुल्क बना रहे हैं।
मेरा सुझाव है कि इस प्राचीन मंत्र का उपयोग न करें।
बिल्ट-इन में ido-completing-read
यह कमी नहीं है:
(ido-completing-read "test: " '("a" "b" "c"))
(ido-completing-read "test: " '("c" "b" "a"))
न ही helm
:
(helm :sources
`((name . "test: ")
(candidates . ("a" "b" "c"))))
(helm :sources
`((name . "test: ")
(candidates . ("c" "b" "a"))))
ido-completing-read
यह है कि यह अजीब newline चरित्र ^
से है semantic-format-tag-summarize
। हेल्म के लिए, मैं यह नहीं मान सकता कि हर कोई इसका उपयोग करता है। इसलिए completing-read
एकमात्र विकल्प है।
semantic-format-tag-summarize
आपको देता है उसे पोस्टप्रोसेस करें ।
ido
semantic-format-tag-summarize
अंत में कुछ रिटर्न से आउटपुट , लेकिन चरित्र में completing-read
या में प्रदर्शित नहीं होता है helm-comp-read
। मैंने पहले से ही semantic-format-tag-summarize
चेहरे के बिना, के स्थान पर एक और फ़ंक्शन लिखा । उपयोगकर्ताओं को टैग (रंगों के साथ) प्रदर्शित करने के लिए, मैं अभी भी उपयोग करता हूं semantic-format-tag-summarize
लेकिन इसके बजाय टेक्स्ट विजेट के साथ कस्टम बफर का उपयोग करता हूं ।
semantic-format-tag-summarize
आखिर में क्या रिटर्न पा रहा हूं, इसका पता लगाने के बाद मैं बग्स को बर्ड्स को सौंपूंगा । मेरे पास एक समाधान था लेकिन मैं अभी भी एक समाधान जानना चाहता हूं completing-read
। मुझे पता है कि हेल्म इसे बना सकता है लेकिन सिर्फ यह जानना चाहता है कि क्या कोई आसान तरीका completing-read
मौजूद है।
यदि आप आइकल्स का उपयोग करते हैं तो ऑर्डर का सम्मान किया जाता है completing-read
।
(और आप विभिन्न प्रकार के आदेशों का उपयोग करके , या तो अंतःक्रियात्मक रूप से या लिस्प के माध्यम से सॉर्ट कर सकते हैं । और वेनिला एमएसीएस के विपरीत, सॉर्टिंग *Completions*
प्रदर्शन और साइकिलिंग ऑर्डर दोनों को प्रभावित करता है ।)
ido-completing-read
कुछ समस्या हो रही है।
completing-read
आइकनों के साथ उपयोग करें । तुम भी बस icicle-mode
अस्थायी रूप से (जैसे कॉल के लिए completing-read
) चालू कर सकते हैं , का उपयोग कर, जैसे, मैक्रो icicle-with-icy-mode-ON
।
icomplete
भी आदेश का सम्मान करना चाहते हैं , तो आप(cycle-sort-function . ,#'identity)
मेटाडेटा सूची में जोड़ सकते हैं ।