From: Philip Kaludercic <philipk@posteo.net>
To: Daniel Pettersson <daniel@dpettersson.net>
Cc: emacs-devel@gnu.org
Subject: Re: [ELPA] New package: dape
Date: Sat, 14 Oct 2023 14:54:32 +0000 [thread overview]
Message-ID: <87lec58dav.fsf@posteo.net> (raw)
In-Reply-To: <CAM-j=qvnXsakVmWqjdqDOYz2ju20JCYQg9f47s0QyGuZynastA@mail.gmail.com> (Daniel Pettersson's message of "Sat, 14 Oct 2023 14:28:03 +0200")
[-- Attachment #1: Type: text/plain, Size: 403 bytes --]
Daniel Pettersson <daniel@dpettersson.net> writes:
> On Fri, Oct 13, 2023 at 2:24 PM Philip Kaludercic <philipk@posteo.net> wrote:
>> Very interesting!
> Thank you for your interest :)
I have tried to try it out right now, but because I've never used DAP
before, I am not sure how to get it running properly. Nevertheless, I
think it would be useful to have something along these lines:
[-- Attachment #2: Type: text/plain, Size: 1909 bytes --]
diff --git a/dape.el b/dape.el
index 3b27104..e24b0ea 100644
--- a/dape.el
+++ b/dape.el
@@ -2320,22 +2320,24 @@ If SKIP-FUNCTIONS function values are not called during evaluation."
(defun dape--read-config ()
"Read config name and options."
- (let ((candidate
- (completing-read "Dape config: "
- (append
- (mapcan
- (lambda (name-config)
- (let* ((config (cdr name-config))
- (modes (plist-get config 'modes)))
- (when (apply 'provided-mode-derived-p major-mode modes)
- (list (car name-config)))))
- dape-configs)
- dape--config-history)
- nil nil nil 'dape-history)))
- (if-let ((config
- (alist-get (intern candidate) dape-configs)))
- (list (intern candidate) config)
- (dape--config-from-string candidate))))
+ (if (null dape-configs)
+ (customize-variable 'dape-configs)
+ (let ((candidate
+ (completing-read "Dape config: "
+ (append
+ (mapcan
+ (lambda (name-config)
+ (let* ((config (cdr name-config))
+ (modes (plist-get config 'modes)))
+ (when (apply 'provided-mode-derived-p major-mode modes)
+ (list (car name-config)))))
+ dape-configs)
+ dape--config-history)
+ nil nil nil 'dape-history)))
+ (if-let ((config
+ (alist-get (intern candidate) dape-configs)))
+ (list (intern candidate) config)
+ (dape--config-from-string candidate)))))
\f
;;; Hover
[-- Attachment #3: Type: text/plain, Size: 1957 bytes --]
Another interesting idea to pursue might be to have modular UIs.
Instead of splitting up the current Emacs frame, I think a minimalist,
more edebug-like interface would be nice, where variable values could be
displayed using overlays instead of having a separate buffer.
>> Here are a few comments and suggestions I found from a brief skim over
>> the code:
> I made some updates based on your suggestions and added a todo for
> Compat.
Note that you don't need to add Compat just for `defvar-keymap', as you
could also just use the traditional method of defining a keymap instead:
--8<---------------cut here---------------start------------->8---
(defvar dape-global-map
(let ((map (make-sparse-keymap)))
(define-key map "d" #'dape)
;; ...
map))
--8<---------------cut here---------------end--------------->8---
> Couldn't bring myself to fix all of the checkdoc stuff, but made
> some improvments.
It is not urgent or in any way blocking inclusion to GNU ELPA, it is
just something I think one should keep in mind in the long-term to make
maintaining and contributing to the package easier.
>> Also, sorry for bringing this up, but how married are you to the name?
> I'm not overly attached to it. What are your objections? And do you have
> any suggestions? I find it quite difficult to name things like this.
It just doesn't say that much, and I don't know if it is intended, but
the usual way I would read/pronounce it (rhyming with cape) wouldn't
immediately signal any relation to DAP. Note that you can use (elisp)
Shorthands to avoid writing out a longer name inside the file, in case a
longer name like debuger-adapter. It seems there is no package by the
name of "dbg"? If we are not interested in a self-descriptive and
memorable name, and would want to create a parallel to Eglot (IIRC Emacs
polyGLOT), perhaps something like based on "Emacs Debugger" (Egger?
Ebugger? Edebugger?) might be possible as well.
next prev parent reply other threads:[~2023-10-14 14:54 UTC|newest]
Thread overview: 49+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-10-13 10:35 [ELPA] New package: dape Daniel Pettersson
2023-10-13 12:24 ` Philip Kaludercic
2023-10-14 12:28 ` Daniel Pettersson
2023-10-14 14:54 ` Philip Kaludercic [this message]
2023-10-15 13:50 ` James Thomas
2023-10-15 14:12 ` Philip Kaludercic
2023-10-15 17:24 ` John Yates
2023-10-18 21:54 ` Daniel Pettersson
2023-10-19 2:08 ` Adam Porter
2023-10-19 10:52 ` Krister Schuchardt
2023-10-19 11:06 ` Dmitry Gutov
2023-10-20 14:53 ` John Yates
2023-11-01 19:13 ` Dmitry Gutov
2023-11-02 14:42 ` João Távora
2023-11-04 9:51 ` Daniel Pettersson
2023-11-04 10:00 ` Philip Kaludercic
2023-11-23 6:10 ` Philip Kaludercic
2023-12-05 8:41 ` Philip Kaludercic
2023-12-05 9:18 ` João Távora
2023-12-05 10:59 ` Philip Kaludercic
2023-12-05 11:29 ` João Távora
2023-12-06 3:57 ` Richard Stallman
2023-12-06 10:09 ` Daniel Pettersson
2023-12-06 12:30 ` Eli Zaretskii
2023-12-06 12:56 ` João Távora
2023-12-06 13:08 ` Eli Zaretskii
2023-12-06 13:38 ` João Távora
2023-12-06 17:00 ` Eli Zaretskii
2023-12-06 23:03 ` João Távora
2023-12-06 23:55 ` Daniel Pettersson
2023-12-07 7:13 ` Eli Zaretskii
2023-11-04 13:46 ` Adam Porter
2023-11-04 14:01 ` Eli Zaretskii
2023-11-04 14:24 ` Philip Kaludercic
2023-11-04 15:06 ` Adam Porter
2023-11-04 15:27 ` Philip Kaludercic
2023-11-04 14:53 ` Adam Porter
2023-11-04 15:14 ` Eli Zaretskii
2023-11-04 19:15 ` Adam Porter
2023-11-04 23:21 ` João Távora
2023-11-07 10:19 ` Daniel Pettersson
2023-11-07 10:40 ` João Távora
2023-11-08 8:31 ` Daniel Pettersson
2023-10-19 15:12 ` Philip Kaludercic
2023-10-19 17:50 ` Björn Bidar
2023-11-01 16:50 ` Philip Kaludercic
2023-10-15 13:55 ` Mauro Aranda
2023-10-17 20:39 ` Daniel Pettersson
2023-10-20 5:49 ` Milan Glacier
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87lec58dav.fsf@posteo.net \
--to=philipk@posteo.net \
--cc=daniel@dpettersson.net \
--cc=emacs-devel@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.