branch: externals/eglot
commit fc221c8b8af33363a6a8d1e07950dc01555f6c9b
Author: João Távora <joaotav...@gmail.com>
Commit: João Távora <joaotav...@gmail.com>

    Overhaul bug reporting template
    
    Just stress some points slightly more so that people actually follow
    the instructions.
---
 .github/ISSUE_TEMPLATE/bug_report.md | 111 +++++++++++++++++++++--------------
 1 file changed, 67 insertions(+), 44 deletions(-)

diff --git a/.github/ISSUE_TEMPLATE/bug_report.md 
b/.github/ISSUE_TEMPLATE/bug_report.md
index 346bd02..9df438b 100644
--- a/.github/ISSUE_TEMPLATE/bug_report.md
+++ b/.github/ISSUE_TEMPLATE/bug_report.md
@@ -5,19 +5,20 @@ title: ''
 labels: ''
 assignees: ''
 ---
-
 <!-- Hello there, prospective issue reporter! Your bug reports are
      very valuable 💛.  They really are, and Eglot couldn't be made
      without them.  But there are lots of bugs and so little time.  So
-     please - do not - remove or skip parts of this template.
+
+        PLEASE - DO NOT - REMOVE OR SKIP PARTS OF THIS TEMPLATE.
   
-     👉🏽 Need help or tech support?  Have an idea for a feature?
-     Please don't open an issue!
+     👉🏽 Need help configuring or understanding Emacs, Eglot, or LSP?
+     Have an idea for a feature?  Please DON'T OPEN A NEW ISSUE!
   
      * Head to https://github.com/joaotavora/eglot/discussions to
-       discuss.  Maybe that idea is already being discussed there.
+       discuss.  Start a new discussion, there are no templates there,
+       you can say whatever you want.
   
