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

    Rework bug-reporting templates
---
 .github/ISSUE_TEMPLATE/bug_report.md | 120 +++++++++++++++++------------------
 .github/ISSUE_TEMPLATE/config.yml    |  15 +++++
 2 files changed, 73 insertions(+), 62 deletions(-)

diff --git a/.github/ISSUE_TEMPLATE/bug_report.md 
b/.github/ISSUE_TEMPLATE/bug_report.md
index edda64d99f..2829b6cb86 100644
--- a/.github/ISSUE_TEMPLATE/bug_report.md
+++ b/.github/ISSUE_TEMPLATE/bug_report.md
@@ -5,15 +5,14 @@ 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.
+<!-- To continue,  you will need to provide some elements
+     including a description of a [MINIMUM REPRODUCIBLE EXAMPLE][1] (MRE).  If
+     you don't have that, DON'T CREATE AN BUG REPORT ISSUE.  
   
      👉 Need help configuring or understanding Emacs, Eglot, or LSP?
-       Have an idea for a feature?  Please DON'T OPEN A NEW ISSUE!
+       Have an idea for a feature?  Strongly sususpect there is an
+       Eglot bug, but can't supply a MINIMUM REPRODUCIBLE EXAMPLE?
+       Please DON'T OPEN A NEW BUG REPORT ISSUE!
   
        Head to https://github.com/joaotavora/eglot/discussions to
        discuss.  Start a new discussion, there are no templates there,
@@ -28,13 +27,6 @@ assignees: ''
        send email to `bug-gnu-em...@gnu.org`.  Be sure to `CC:` (or
        better, `X-Debbugs-CC:` ) Eglot's maintainer, currently
        `joaotav...@gmail.com`.
-  
-     To make an issue, you need to provide some elements, which aren't
-     hard to find.  Can't find all the elements for this template?
-     No problem, just make a discussion 👆.
-
-     Here's an example of a 👌 fine issue report following this template:
-     https://github.com/joaotavora/eglot/issues/696
      
      If you don't provide the needed elements, WE MAY CLOSE THE ISSUE
      JUST LIKE THAT 😐. 
@@ -84,59 +76,63 @@ Debugger entered--Lisp error: (error "oh no")
   command-execute(pp-eval-expression)
 ```
    
-#### Minimal configuration (mandatory)
+#### Minimum Reproducible Example (mandatory)
 <!-- DO NOT SKIP: 
-
-     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 and don't have time to replicate your complex configuration 
-     and environment, so you need to provide a MINIMAL, REPRODUCIBLE and 
-     COMPLETE recipe.
      
-     How to do this?  The easiest recipes just start Emacs from the shell:
+     You need to provide a MINIMAL, REPRODUCIBLE and COMPLETE recipe.
+     This is the bit most trouble to some people.  So please, I kindly
+     ask that you read [this first][1] for a general idea of what is
+     requested.  
+     
+     You have to create a short guide to help us replicate the problem
+     JUST AS IT HAPPENED TO YOU.  Make sure to double check that
+     following your own guide leads to the problem reliably.
 -->
      
- ```sh
- # 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 
- ```
- 
- <!-- Then you add a bit of Elisp code that can be typed into *scratch* -->
- 
- ```lisp
- ;; Example of a minimal 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)
-  ```
- 
- <!-- WHEW!! THANK YOU!
+Make sure to describe:
+
+1. How Emacs is started
+
+3. Where the language server executable lives in the machine and how
+   it is installed
+   
+4. What project files are needed to demonstrate the problem.  Please
+   don't say "_just open any Zglorb source file_".
+
+   Don't assume the Eglot maintainers have any time to learn about a
+   specific programming language and its associated toolchain. Attach
+   the actual file or files, or link to a repository containing them.
+   
+5. How Emacs is operated/configured before you invoke Eglot
+
+6. How Emacs is operated after you invoke Eglot
+
+7. What actions must be taken for the problem to manifest itself
+
+8. What the expected behaviour is
+
+9. What the observed behaviour is
+
+10. IMPORTANT: Double check that doing steps 1-9 all over again by
+   yourself leads to the error.
+   
+You don't HAVE to follow this guide if you are confident you can
+describe your own [COMPLETE, MINIMAL and REPRODUCIBLE][1] recipe.  See
+https://github.com/joaotavora/eglot/issues/696 for a good example of
+an issue following this template.
  
-      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.
+ <!-- THANK YOU!
  
-      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)
+      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.  
       
-      If reproducing your error requires others files and or programs,
-      you NEED TO ADD snippets for them or provide links to them.
+      If you find that building the MRE takes a lot of work, well,
+      that may be so, but keep in mind that that work will have to be
+      expended at least once to solve your problem, and it's often the
+      most time-consuming task.  So it pays if you can do that work
+      upfront.
+ 
+      Thank you very much. -->
 
-      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). -->
+[1]: https://stackoverflow.com/help/minimal-reproducible-example
diff --git a/.github/ISSUE_TEMPLATE/config.yml 
b/.github/ISSUE_TEMPLATE/config.yml
new file mode 100644
index 0000000000..02577de421
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/config.yml
@@ -0,0 +1,15 @@
+blank_issues_enabled: false
+contact_links:
+  - name: "Discuss Eglot, request features, report bugs informally"
+    url: https://github.com/joaotavora/eglot/discussions
+    about: Ask questions, request features, answer questions
+  - name: "Additional Support: Emacs Help"
+    url: https://lists.gnu.org/mailman/listinfo/help-gnu-emacs
+    about: Search, ask and answer questions
+  - name: "Additional Support: Emacs StackExchange"
+    url: https://emacs.stackexchange.com/questions/tagged/eglot
+    about: Search, ask and answer questions
+  - name: "Additional Support: Emacs Reddit"
+    url: https://www.reddit.com/r/emacs
+    about: Search, ask and answer questions
+  

Reply via email to