summaryrefslogtreecommitdiff
path: root/issues
diff options
context:
space:
mode:
authorArun Isaac2022-07-08 01:33:47 +0530
committerArun Isaac2022-07-08 01:33:47 +0530
commit34b45c3e2bc87984cd7b60ad0680c3b092960585 (patch)
tree4b910ed3915455b9e8d0559af09f925798fd4c75 /issues
parentfde37560ad0408b4316cb94797a7ec5e52dde394 (diff)
downloadtissue-34b45c3e2bc87984cd7b60ad0680c3b092960585.tar.gz
tissue-34b45c3e2bc87984cd7b60ad0680c3b092960585.tar.lz
tissue-34b45c3e2bc87984cd7b60ad0680c3b092960585.zip
issues: Request Emacs interface.
* issues/emacs-interface.gmi: New file.
Diffstat (limited to 'issues')
-rw-r--r--issues/emacs-interface.gmi19
1 files changed, 19 insertions, 0 deletions
diff --git a/issues/emacs-interface.gmi b/issues/emacs-interface.gmi
new file mode 100644
index 0000000..a1dec07
--- /dev/null
+++ b/issues/emacs-interface.gmi
@@ -0,0 +1,19 @@
+# Emacs interface
+
+* tags: enhancement, help wanted
+
+We have a web and CLI interfaces. It would be nice to also have an Emacs interface. We can use the current CLI interface with Emacs' shell mode, but the less pager does not play too well with it.
+
+## Interfacing Emacs with tissue
+
+To interface tissue with Emacs, we could take inspiration from the --format=sexp option of notmuch search. When notmuch search is passed a --format=sexp option, it prints out results as machine-readable S-expressions instead of as plain text. This makes the output easy to read using elisp's read function.
+=> https://notmuch.readthedocs.io/en/latest/man1/notmuch-search.html notmuch search documentation
+
+## UI
+
+The Emacs UI should probably use something like Tabulated List mode. Bonface also had some ideas for using transient.
+=> https://www.gnu.org/software/emacs/manual/html_node/elisp/Tabulated-List-Mode.html Tabulated List mode in the Emacs Lisp manual
+=> https://github.com/magit/transient transient
+=> https://issues.genenetwork.org/issues/gnbug/add-transient.html Bonface's original proposal on issues.genenetwork.org
+
+It would be very cool to have inifinite scroll and asynchronous loading of issues in the Emacs interface. On the other hand, if it is too complicated to achieve, it might not be worth it.