-     * Better yet, make an Emacs bug report, which can also be used
+     * You can also make an Emacs bug report, which can also be used
        for general discussion.  You'll potentially reach more people
        this way.  You can do it via `M-x report-emacs-bug` or just
        send email to `bug-gnu-em...@gnu.org`.  Be sure to `CC:` (or
@@ -25,21 +26,26 @@ assignees: ''
        `joaotav...@gmail.com`.
   
      To make an issue, you need to provide some elements, which aren't
-     hard to find.  Unfortunately, if you don't provide these
-     elements, ** we may close the issue just like that 😐 **. -->
+     hard to find.  Can't find all the elements for this template?
+     No problem, just make a discussion 👆.
      
-[ ] Server used:               <!-- (clangd, gopls, etc..) -->
-[ ] Emacs version:             <!-- Type M-x emacs-version -->
-[ ] Eglot version:             <!-- Look in M-x list-packages or tell Git SHA 
-->
-[ ] Eglot installation method:       <!-- 
Git/package.el/straight/use-package/don't know -->
-[ ] Using Doom:                <!-- Yes/No -->
+     If you don't provide the needed elements, WE MAY CLOSE THE ISSUE
+     JUST LIKE THAT 😐 . -->
+     
+* Server used:               <!-- (clangd, gopls, etc..) -->
+* Emacs version:             <!-- Type M-x emacs-version -->
+* Operating system:          <!-- (windows/mac osx/linux/don't know -->
+* Eglot version:             <!-- Look in M-x list-packages or tell Git SHA -->
+* Eglot installation method:       <!-- 
Git/package.el/straight/use-package/don't know -->
+* Using Doom:                <!-- Yes/No -->
 
-#### LSP transcript (mandatory, unless Emacs inoperable)
-<!-- Include the invaluable **events transcript**.  Inside Emacs, you
-     can display that buffer with `M-x eglot-events-buffer`.  It
-     contains the JSONRPC messages exchanged between client and
-     server, as well as the messages the server prints to stderr.
-     Copy that text and paste it below as a formatted code block
+#### LSP transcript - M-x eglot-events-buffer (mandatory unless Emacs 
inoperable)
+<!-- DO NOT SKIP OR REMOVE: Include the invaluable LSP transcript .
+     Inside Emacs, you can display that buffer with the M-x
+     eglot-events-buffer command. It contains the JSONRPC messages
+     exchanged between client and server, as well as the messages the
+     server prints to stderr.  Copy that text and paste it below as a
+     formatted code block
      
(https://help.github.com/articles/creating-and-highlighting-code-blocks/)). -->
      
 ```lisp
@@ -49,14 +55,14 @@ assignees: ''
 ```
     
 #### Backtrace (mandatory, unless no error message seen or heard):
-<!-- If Emacs errored (you saw -- and possibly heard -- an error
-     message), make sure you repeat the process after enabling
-     backtraces with `M-x toggle-debug-on-error`.  The backtrace
-     buffer contains text that you should also include here, again as
-     a formatted code block. -->
+<!-- DO NOT SKIP OR REMOVE: If Emacs errored (you saw -- and possibly
+     heard -- an error message), make sure you repeat the process
+     after enabling backtraces with `M-x toggle-debug-on-error`.  The
+     backtrace buffer contains text that you should also include here,
+     again as a formatted code block. -->
      
 ```lisp
-... Paste the backtrace if you have it here ...
+... Paste the backtrace here ...
 Debugger entered--Lisp error: (error "oh no")
   signal(error ("oh no"))
   error("oh no")
@@ -68,36 +74,53 @@ Debugger entered--Lisp error: (error "oh no")
 ```
    
 #### Minimal configuration (mandatory)
-<!-- Are you using Doom Emacs or Spacemacs Emacs or some very special
-     pimped-out Emacs?  That's fine, but for this report we need you
-     to replicate the problem with **as clean an Emacs run as
-     possible**.
+<!-- DO NOT SKIP OR REMOVE: Are you using Doom Emacs or Spacemacs
+     Emacs or some very special pimped-out Emacs?  That's fine, but
+     for this report we need to be able to replicate the problem JUST
+     AS IT HAPPENED TO YOU.  We can't replicate your complex
+     configuration and environment, so you need to provide a MINIMAL,
+     REPRODUCIBLE and COMPLETE recipe.
      
-     Some people submit whole Git repositories with a sandboxed
-     configuration.  That's fine, but sometimes simply Git-cloning the
-     Eglot repo somewhere to your hard drive and a running this from
-     the shell is more than enough: -->
+     How to do this? Here's the easiest way provided you can use the
+     shell in your system:-->
      
  ```sh
- /path/to/a/certain/version/of/emacs -Q -f package-initialize -L 
/path/to/git-cloned/eglot -l eglot.el
+ # Type this in a shell to start an Emacs with Eglot configured
+ $ /path/to/a/certain/version/of/emacs -Q -f package-initialize -L 
/path/to/git-cloned/eglot -l eglot.el 
  ```
  
- <!-- You can then add some lines of setup like: -->
- 
  ```lisp
+ ;; Example of a minimal init.el configuration
+ ;;
  (add-to-list 'eglot-server-programs '(foo-mode "foo-server"))
  (setq eglot-special-option-2000 '(foo bar with the airplane)) 
  (some-clearly-identified-third-party-package)
- ;; Add some clear descriptions of M-x commands executed  executed
- ;; If your bug relies of the contents of files such as 
- ;; .dir-locals.el or some project file with some specific content
- ;; also do include their contents in separate code blocks.
- ```
+  ```
+ 
+ <!-- WHEW!!
  
- <!-- For some bugs it this may seem like overkill but believe us,
+      For some bugs, all this may seem like overkill but believe us,
       very often what seems like a "clear issue" is actually specific
       to some details of your setup. Having a runnable reproduction
       not only "proves" your bug to us but also allows us to spend all
       our effort fixing the bug instead of struggling to understand
-      your issue.  (this well-worded paragraph taken from Rollup's bug
-      tracker, BTW)-->
+      your issue.
+ 
+      Anyway, after you've launched Emacs + Eglot that please explain
+      what options you clicked on or what commands you entered, in a
+      way that is clear to the Eglot maintainers so they can replicate
+      the problem JUST AS IT HAPPENED TO YOU.
+      
+      If this requires some bits of .emacs or init.el configuration,
+      you need to add them (just as in the example above)
+      
+      If reproducing your error requires others files and or programs,
+      you NEED TO ADD snippets for them or provide links to them.
+
+      Some users also provide whole Git repositories perfectly
+      "sandboxing" a configuration and setup.  If you're confident on
+      how do to this, that also works.
+      
+      Thank you very much.
+      
+      (Adapted this template from RollupJS's bug tracker). -->

Reply via email to