diff --git a/changes.txt b/changes.txt
--- a/changes.txt
+++ b/changes.txt
@@ -1,3 +1,15 @@
+1.3.2.0
+-------
+
+- Released Wed 24 Jun 2020 11:34:15 CEST
+- Added `R` language files
+
+1.3.1.0
+-------
+
+- Released Sun 29 Sep 2019 11:44:46 CEST
+- Bumped dependencies
+
 1.3.0.0
 -------
 
diff --git a/doc/usr/page.rst b/doc/usr/page.rst
--- a/doc/usr/page.rst
+++ b/doc/usr/page.rst
@@ -182,6 +182,7 @@
 - Restructured Text (Sphinx) ``.. ::todo`` directives (``.rst``)
 - Org mode for Emacs files (``.org``), both ``TODO`` and list-like items
 - Markdown files (``.md``)
+- R files (``.r``, ``.R``)
 - plain text files (``.txt``)
 
 If you want a file type ``.xyz`` to be recognised as one in the list above,
diff --git a/issues.txt b/issues.txt
--- a/issues.txt
+++ b/issues.txt
@@ -8,7 +8,7 @@
         skipped?) [request] [2017]
  
 src/Lentil/File.hs
-    69  combine funziona su windows? [test]
+    68  combine funziona su windows? [test]
  
 src/Lentil/Parse/Run.hs
    147  Row should be carried on by issues, not be manually set! [refactor]
@@ -21,11 +21,13 @@
     32  scanner for yesod templates (hamlet/julius/casius) which are a bit
         difficult since they are html/js/css + embedded Haskell. [u:1]
         [request]
-   107  rst parser doesn't respect whitespace or paragraphs. How to
+    36  Consider using https://github.com/github/semantic ? [design]
+   110  rst parser doesn't respect whitespace or paragraphs. How to
         implement this without breaking other parsers? [bug] [design]
  
 src/Main.hs
     14  ignore dist dist-newstyle and common folders [feature:basic]
+    15  help su `lentil` più semplie (`use lentil .`) [feature:basic]
  
 test/Lentil/FileSpec.hs
     38  excluding files fails on MS Windows! Check why! [u:3] [bug]
diff --git a/lentil.cabal b/lentil.cabal
--- a/lentil.cabal
+++ b/lentil.cabal
@@ -1,5 +1,5 @@
 name:                lentil
-version:             1.3.1.0
+version:             1.3.2.0
 synopsis:            frugal issue tracker
 description:         minumum effort, cohesive issue tracker based on
                      ubiquitous @TODO@s and @FIXME@s conventions.
@@ -30,6 +30,7 @@
                      test/test-files/lang-comm/erlang.erl,
                      test/test-files/lang-comm/ocaml.ml,
                      test/test-files/lang-comm/rust.rs,
+                     test/test-files/lang-comm/r.r,
                      test/test-files/lang-comm/standard-ml.sml,
                      test/test-files/lang-comm/rst.rst,
                      test/test-files/lang-comm/org-mode.org,
@@ -67,7 +68,7 @@
                        directory    >= 1.2 && < 1.4,
                        filemanip==0.3.*,
                        filepath==1.4.*,
-                       megaparsec==7.0.*,
+                       megaparsec >= 8.0 && < 8.1,
                        mtl == 2.2.*,
                        natural-sort==0.1.*,
                        optparse-applicative >= 0.13 && < 0.16,
@@ -103,7 +104,7 @@
                        dlist==0.8.*,
                        filemanip==0.3.*,
                        filepath==1.4.*,
-                       megaparsec==7.0.*,
+                       megaparsec >= 8.0 && < 8.1,
                        mtl == 2.2.*,
                        natural-sort==0.1.*,
                        optparse-applicative >= 0.13 && < 0.16,
diff --git a/src/Lentil/Args.hs b/src/Lentil/Args.hs
--- a/src/Lentil/Args.hs
+++ b/src/Lentil/Args.hs
@@ -14,7 +14,6 @@
 import Lentil.Helpers
 
 import Options.Applicative
