emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: How to make Emacs popular again.


From: Jean Louis
Subject: Re: How to make Emacs popular again.
Date: Tue, 29 Sep 2020 01:25:17 +0300
User-agent: Mutt/1.14.0 (2020-05-02)

* Eli Zaretskii <eliz@gnu.org> [2020-09-27 10:54]:
> > Date: Sun, 27 Sep 2020 10:32:21 +0300
> > From: Jean Louis <bugs@gnu.support>
> > Cc: eliz@gnu.org, jamtlu@gmail.com, emacs-devel@gnu.org
> > 
> > Emacs should in general have an option under Tools -> Look up word
> 
> We have that under Help->Search Documentation.

Search documentation is separate feature from looking up any technical
or special word in glossary, and third feature would be looking up any
word in dictionaries.

Tools -> Look up word, it could provide looking up definitions in
dictionaries. At least one dictionary like GCIDE could be supported or
Wordnet, or both of them.

That way users will not get confused, they could quickly lookup any
word under cursor or mouse in dictionaries and would get empowered.

I am personall using dictionary servers straight from Emacs, {s-d} on
any word gives me helm completion, list of dictionaries I can choose
from, to find a definition, it runs these functions below, and {s-w}
runs (wordnut-search) from wordnut package, so definitions are
quickly there accessible. If we speak of text editing, we edit words,
words are defined and Emacs should have reference to dictionary for
each word, and fall back to online searches.

Jean


