branch: elpa/flymake-collection
commit ff7782bfbbcebc8bb1c0b5553850c375f1733887
Author: Mohsin Kaleem <mohk...@kisara.moe>
Commit: Mohsin Kaleem <mohk...@kisara.moe>

    README: Update Contributing and add Related Packages
---
 README.org                | 65 ++++++++++++++++++++++++++++++++++++++++++-----
 src/flymake-collection.el |  2 +-
 2 files changed, 59 insertions(+), 8 deletions(-)

diff --git a/README.org b/README.org
index 3585685ccf..6c50897f35 100644
--- a/README.org
+++ b/README.org
@@ -14,7 +14,8 @@ for use with flymake, give users the tools to easily define 
new syntax checkers
 help selectively enable or disable diagnostic-functions based on major-modes.
 
 The goal of this project is to make the transition from flycheck to flymake as 
easy
-as possible.
+as possible, and to act as a catching ground for all the checkers that don't 
already
+have a flymake backend available.
 
 * Table of Contents                                                     :TOC:
 - [[#installation][Installation]]
@@ -22,6 +23,10 @@ as possible.
   - [[#from-melpa][From MELPA]]
   - [[#configurations][Configurations]]
 - [[#contributing][Contributing]]
+- [[#related-packages][Related Packages]]
+  - [[#flymake-flycheck][flymake-flycheck]]
+  - [[#flymake-quickdef][flymake-quickdef]]
+  - [[#flymake-proselint-flymake-shellcheck-etc][flymake-proselint, 
flymake-shellcheck, etc.]]
 - [[#appendix][Appendix]]
 
 * Installation
@@ -119,16 +124,62 @@ as possible.
      ~flymake-collection-config~ using the ~flymake-collection-change-checker~ 
command.
 
 * Contributing
-  Please do!. There are more linters out there than I have the time to 
explore, if
-  you'd like to add support for a new linter or contribute improvements to an
+  Please do!. There are more checkers out there than I have the time to 
explore, if
+  you'd like to add support for a new checker or contribute improvements to an
   existing one, we'd be more than happy to accept.
 
-  When contributing please describe the exact version of the linter you're 
adding and
-  supply a sample file which triggers all the different lint types (info, 
error,
-  warning) supported by your linter.
+  Tests can be found in [[file:tests/checkers/]]. The 
[[file:tests/checkers/installers/][installers]] directory is where bash
+  scripts are setup to install the checker on ~ubuntu:20.04~. Actual 
[[file:tests/checkers/test-cases/][test-cases]] are
+  declarative YAML configurations that run a given checker function on a given 
file
+  with the latest version of flymake and your local ~flymake-collection~ 
repository and
+  then examines the results. See 
[[file:tests/checkers/test-cases/pylint.yml][pylint.yml]] for an example.
+  *Please supply installer and test-cases for any contributed checkers as 
well.*
+
+  To run locally you can use the supplied Makefile with ~make lint~ compiling 
all your
+  local elisp files and ~make test~ running the test-cases within docker. If 
you do not
+  have docker setup the CI/CD pipeline on this repo will automatically lint 
and test
+  when you open a PR.
+
+* Related Packages
+** [[https://github.com/purcell/flymake-flycheck][flymake-flycheck]]
+   Provides a bridge between flymake and flycheck. It allows you to use all of 
the
+   checker functions already exposed through flycheck with flymake. This would 
be
+   useful if you're intent on using both flycheck and flymake or need to use 
flymake
+   but require a checker that's only available with flycheck.
+
+   ~flymake-collection~ doesn't bridge flycheck and flymake, it re-implements 
several
+   flycheck checkers as flymake compatible ones. It also provides helpers to 
allow
+   defining checkers as easily as flycheck does (for example flymake-collection
+   provides a parallel to the convenient ~:error-patterns~ option of
+   ~flycheck-define-checker~). In the end ~flymake-collection~ has no 
dependency on
+   flycheck where as ~flymake-flycheck~ does.
+
+** [[https://github.com/karlotness/flymake-quickdef][flymake-quickdef]]
+   This was the initial package I adapted into ~flymake-collection-define~ 
because I
+   needed extra functionality for pylint. It provides a helper macro to define
+   backend functions for various checkers. If you prefer a more fine grained
+   configuration or just need a standalone checker for your own use-cases it 
may be
+   easier to define one using this instead of installing ~flymake-collection~.
+
+   *Note*: All the features of ~flymake-quickdef~ (as of version 1.0.0) is also
+   supported by ~flymake-collection~. We also support some extra features such 
as
+   linting a file in the same directory as an existing file.
+
+** [[https://git.sr.ht/~manuel-uberti/flycheck-proselint][flymake-proselint]], 
[[https://github.com/federicotdn/flymake-shellcheck][flymake-shellcheck]], etc.
+   These packages provide standalone backend functions for specific checkers. 
This
+   lets you have a more modular, /what-you-need is what-you-install/ setup 
where you
+   only install flymake backends for the checkers you actually intend to use. 
If you
+   believe ~flymake-collection~ to be too large for your liking I'd recommend 
deferring
+   to one of these existing packages.
+
+   ~flymake-collection~ exists because I didn't want to have to setup and 
configure all
+   of these different backends for all the languages I use. If you'd prefer to
+   install one package and have linting work across a /collection/ of different
+   languages and possible checkers then ~flymake-collection~ may be more what 
you're
+   looking for.
 
 * Appendix                                                          :ARCHIVE:
-# LocalWords: flymake linter
+# LocalWords: flymake linter flycheck
 
 # Local Variables:
 # eval: (toc-org-mode 1)
diff --git a/src/flymake-collection.el b/src/flymake-collection.el
index 5e916f58a0..703522525d 100644
--- a/src/flymake-collection.el
+++ b/src/flymake-collection.el
@@ -1,4 +1,4 @@
-;;; flymake-collection.el --- Core features for flymake -*- lexical-binding: t 
-*-
+;;; flymake-collection.el --- Collection of checkers for flymake, bringing 
flymake to the level of flycheck -*- lexical-binding: t -*-
 
 ;; Copyright (C) 2021 Mohsin Kaleem
 

Reply via email to