unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Adding a few more finder keywords
@ 2015-04-25 16:59 Artur Malabarba
  2015-04-25 18:51 ` Drew Adams
  2015-06-08 14:56 ` Oleh Krehel
  0 siblings, 2 replies; 21+ messages in thread
From: Artur Malabarba @ 2015-04-25 16:59 UTC (permalink / raw)
  To: emacs-devel

Would it be acceptable for us to add a few more keywords to
`finder-known-keywords'?

There are lots of new keywords being used by the thousands of packages
out there, and some of them are a little chaotic (see below). I think
it would help a bit if we added the most common ones to
`finder-known-keywords'.

The list of keywords below was obtained with the following code (note
that it depends on map.el).

    (defvar kwd-pkg-table (make-hash-table :test #'equal :size 2000))
    (package-read-all-archive-contents)
    (package--mapc
     (lambda (desc)
       (dolist (key (package-desc--keywords desc))
         (cl-pushnew (package-desc-name desc) (gethash key accum)))))

    (defvar kwd-pkg-sorted-alist
      (sort (map-into kwd-pkg-table 'list)
            (lambda (x y) (> (length (cdr x))
                        (length (cdr y))))))

    (pp (mapcar (lambda (p) (cons (car p) (length (cdr p)))) kwd-pkg-alist)
        (current-buffer))

Note how the list contains:
- 17 "theme" and 18 "themes".
- 8 "package" and 4 "packages" (and many other instances of singular vs plural)
- "mode-line", "modeline", "mode line", and even "stausline".
- 4 "major" and 4 "major-mode"

I think this situation can be improved if we extend the list of
default keywords. So a new developer, writing his first package,
doesn't have to decide between "theme" or "themes" (one of them will
already be offerd to them in the defaults).

I'm not suggesting we impose any kind of restriction here. Everyone
will still be free to use whatever keywords they want. All I'm
suggesting is that we add a few more entries to the variable
`finder-known-keywords'


Cheers, (data below)

----------------------

(("convenience" . 387)
 ("tools" . 166)
 ("languages" . 148)
 ("lisp" . 91)
 ("extensions" . 89)
 ("faces" . 59)
 ("files" . 41)
 ("org" . 40)
 ("completion" . 39)
 ("processes" . 36)
 ("helm" . 36)
 ("matching" . 35)
 ("help" . 34)
 ("git" . 30)
 ("comm" . 30)
 ("data" . 28)
 ("frames" . 28)
 ("ruby" . 28)
 ("wp" . 25)
 ("emacs" . 24)
 ("evil" . 24)
 ("vc" . 23)
 ("search" . 22)
 ("local" . 22)
 ("hypermedia" . 21)
 ("internal" . 21)
 ("color" . 20)
 ("c" . 20)
 ("python" . 19)
 ("project" . 19)
 ("themes" . 18)
 ("abbrev" . 18)
 ("games" . 18)
 ("theme" . 17)
 ("multimedia" . 17)
 ("dired" . 17)
 ("emulation" . 16)
 ("clojure" . 16)
 ("docs" . 16)
 ("org-mode" . 16)
 ("window" . 15)
 ("unix" . 15)
 ("editing" . 15)
 ("outlines" . 15)
 ("calendar" . 14)
 ("navigation" . 14)
 ("highlight" . 14)
 ("programming" . 13)
 ("text" . 13)
 ("javascript" . 13)
 ("mode" . 13)
 ("test" . 13)
 ("language" . 12)
 ("mouse" . 11)
 ("keys" . 11)
 ("php" . 11)
 ("grep" . 10)
 ("unicode" . 10)
 ("html" . 10)
 ("buffer" . 10)
 ("perl" . 10)
 ("mode-line" . 9)
 ("cursor" . 9)
 ("region" . 9)
 ("rails" . 9)
 ("interface" . 9)
 ("package" . 8)
 ("tex" . 8)
 ("keyboard" . 8)
 ("mail" . 8)
 ("maint" . 8)
 ("news" . 8)
 ("elisp" . 8)
 ("emulations" . 8)
 ("auto-complete" . 8)
 ("testing" . 8)
 ("tests" . 8)
 ("development" . 8)
 ("flymake" . 8)
 ("frame" . 8)
 ("shell" . 8)
 ("xml" . 7)
 ("network" . 7)
 ("edit" . 7)
 ("http" . 7)
 ("cider" . 7)
 ("java" . 7)
 ("dictionary" . 7)
 ("anything" . 7)
 ("web" . 7)
 ("chinese" . 7)
 ("vim" . 7)
 ("terminal" . 7)
 ("i18n" . 7)
 ("configuration" . 7)
 ("markdown" . 6)
 ("indentation" . 6)
 ("regexp" . 6)
 ("css" . 6)
 ("latex" . 6)
 ("bibtex" . 6)
 ("github" . 6)
 ("snippets" . 6)
 ("menu" . 6)
 ("utility" . 6)
 ("c++" . 6)
 ("go" . 6)
 ("repl" . 6)
 ("haskell" . 6)
 ("characters" . 6)
 ("markup" . 6)
 ("productivity" . 6)
 ("presentation" . 6)
 ("table" . 6)
 ("window manager" . 6)
 ("tree" . 5)
 ("display" . 5)
 ("replace" . 5)
 ("projectile" . 5)
 ("compilation" . 5)
 ("face" . 5)
 ("blog" . 5)
 ("buffers" . 5)
 ("windows" . 5)
 ("nrepl" . 5)
 ("command" . 5)
 ("accessibility" . 5)
 ("popup" . 5)
 ("paste" . 5)
 ("directories" . 5)
 ("hide" . 5)
 ("repeat" . 5)
 ("erc" . 5)
 ("emms" . 5)
 ("osx" . 5)
 ("babel" . 5)
 ("oop" . 5)
 ("speed" . 5)
 ("ssh" . 4)
 ("config" . 4)
 ("packages" . 4)
 ("input" . 4)
 ("clojurescript" . 4)
 ("maven" . 4)
 ("gnus" . 4)
 ("todo" . 4)
 ("ascii" . 4)
 ("symbols" . 4)
 ("dark" . 4)
 ("rest" . 4)
 ("jump" . 4)
 ("projects" . 4)
 ("whitespace" . 4)
 ("ess" . 4)
 ("wiki" . 4)
 ("major" . 4)
 ("major-mode" . 4)
 ("database" . 4)
 ("cycle" . 4)
 ("pastebin" . 4)
 ("refactoring" . 4)
 ("eshell" . 4)
 ("etags" . 4)
 ("tags" . 4)
 ("vim-emulation" . 4)
 ("flycheck" . 4)
 ("compile" . 4)
 ("sql" . 4)
 ("minibuffer" . 4)
 ("environment" . 4)
 ("session" . 4)
 ("intellisense" . 4)
 ("sage" . 4)
 ("math" . 4)
 ("ido" . 4)
 ("ocaml" . 4)
 ("w3m" . 3)
 ("strings" . 3)
 ("hex" . 3)
 ("rgb" . 3)
 ("bbdb" . 3)
 ("highlighting" . 3)
 ("less" . 3)
 ("color-theme" . 3)
 ("learning" . 3)
 ("apropos" . 3)
 ("backup" . 3)
 ("csv" . 3)
 ("macro" . 3)
 ("terminals" . 3)
 ("cursors" . 3)
 ("graph" . 3)
 ("file" . 3)
 ("postgresql" . 3)
 ("toggle" . 3)
 ("discover" . 3)
 ("line" . 3)
 ("selection" . 3)
 ("string" . 3)
 ("elscreen" . 3)
 ("soundcloud" . 3)
 ("unittest" . 3)
 ("ert" . 3)
 ("uml" . 3)
 ("searching" . 3)
 ("textmate" . 3)
 ("comment" . 3)
 ("thing" . 3)
 ("functions" . 3)
 ("music" . 3)
 ("workspace" . 3)
 ("kill" . 3)
 ("management" . 3)
 ("images" . 3)
 ("mac" . 3)
 ("folding" . 3)
 ("refactor" . 3)
 ("log" . 3)
 ("irc" . 3)
 ("utilities" . 3)
 ("writing" . 3)
 ("simplenote" . 3)
 ("chat" . 3)
 ("tdd" . 3)
 ("button" . 3)
 ("widget" . 3)
 ("virtualenv" . 3)
 ("automation" . 3)
 ("server" . 3)
 ("persistence" . 3)
 ("async" . 3)
 ("deferred" . 3)
 ("translation" . 3)
 ("dotemacs" . 3)
 ("yasnippet" . 3)
 ("slime" . 3)
 ("startup" . 3)
 ("yaml" . 2)
 ("rpc" . 2)
 ("www" . 2)
 ("history" . 2)
 ("palette" . 2)
 ("data structures" . 2)
 ("gnuplot" . 2)
 ("plotting" . 2)
 ("lists" . 2)
 ("location" . 2)
 ("motion" . 2)
 ("parser" . 2)
 ("data structures trie" . 2)
 ("register" . 2)
 ("minor-mode" . 2)
 ("context" . 2)
 ("ada" . 2)
 ("emmet" . 2)
 ("bootstrap" . 2)
 ("comments" . 2)
 ("deftheme" . 2)
 ("occur" . 2)
 ("amd" . 2)
 ("fun" . 2)
 ("json" . 2)
 ("api" . 2)
 ("milkode" . 2)
 ("keyword" . 2)
 ("download" . 2)
 ("bittorrent" . 2)
 ("lua" . 2)
 ("fingers" . 2)
 ("modal" . 2)
 ("workman" . 2)
 ("bookmark" . 2)
 ("bookmarks" . 2)
 ("url" . 2)
 ("blogger" . 2)
 ("macros" . 2)
 ("chef" . 2)
 ("font" . 2)
 ("coffee-mode" . 2)
 ("company" . 2)
 ("documentation" . 2)
 ("grads" . 2)
 ("script" . 2)
 ("cypher" . 2)
 ("of" . 2)
 ("diredp" . 2)
 ("sort" . 2)
 ("pastie" . 2)
 ("dropbox" . 2)
 ("e2wm" . 2)
 ("eldoc" . 2)
 ("evernote" . 2)
 ("applescript" . 2)
 ("english" . 2)
 ("grammar" . 2)
 ("r" . 2)
 ("tag" . 2)
 ("tab" . 2)
 ("leader" . 2)
 ("paredit" . 2)
 ("smartparens" . 2)
 ("tabs" . 2)
 ("desktop" . 2)
 ("hsv" . 2)
 ("hexadecimal" . 2)
 ("menus" . 2)
 ("cli" . 2)
 ("zsh" . 2)
 ("d" . 2)
 ("jshint" . 2)
 ("vala" . 2)
 ("movement" . 2)
 ("fullscreen" . 2)
 ("gerrit" . 2)
 ("version control" . 2)
 ("release management" . 2)
 ("gnome" . 2)
 ("hardware" . 2)
 ("template" . 2)
 ("graphviz" . 2)
 ("dot" . 2)
 ("marking" . 2)
 ("bib" . 2)
 ("project-management" . 2)
 ("scss" . 2)
 ("google" . 2)
 ("browse" . 2)
 ("hg" . 2)
 ("show" . 2)
 ("tail" . 2)
 ("light" . 2)
 ("emulating" . 2)
 ("password" . 2)
 ("fringe" . 2)
 ("mongodb" . 2)
 ("data structure" . 2)
 ("io" . 2)
 ("isearch" . 2)
 ("invisible" . 2)
 ("libraries" . 2)
 ("mallard" . 2)
 ("workspaces" . 2)
 ("extentions" . 2)
 ("narrow" . 2)
 ("view" . 2)
 ("nyan" . 2)
 ("cat" . 2)
 ("lulz" . 2)
 ("browser" . 2)
 ("literate programming" . 2)
 ("reproducible research" . 2)
 ("notes" . 2)
 ("jekyll" . 2)
 ("filtering" . 2)
 ("asciidoc" . 2)
 ("restructuredtext" . 2)
 ("pcomplete" . 2)
 ("switch" . 2)
 ("speedbar" . 2)
 ("check" . 2)
 ("rcirc" . 2)
 ("layout" . 2)
 ("scala" . 2)
 ("yank" . 2)
 ("plain text" . 2)
 ("find" . 2)
 ("remember" . 2)
 ("spell" . 2)
 ("sphinx" . 2)
 ("comms" . 2)
 ("swoop" . 2)
 ("inner" . 2)
 ("thesaurus" . 2)
 ("spelling" . 2)
 ("timer" . 2)
 ("minor mode" . 2)
 ("time" . 2)
 ("toml" . 2)
 ("tramp" . 2)
 ("vagrant" . 2)
 ("visual" . 2)
 ("feedback" . 2)
 ("external" . 2)
 ("lines" . 2)
 ("wikipedia" . 2)
 ("cut" . 2)
 ("copy" . 2)
 ("window-configuration" . 2)
 ("ahk" . 2)
 ("autohotkey" . 2)
 ("hotkey" . 2)
 ("keyboard shortcut" . 2)
 ("elixir" . 2)
 ("message" . 2)
 ("exuberant ctags" . 2)
 ("auto" . 2)
 ("client" . 2)
 ("internet" . 2)
 ("c#" . 2)
 ("imenu" . 2)
 ("killing" . 2)
 ("code" . 2)
 ("elpa" . 2)
 ("emacswiki" . 2)
 ("emacs-lisp" . 2)
 ("mpv" . 2)
 ("profile" . 2)
 ("mnemonic" . 2)
 ("gitlab" . 2)
 ("resizing" . 2)
 ("gemfile" . 2)
 ("usability" . 2)
 ("tooltip" . 2)
 ("tool" . 2)
 ("csharp" . 2)
 ("magit" . 2)
 ("publish" . 2)
 ("twitter" . 2)
 ("library" . 2)
 ("applications" . 2)
 ("solar" . 2)
 ("sunrise" . 2)
 ("sunset" . 2)
 ("rspec" . 2)
;;; keywords with a count of 1 are omitted. Run the code to se them
)



^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2015-06-09 17:19 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-04-25 16:59 Adding a few more finder keywords Artur Malabarba
2015-04-25 18:51 ` Drew Adams
2015-04-25 19:23   ` Artur Malabarba
2015-06-08 14:56 ` Oleh Krehel
2015-06-08 15:37   ` Drew Adams
2015-06-08 15:43     ` Oleh Krehel
2015-06-08 16:20       ` Drew Adams
2015-06-08 16:15   ` Artur Malabarba
2015-06-08 16:19     ` Artur Malabarba
2015-06-08 16:27       ` Drew Adams
2015-06-08 20:59   ` Stefan Monnier
2015-06-09  4:39     ` Stephen J. Turnbull
2015-06-09  6:52       ` Oleh Krehel
2015-06-09  8:02         ` Artur Malabarba
2015-06-09  8:54           ` Oleh Krehel
2015-06-09 14:22       ` Drew Adams
2015-06-09 14:47         ` Oleh Krehel
2015-06-09 16:05           ` Drew Adams
2015-06-09 16:47             ` Oleh Krehel
2015-06-09 17:19               ` Drew Adams
2015-06-09 16:08           ` Stephen J. Turnbull

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).