जवाबों:
* पूर्णता * सूची में छँटाई क्रम 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 PREDICATEREQUIRE-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)मेटाडेटा सूची में जोड़ सकते हैं ।