(setq dict/dictionaries
      '(
        ("The Collaborative International Dictionary of English v.0.48" "gcide")
        ("WordNet (r) 3.0 (2006)" "wn")
        ("Moby Thesaurus II by Grady Ward, 1.0" "moby-thesaurus")
        ("The Elements (07Nov00)" "elements")
        ("vera" "V.E.R.A. -- Virtual Entity of Relevant Acronyms (September 
2014)")
        ("The Jargon File (version 4.4.7, 29 Dec 2003)" "jargon")
        ("The Free On-line Dictionary of Computing (18 March 2015)" "foldoc")
        ("Easton's 1897 Bible Dictionary" "easton")
        ("Hitchcock's Bible Names Dictionary (late 1800's)" "hitchcock")
        ("Bouvier's Law Dictionary, Revised 6th Ed (1856)" "bouvier")
        ("The Devil's Dictionary (1881-1906)" "devil")
        ("CIA World Factbook 2002" "world02")
        ("U.S. Gazetteer Counties (2000)" "gaz2k-counties")
        ("U.S. Gazetteer Places (2000)" "gaz2k-places")
        ("U.S. Gazetteer Zip Code Tabulation Areas (2000)" "gaz2k-zips")
        ("Turkish-English FreeDict Dictionary ver. 0.2.1" "fd-tur-eng")
        ("Portuguese-German FreeDict Dictionary ver. 0.1.1" "fd-por-deu")
        ("Dutch-English Freedict Dictionary ver. 0.1.3" "fd-nld-eng")
        ("English-Arabic FreeDict Dictionary ver. 0.6.2" "fd-eng-ara")
        ("Spanish-English FreeDict Dictionary ver. 0.1.1" "fd-spa-eng")
        ("English-Hungarian FreeDict Dictionary ver. 0.1" "fd-eng-hun")
        ("Italian-English FreeDict Dictionary ver. 0.1.1" "fd-ita-eng")
        ("Welsh-English Freedict dictionary" "fd-wel-eng")
        ("English-Dutch FreeDict Dictionary ver. 0.1.1" "fd-eng-nld")
        ("French-English FreeDict Dictionary ver. 0.3.4" "fd-fra-eng")
        ("Turkish-German FreeDict Dictionary ver. 0.1.1" "fd-tur-deu")
        ("Swedish-English FreeDict Dictionary ver. 0.1.1" "fd-swe-eng")
        ("Nederlands-French FreeDict Dictionary ver. 0.1.1" "fd-nld-fra")
        ("English-Swahili xFried/FreeDict Dictionary" "fd-eng-swa")
        ("German-Dutch FreeDict Dictionary ver. 0.1.1" "fd-deu-nld")
        ("French-German FreeDict Dictionary ver. 0.1.1" "fd-fra-deu")
        ("English-Croatian Freedict Dictionary" "fd-eng-cro")
        ("English-Italian FreeDict Dictionary ver. 0.1.1" "fd-eng-ita")
        ("English-Latin FreeDict Dictionary ver. 0.1.1" "fd-eng-lat")
        ("Latin-English FreeDict Dictionary ver. 0.1.1" "fd-lat-eng")
        ("French-Dutch FreeDict Dictionary ver. 0.1.2" "fd-fra-nld")
        ("Italian-German FreeDict Dictionary ver. 0.1.1" "fd-ita-deu")
        ("English-Hindi FreeDict Dictionary ver. 1.5.1" "fd-eng-hin")
        ("German-English FreeDict Dictionary ver. 0.3.4" "fd-deu-eng")
        ("Portuguese-English FreeDict Dictionary ver. 0.1.1" "fd-por-eng")
        ("Latin - German FreeDict dictionary ver. 0.4" "fd-lat-deu")
        ("Japanese-German FreeDict Dictionary ver. 0.1.1" "fd-jpn-deu")
        ("English-German FreeDict Dictionary ver. 0.3.6" "fd-eng-deu")
        ("English-Serbo-Croat Freedict dictionary" "fd-eng-scr")
        ("English-Romanian FreeDict Dictionary ver. 0.6.1" "fd-eng-rom")
        ("Irish-English Freedict dictionary" "fd-iri-eng")
        ("Czech-English Freedict dictionary" "fd-cze-eng")
        ("Serbo-Croat-English Freedict dictionary" "fd-scr-eng")
        ("English-Czech fdicts/FreeDict Dictionary" "fd-eng-cze")
        ("English-Russian FreeDict Dictionary ver. 0.3" "fd-eng-rus")
        ("Afrikaans-German FreeDict Dictionary ver. 0.3" "fd-afr-deu")
        ("English-Portuguese FreeDict Dictionary ver. 0.2.2" "fd-eng-por")
        ("Hungarian-English FreeDict Dictionary ver. 0.3.1" "fd-hun-eng")
        ("English-Swedish FreeDict Dictionary ver. 0.1.1" "fd-eng-swe")
        ("German-Italian FreeDict Dictionary ver. 0.1.1" "fd-deu-ita")
        ("Croatian-English Freedict Dictionary" "fd-cro-eng")
        ("Danish-English FreeDict Dictionary ver. 0.2.1" "fd-dan-eng")
        ("English-Turkish FreeDict Dictionary ver. 0.2.1" "fd-eng-tur")
        ("English-Spanish FreeDict Dictionary ver. 0.2.1" "fd-eng-spa")
        ("Dutch-German FreeDict Dictionary ver. 0.1.1" "fd-nld-deu")
        ("German-Portuguese FreeDict Dictionary ver. 0.2.1" "fd-deu-por")
        ("Swahili-English xFried/FreeDict Dictionary" "fd-swa-eng")
        ("English-Hindi Freedict Dictionary [reverse index]" "fd-hin-eng")
        ("German-French FreeDict Dictionary ver. 0.3.1" "fd-deu-fra")
        ("English-French FreeDict Dictionary ver. 0.1.4" "fd-eng-fra")
        ("Slovak-English Freedict dictionary" "fd-slo-eng")
        ("Scottish Gaelic-German FreeDict Dictionary ver. 0.1.1" "fd-gla-deu")
        ("English-Welsh Freedict dictionary" "fd-eng-wel")
        ("English-Irish Freedict dictionary" "fd-eng-iri")
        ("English Monolingual Dictionaries" "english")
        ("Translating Dictionaries" "trans")
        ("All Dictionaries (English-Only and Translating)" "all")))

(setq dict/buffer "*Dict*")

(defun tmpbuf (buf)
  (switch-to-buffer
   (get-buffer-create (concat "*" buf "*"))))

(defun dict/kill-dict ()
  (interactive)
  (kill-buffer dict/buffer))

(defun dictd-dictionaries (&optional host)
  "Returns the list of dictionaries and their names"
  (let* ((command (if host (format "dict -D -h %s" host) "dict -D"))
         (dictionaries (shell-command-to-string command))
         (dictionaries (split-string dictionaries "\n")))
    (pop dictionaries)
    (mapcar 'string-trim dictionaries)))

(defun dict/query ()
  (interactive)
  (let* ((word (current-word 1))
         (dictionary (helm-comp-read  "Dictionary: " (dictd-dictionaries)))
         (dictionary (first (split-string dictionary)))
         (dict (format "dict -d %s \"%s\"" dictionary word))
         (statement (shell-command-to-string dict)))
    (get-buffer-create dict/buffer)
    (switch-to-buffer dict/buffer)
    (local-set-key (kbd "q") 'dict/kill-dict)
    (local-set-key (kbd "<return>") 'dict/query)
    (insert statement)
    (goto-char 1)))

(global-set-key (kbd "s-d") 'dict/query)




reply via email to

[Prev in Thread] Current Thread [Next in Thread]