मैं फ्लाईस्पेल को url को कैसे अनदेखा कर सकता हूं?


14

जब मैं उपयोग करता हूं flyspell-mode, तो जब भी मैं एक URL टाइप करता हूं, तो यह वर्तनी की त्रुटियों की रिपोर्ट करता है। क्या कोई ऐसा तरीका है जो मैं फ़्लाइस्पेल को URL जाँचने से रोकने के लिए कह सकता हूँ?


1
के लिए ispell(नहीं flyspell) यह अर्ध-संबंधित लिंक, के बारे में ispell-skip-region-alist, सहायक लगता है: superuser.com/a/345461/206164 शायद flyspellकुछ ऐसा ही है जिसे लागू किया जा सकता है - जैसे, का उपयोग करना flyspell-mode-predicate
19

जवाबों:


11

थोड़ी खुदाई के बाद, मुझे इसमें एक संकेत मिला [इस Superuser.com उत्तर : आपको flyspell-mode-predicateएक फ़ंक्शन पर सेट करने की आवश्यकता है जो यह तय करेगा कि शब्दों की जाँच होनी चाहिए या नहीं। यहां "http" या "https" के साथ शुरू होने वाली किसी भी चीज़ को अनदेखा करने के लिए फ्लाईस्पेल प्राप्त करने का एक तरीका है:

(defun flyspell-ignore-http-and-https ()
  "Function used for `flyspell-generic-check-word-predicate' to ignore stuff starting with \"http\" or \"https\"."
  (save-excursion
    (forward-whitespace -1)
    (when (looking-at " ")
        (forward-char)
    (not (looking-at "https?\\b"))))) 

(put 'text-mode 'flyspell-mode-predicate 'flyspell-ignore-http-and-https)

कुछ कमियाँ हैं, अवश्य:

  • मैं मान रहा हूँ कि "http" या "https" से शुरू होने वाली किसी भी चीज़ को छोड़ दिया जाना चाहिए; जिसमें " http://cnn.com " और " https://google.com " (अच्छा) शामिल हैं, लेकिन "httpomatic" और "httpstatisticiansarehip" (संभवतः बुरा)
  • मैं mailto :, ftp :, फ़ाइल :, आदि के साथ परेशान नहीं कर रहा हूँ (लेकिन इस तरह से पागलपन झूठ हो सकता है ...)

लेकिन एक त्वरित और गंदे तरीके के रूप में, यह काम करना चाहिए।


1

मैंने इन पंक्तियों के साथ कुछ किया है (मार्कडाउन मोड के लिए मेरे मामले में) कुछ सामान्य लेकिन पैथोलॉजिकल मामलों के लिए संत आर्डार्क से द कार्पेट के जवाब के लिए थोड़ा अधिक प्रतिरोधी होने के लिए:

(require 'thingatpt)
(defun markdown-flyspell-predicate ()
  (not (thing-at-point 'url)))
(put 'markdown-mode 'flyspell-mode-predicate 'markdown-flyspell-predicate)

विशेष रूप से, यदि आप एक शब्द से पहले व्हाट्सएप को देखकर शुरू करते हैं, तो URL आवश्यक रूप से शुरू नहीं होगा https। इन मामलों पर विचार करें:

(/emacs/)
[text text](/emacs/)
\url{/emacs/}
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.