~theo/edap

Make process

* eglot.el (edap--init-session): Simplify the init.  Just use the
project and its name.  This is probably not what we want in the end,
but we'll go with it for now.

(edap-start-debug): New function.  Create a process and attach it to
the current session, if there's one.  Later this function will also
initiate the handshake with the debug adapter.

(edap--make-process): New function.  This function creates the process
used to communicate with the debug adapter.  We can either connect
over pipe, or over network.  We'll supply launch arguments which
should be part of the api we use for the different languages debug
adapter.  This api will be settled later.
Add initial README.md

* README.md: New file for documentation.
Initial commit for Edap

* edap.el (cl-lib, project, json): Add some relevant dependencies.

(edap-session): This is a class representing a debug session for a
whole project.  It contains things such as process information,
breakpoints, sequence of requests etc.

(edap--sessions-by-project, edap--cached-session, edap-current-session)
(edap-current-session-or-lose): New functions and defvars responsible
for linking a buffer with a debug session.  It is modelled after
Eglot, for familiarity and practical reasons.

(edap--maybe-manage-buffer): Helper to ensure that we can
automatically bind a session object to a major mode.

(find-file-hook): Use edap--maybe-manage-buffer.
(after-change-major-mode-hook): Use edap--maybe-manage-buffer.

(edap--init-session, edap--shutdown-session): Helpers for the main
entry points.

(edap-mode-map): New defvar.

(edap, edap-shutdown): Main entry points.  Edap defines a minor mode
in the style of Eglot.

(edap--managed-mode, edap--managed-mode-off): Helpers for the minor
mode.

(edap--protocol-message, edap--request, edap-request)
(edap-handle-response, edap--initialization-arguments): Initial API.
Will be fleshed out later.
Add .dir-locals.el

* .dir-locals.el: Add in settings to help with maintaining commit
style.
Add LICENSE

* LICENSE: Add GPLv3
Do not follow this link