From ec684f8e2843298a43ec719043b5b5c7be2f1e4d Mon Sep 17 00:00:00 2001 From: Yuchen Pei Date: Fri, 21 Oct 2022 17:19:12 +1100 Subject: updating readme with features and todos --- README.org | 37 +++++++++++++++++++++++++++++-------- 1 file changed, 29 insertions(+), 8 deletions(-) diff --git a/README.org b/README.org index 9044fa2..35e197d 100644 --- a/README.org +++ b/README.org @@ -17,14 +17,14 @@ and we want to do something about it. Sometimes, we have multiple ways to handle the object, and we would like to choose the /handler/ rather than the /object/. For example, say we want to clone the a git repo at point. In this case, the -default behaviour might be open the url with eww, but we want to use a -different handler. An adhoc way would be to implement a command that -runs a ~git clone~ process to clone the url at point. The problem is -how to invoke the command? We can do so by invoking it with M-x or -binding it to a key. Maybe yet another thing we may want to do urls -is to copy it, or run a command to fetch info and capture it into an -org entry. It can soon be exhausting to remember these commands, and -you might forget some useful commands you wrote a year ago! +default behaviour might be open the url with eww, which is not what we +want. An adhoc way would be to implement a command that runs a ~git +clone~ process to clone the url at point. The problem is how to +invoke the command? We can do so by invoking it with M-x or binding +it to a key. Maybe yet another thing we may want to do urls is to +copy it, or run a command to fetch info and capture it into an org +entry. It can soon be exhausting to remember these commands, and you +might forget some useful commands you wrote a year ago! hmm is designed to fix this problem. Depending on the context, hmm will guess the object, filter commands that handle the object, and @@ -33,6 +33,14 @@ example, where the point is in at a url to a git repo, you invoke , and a list of commands show up for you to choose from. In a sense it is like "open with". +Features: + +- Handling three kinds of entities: query, file (including directory) + and +- Auto-creation of handlers from xdg mimetype associations +- Creation of handlers from cross prodcuct of search engines and web + browsers. + * Install and use Clone the repo, add the path to load-path, require and update. @@ -51,6 +59,19 @@ Clone the repo, add the path to load-path, require and update. This binds > to the ~hmm~ command. +* TODOs + +- Include user-defined xdg mimetype associations from + ~~/.config/mimeapps.list~ etc. +- Include an file of example configs, which may require optional deps + like magit, osm etc. +- Have a default handler for each scenario, to save effort in choosing + handlers +- A quick way to set default handler for a scenario +- Allow user to choose which object type they want to handle +- Maybe use file-directory-p instead of calling external command to + check mime type agains "directory/inode" for directory recognition. + * Prior art - Emacs browse-url.el has some functions and variables like -- cgit v1.2.3