-import Data.Semigroup ( (<>) )
 import qualified Data.Char  as C
 import qualified Data.Maybe as M
 
diff --git a/src/Lentil/Parse/Run.hs b/src/Lentil/Parse/Run.hs
--- a/src/Lentil/Parse/Run.hs
+++ b/src/Lentil/Parse/Run.hs
@@ -147,9 +147,9 @@
 -- todo [refactor] Row should be carried on by issues, not be manually set!
 setRow :: Row -> ParIssue ()
 setRow r = updateParserState
-             (\(State i o (PosState pix po (SourcePos n _ cx) tw lp)) ->
+             (\(State i o (PosState pix po (SourcePos n _ cx) tw lp) es) ->
                 let l' = mkPos r in
-               State i o (PosState pix po (SourcePos n l' cx) tw lp))
+               State i o (PosState pix po (SourcePos n l' cx) tw lp) es)
 
 
 ------------------
diff --git a/src/Lentil/Parse/Syntaxes.hs b/src/Lentil/Parse/Syntaxes.hs
--- a/src/Lentil/Parse/Syntaxes.hs
+++ b/src/Lentil/Parse/Syntaxes.hs
@@ -75,6 +75,7 @@
               ([".sml"],                Just sml),
               ([".rst"],                Just rst), -- reStructuredText
               ([".org"],                Just org), -- org-mode
+              ([".r"],                  Just perl), -- R
               ([".txt", ".md"],         Just text) ]
 
 haskell, c, javascript, pascal, python, ruby, perl, nix,
diff --git a/src/Lentil/Query.hs b/src/Lentil/Query.hs
--- a/src/Lentil/Query.hs
+++ b/src/Lentil/Query.hs
@@ -25,11 +25,11 @@
 
 -- chains (boolean `and`) some partially applied filters
 filterAnd :: [[Issue] -> [Issue]] -> [Issue] -> [Issue]
-filterAnd fs is = foldl (\r f -> L.intersect r (f is)) is fs
+filterAnd fs is = L.foldl' (\r f -> L.intersect r (f is)) is fs
 
 -- chains (boolean `or`) some partially applied filters
 filterOr :: [[Issue] -> [Issue]] -> [Issue] -> [Issue]
-filterOr fs is = foldl (\r f -> L.union r (f is)) [] fs
+filterOr fs is = L.foldl' (\r f -> L.union r (f is)) [] fs
 
 filterFilepath :: RegExp -> [Issue] -> [Issue]
 filterFilepath r is = filter ((=~ r) . iFile) is
diff --git a/src/Main.hs b/src/Main.hs
--- a/src/Main.hs
+++ b/src/Main.hs
@@ -12,6 +12,7 @@
 import qualified System.IO as I
 
 -- todo [feature:basic] ignore dist dist-newstyle and common folders
+-- todo [feature:basic] help su `lentil` più semplie (`use lentil .`)
 
 main :: IO ()
 main = I.hSetBuffering I.stderr I.NoBuffering >> -- b/c progress bar
diff --git a/test/Lentil/Parse/RunSpec.hs b/test/Lentil/Parse/RunSpec.hs
--- a/test/Lentil/Parse/RunSpec.hs
+++ b/test/Lentil/Parse/RunSpec.hs
@@ -106,4 +106,7 @@
     it "parses a org-mode source" $
         fileParser [] [] "test/test-files/lang-comm/org-mode.org"
             `shouldReturn` spt "test/test-files/lang-comm/org-mode.org"
+    it "parses an R source" $
+        fileParser [] [] "test/test-files/lang-comm/r.r"
+            `shouldReturn` spt "test/test-files/lang-comm/r.r"
 
diff --git a/test/test-files/lang-comm/r.r b/test/test-files/lang-comm/r.r
new file mode 100644
--- /dev/null
+++ b/test/test-files/lang-comm/r.r
@@ -0,0 +1,11 @@
+# TODO: single
+# comment
+## todo single2
+
+a <- function (x) { x } # string
+x <- 'x'
+
+# todo block1
+#   todo block2 [tog]
+
+#  end
