unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Mauro Aranda <maurooaranda@gmail.com>
To: Daniel Pettersson <daniel@dpettersson.net>, emacs-devel@gnu.org
Subject: Re: [ELPA] New package: dape
Date: Sun, 15 Oct 2023 10:55:37 -0300	[thread overview]
Message-ID: <d41b5330-17d1-4362-878b-51c2918b0c16@gmail.com> (raw)
In-Reply-To: <CAM-j=qtkFwnDWJp2t50UoxmVG3kH5ksMYbPfkqwp6xroJqKbKg@mail.gmail.com>

On 13/10/23 07:35, Daniel Pettersson wrote:

I have some comments about the defcustoms in dape.el:

 > (defcustom dape-configs nil
 >   "This variable holds the Dape configurations as an alist.
 > In this alist, the car element serves as a symbol identifying each
 > configuration.  Each configuration, in turn, is a property list (plist)
 > where keys can be symbols or keywords.
 >
 > Symbol Keys (Used by Dape):
 > - command: Shell command to initiate the debug adapter.
 > - command-args: List of string arguments for the command.
 > - command-cwd: Working directory for the command.
 > - host: Host of the debug adapter.
 > - port: Port of the debug adapter.
 > - modes: List of modes where the configuration is active in `dape'
 >   completions.
 > - compile: Executes a shell command with `dape-compile-fn'.
 >
 > Debug adapter connection in configuration:
 > - If only command is specified (without host and port), Dape
 >   will communicate with the debug adapter through stdin/stdout.
 > - If both host and port are specified, Dape will connect to the
 >   debug adapter.  If `command is specified, Dape will wait until the
 >   command is initiated before it connects with host and port.
 >
 > Keywords in configuration:
 >   Keywords are transmitted to the adapter during the initialize and
 >   launch/attach requests.  Refer to `json-serialize' for detailed
 >   information on how Dape serializes these keyword elements.  Dape
 >   uses nil as false.
 >
 > Functions and symbols in configuration:
 >  If a value in a key is a function, the function's return value will
 >  replace the key's value before execution.
 >  If a value in a key is a symbol, the symbol will recursively resolve
 >  at runtime."
 >   :type '(alist :key-type (symbol :tag "Name")
 >                 :value-type
 >                 (plist :options
 >                        (((const :tag "Shell command to start the 
debug adapter" command) string)
 >                         ((const :tag "List of string arguments for 
command" command-args) (list string))
 >                         ((const :tag "Working directory for command" 
command-cwd) string)
 >                         ((const :tag "Host of debug adapter" host) 
string)
 >                         ((const :tag "Port of debug adapter" port) 
integer)
 >                         ((const :tag "List of modes where config is 
active in `dape' completions" modes) function)
 >                         ((const :tag "Runs shell command with 
`dape-compile-fn'" compile) function)
 >                         (keyword sexp)))))

(keyword sexp) as the last :options looks really weird.  Are you sure
that is the intention?

 > (defcustom dape-key-prefix "\C-x\C-a"
 >   "Prefix of all dape commands."
 >   :type 'key-sequence)

If you're going to depend on 29.1, then perhaps it's better to use 'key,
since a decision was made to obsolete 'key-sequence.  If something
doesn't work with 'key but works with 'key-sequence, then please report
it.

 > (defcustom dape-buffers-on-start '(dape-info dape-repl)
 >   "Dape buffers to open when debugging starts."
 >   :type '(list (const dape-info) (const dape-repl)))

This doesn't allow for any customization at all when using Customize.  I
think you want to use '(repeat function)

 > (defcustom dape-main-functions '("main")
 >   "Functions to set breakpoints at startup if no other breakpoints 
are set."
 >   :type '(list string))

I think you want (repeat string) here.

 > (defcustom dape-read-memory-default-count 1024
 >   "The default count for `dape-read-memory'."
 >   :type '(integer))

Is natnum better suited here?

 > (defcustom dape--debug-on
 >   '(io info error std-server)
 >   "Types of logs should be printed to *dape-debug*."
 >   :type '(list (const :tag "dap IO" io)
 >                (const :tag "info logging" info)
 >                (const :tag "error logging" error)
 >                (const :tag "dap tcp server stdout" std-server)))

Similar to dape-buffers-on-start.



  parent reply	other threads:[~2023-10-15 13:55 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
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 [this message]
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

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=d41b5330-17d1-4362-878b-51c2918b0c16@gmail.com \
    --to=maurooaranda@gmail.com \
    --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 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).