lentil 1.3.2.0 → 1.4.0.0
raw patch · 13 files changed
+55/−35 lines, 13 filesdep ~dlistdep ~megaparsecdep ~optparse-applicative
Dependency ranges changed: dlist, megaparsec, optparse-applicative
Files
- changes.txt +6/−0
- issues.txt +7/−3
- lentil.cabal +16/−12
- src/Lentil/File.hs +5/−1
- src/Lentil/Parse/Syntaxes.hs +2/−0
- src/Main.hs +8/−4
- test/Lentil/FileSpec.hs +7/−0
- test/Lentil/Parse/RunSpec.hs +0/−3
- test/test-files/specific/uppercase.C +0/−12
- test/test-files/test-proj/upper/prova.F +1/−0
- test/test-files/test-proj/upper/prova1.cpp +1/−0
- test/test-files/test-proj/upper/prova2.cPp +1/−0
- test/test-files/test-proj/upper/prova3.Cpp +1/−0
changes.txt view
@@ -1,3 +1,9 @@+1.4.0.0+-------++- Released Fri 30 Oct 2020 23:53:16 CET+- Fixed bug: now finds/regocnised uppercase extensions (`.R`, `.Cpp`, etc.)+ 1.3.2.0 -------
issues.txt view
@@ -8,7 +8,7 @@ skipped?) [request] [2017] src/Lentil/File.hs- 68 combine funziona su windows? [test]+ 69 combine funziona su windows? [test] src/Lentil/Parse/Run.hs 147 Row should be carried on by issues, not be manually set! [refactor]@@ -22,12 +22,16 @@ difficult since they are html/js/css + embedded Haskell. [u:1] [request] 36 Consider using https://github.com/github/semantic ? [design]- 110 rst parser doesn't respect whitespace or paragraphs. How to+ 45 lowercase does not work (not recognised, .r vs. .R) [bug]+ 112 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]+ 16 lentil con lexer? [design]+ 17 lentil <-- invoke with lentil . or lentil --help [feature:basic] test/Lentil/FileSpec.hs- 38 excluding files fails on MS Windows! Check why! [u:3] [bug]+ 34 do not allow duplicate issues [bug]+ 39 excluding files fails on MS Windows! Check why! [u:3] [bug]
lentil.cabal view
@@ -1,20 +1,21 @@ name: lentil-version: 1.3.2.0+version: 1.4.0.0 synopsis: frugal issue tracker description: minumum effort, cohesive issue tracker based on ubiquitous @TODO@s and @FIXME@s conventions.- Check homepage for manual, tutorial, examples.+ Check homepage for manual, tutorial, binaries,+ examples. homepage: http://www.ariis.it/static/articles/lentil/page.html license: GPL-3 license-file: LICENSE author: Francesco Ariis <fa-ml@ariis.it> et al. (check authors.txt) maintainer: Francesco Ariis <fa-ml@ariis.it>-copyright: © 2015-2019 Francesco Ariis et al. (check authors.txt)+copyright: © 2015-2020 Francesco Ariis et al. (check authors.txt) category: Development, Project Management stability: Stable build-type: Simple-tested-with: GHC==8.0.1, GHC==8.2.2, GHC==8.4.1, GHC==8.6.1+tested-with: GHC==8.4.1, GHC==8.6.1, GHC==8.8.3 extra-source-files: stack.yaml, test/test-files/lang-comm/clang.c, test/test-files/lang-comm/haskell.hs,@@ -37,7 +38,6 @@ test/test-files/lang-comm/text.txt, test/test-files/specific/contiguous.c, test/test-files/specific/cont-custom.c,- test/test-files/specific/uppercase.C, test/test-files/specific/xyz.xyz, test/test-files/specific/custom-fwords.c, test/test-files/test-proj/base-case/fold-a/foo1.hs,@@ -47,7 +47,11 @@ test/test-files/test-proj/base-case/fold-c/sub-fold/foo5.hs, test/test-files/test-proj/dot-folders/foo1.hs, test/test-files/test-proj/dot-folders/.alfa/foo1.hs,- test/test-files/test-proj/dot-folders/_beta/foo1.hs+ test/test-files/test-proj/dot-folders/_beta/foo1.hs,+ test/test-files/test-proj/upper/prova1.cpp,+ test/test-files/test-proj/upper/prova2.cPp,+ test/test-files/test-proj/upper/prova3.Cpp,+ test/test-files/test-proj/upper/prova.F extra-doc-files: README, changes.txt, doc/usr/page.rst, doc/usr/test.zip, issues.txt, authors.txt cabal-version: 1.24@@ -64,14 +68,14 @@ ansi-wl-pprint==0.6.*, csv==0.1.*, deepseq==1.4.*,- dlist==0.8.*,+ dlist >= 0.8 && < 1.1, directory >= 1.2 && < 1.4, filemanip==0.3.*, filepath==1.4.*,- megaparsec >= 8.0 && < 8.1,+ megaparsec >= 8.0 && < 9.1, mtl == 2.2.*, natural-sort==0.1.*,- optparse-applicative >= 0.13 && < 0.16,+ optparse-applicative >= 0.16 && < 0.17, regex-tdfa >= 1.2 && < 1.4, semigroups >= 0.18 && < 0.20, text==1.2.*,@@ -101,13 +105,13 @@ csv==0.1.*, directory >= 1.2 && < 1.4, deepseq==1.4.*,- dlist==0.8.*,+ dlist >= 0.8 && < 1.1, filemanip==0.3.*, filepath==1.4.*,- megaparsec >= 8.0 && < 8.1,+ megaparsec >= 8.0 && < 9.1, mtl == 2.2.*, natural-sort==0.1.*,- optparse-applicative >= 0.13 && < 0.16,+ optparse-applicative >= 0.16 && < 0.17, regex-tdfa >= 1.2 && < 1.4, semigroups >= 0.18 && < 0.20, text==1.2.*,
src/Lentil/File.hs view
@@ -20,6 +20,7 @@ import Data.Semigroup as S import Data.Monoid as M () +import qualified Data.Char as C import qualified Data.List as L @@ -68,7 +69,10 @@ -- TODO: combine funziona su windows? [test] extCheck = (fmap getAny . mconcat)- (map (fmap Any . (extension ==?)) (extensionList as))+ (map (fmap Any . (extension ~=?)) (extensionList as))++ (~=?) = let tl s = map C.toLower s+ in liftOp (\a b -> tl a == tl b) -- recursion predicate: excludes dot ('.') or _ folders recPred :: RecursionPredicate
src/Lentil/Parse/Syntaxes.hs view
@@ -42,6 +42,8 @@ extensionList :: [Alias] -> [String] extensionList as = concatMap fst languages ++ map fst as +-- TODO [bug] lowercase does not work (not recognised, .r vs. .R)+ langParser :: String -> MaybePar langParser fp = lookupExt languages ext where ext = map C.toLower (SF.takeExtension fp)
src/Main.hs view
@@ -13,6 +13,8 @@ -- todo [feature:basic] ignore dist dist-newstyle and common folders -- todo [feature:basic] help su `lentil` più semplie (`use lentil .`)+-- todo [design] lentil con lexer?+-- todo [feature:basic] lentil <-- invoke with lentil . or lentil --help main :: IO () main = I.hSetBuffering I.stderr I.NoBuffering >> -- b/c progress bar@@ -24,16 +26,18 @@ -- overt help text (even in condensed help) helpOvert :: Parser (a -> a)-helpOvert = abortOption ShowHelpText $ mconcat [ long "help",- short 'h',- help "Show this help text" ]+helpOvert = abortOption sht $ mconcat [ long "help",+ short 'h',+ help "Show this help text" ]+ where+ sht = ShowHelpText Nothing version :: Parser (a -> a) version = infoOption versionCopy ( long "version" S.<> short 'v' S.<> help "show version and copyright info" ) where- versionCopy = "\nlentil - frugal issue tracker, version 1.3.1.0\n\+ versionCopy = "\nlentil - frugal issue tracker, version 1.4.0.0\n\ \(C) 2015-2019 Francesco Ariis - http://www.ariis.it\n\ \released under the GNU General Public License v3\n"
test/Lentil/FileSpec.hs view
@@ -31,6 +31,7 @@ findIssues [] [] [bas ++ "fold-a/foo1.hs"] [] >>= \fiss -> length fiss `shouldBe` 1 +-- TODO do not allow duplicate issues [bug] -- it "doesn't duplicate issues" $ -- findIssues [bas ++ "", bas ++ ""] [] >>= \fiss -> -- length fiss `shouldBe` 5@@ -56,4 +57,10 @@ findIssues [] [] [bas] [] >>= \fiss -> findIssues [] [] [bas ++ "../base-case/"] [] >>= \fiss' -> length fiss `shouldBe` length fiss'+ it "does recognised capitalised ext names" $+ findIssues [] [] [fld ++ "upper/"] [] >>= \fiss ->+ length fiss `shouldBe` 3+ it "does recognised capitalised ext names in aliases" $+ findIssues [(".f", ".c")] [] [fld ++ "upper/"] [] >>= \fiss ->+ length fiss `shouldBe` 4
test/Lentil/Parse/RunSpec.hs view
@@ -37,9 +37,6 @@ (Just "single") [], Issue "test/test-files/specific/cont-custom.c" 2 (Just "single2") [Tag "hax"]]- it "does parse files with uppercase extension" $- fileParser [] [] "test/test-files/specific/uppercase.C"- `shouldReturn` spt "test/test-files/specific/uppercase.C" it "parses a .xyz file as if it were a .c file" $ fileParser [(".xyz", ".c")] [] "test/test-files/specific/xyz.xyz" `shouldReturn` spt "test/test-files/specific/xyz.xyz"
− test/test-files/specific/uppercase.C
@@ -1,12 +0,0 @@-// todo single-// comment-// Todo: single2--var c = "st/*ring"; // string-char letter = 'c' // char--/* TODO: block1 */-/* TODO: block2 [tog] */---// end (this file tests uppercase extensions)
+ test/test-files/test-proj/upper/prova.F view
@@ -0,0 +1,1 @@+// todo baz
+ test/test-files/test-proj/upper/prova1.cpp view
@@ -0,0 +1,1 @@+// todo bar
+ test/test-files/test-proj/upper/prova2.cPp view
@@ -0,0 +1,1 @@+// todo barxy
+ test/test-files/test-proj/upper/prova3.Cpp view
@@ -0,0 +1,1 @@+// todo foo