lentil 0.1.2.4 → 0.1.2.5
raw patch · 12 files changed
+64/−58 lines, 12 files
Files
- changes.txt +7/−1
- doc/usr/page.rst +2/−1
- issues.txt +21/−35
- lentil.cabal +2/−1
- src/Lentil/Parse/Issue.hs +6/−10
- src/Lentil/Parse/Syntaxes.hs +8/−4
- src/Main.hs +1/−1
- test/Lentil/ArgsSpec.hs +0/−3
- test/Lentil/Parse/IssueSpec.hs +3/−0
- test/Lentil/Parse/RunSpec.hs +3/−0
- test/Tests.hs +0/−2
- test/test-files/lang-comm/perl.pl +11/−0
changes.txt view
@@ -1,4 +1,10 @@-0.1.2.3+0.1.2.5+-------++- Released Mon 13 Jul 2015 12:08:13 CEST+- added perl syntax (requested by larsen).++0.1.2.4 ------- - Released Wed 24 Jun 2015 07:48:28 CEST
doc/usr/page.rst view
@@ -136,9 +136,10 @@ - haskell source files (``.hs``, ``.lhs``) - C source files (``.c``, ``.h``), C++ (``.cpp``, ``.hpp``), Java (``.java``) - javascript source files (``.js``)+- pascal source files (``.pas``, ``.pp``, ``.inc``) - python source files (``.py``) - ruby source files (``.rb``)-- pascal source files (``.pas``, ``.pp``, ``.inc``)+- perl source files (``.pl``, ``.pm``, ``.t``) - plain text files (``.txt``) Every other file-type will get ignored! Contact me if you need another
issues.txt view
@@ -1,33 +1,29 @@ doc/dev/issues.txt 10 from String to Text? [feature:advanced]- 11 colorise output on regexps? [feature:advanced]- 12 allow different markups [feature:advanced]- 13 recognize module names [feature:advanced]- 14 have stuff linked to haskell-platform friendly e non template+ 11 have stuff linked to haskell-platform friendly e non template haskell and stuff [feature:intermediate]- 16 html report, come hlint [feature:advanced]- 17 symlinks? [feature:intermediate]- 18 check --output pretty, there are trailing white spaces [bug] [u:1]- 19 test con 7.6.3 [feature:basic] [test]- 20 linux kernel, lentil si inceppa su dei caratteri [bug]- 21 da cabal a hpack [u:1] [feature:advanced]- 22 ad oggi veramente lento [u:2] [refactor]- 23 sm: issue numbers is valuable [design] [request]- 24 sm: have a way to link to discussion/history of issue [design]+ 13 html report, come hlint [feature:advanced]+ 14 symlinks? [feature:intermediate]+ 15 check --output pretty, there are trailing white spaces [bug] [u:1]+ 16 test con 7.6.3 [feature:basic] [test]+ 17 linux kernel, lentil si inceppa su dei caratteri [bug]+ 18 da cabal a hpack [u:1] [feature:advanced]+ 19 sm: issue numbers is valuable [design] [request]+ 20 sm: have a way to link to discussion/history of issue [design] [request]- 25 sm: 1. lentil autogenerates numbers where missing adding tags, 2.+ 21 sm: 1. lentil autogenerates numbers where missing adding tags, 2. creates an associated numbered file in .issues/, displays associated notes written in those files is asked, 3. even update them when there is a source change. (4) these files could be webserved when they want something linkable. Vedi comments in doc/dev/issues.txt [design] [request]- 31 chickpea, lentil's brother. Two commands, add number to numberless+ 27 chickpea, lentil's brother. Two commands, add number to numberless tag (#1212 or something), create a mini db with those issues, which automatically updated and you can even write stuff in there. O maybe you can even add lentil, chickpea and quinoa. Vedi more in doc/dev/issues.txt [design]- 37 make it lazy in ouputting todos [refactor]- 38 way to 'group' (section) output by tag [feature:advanced]+ 33 make it lazy in ouputting todos [refactor]+ 34 way to 'group' (section) output by tag [feature:advanced] src/Lentil/Args.hs 23 disambiguation optparse-applicative [feature:intermediate]@@ -38,33 +34,23 @@ 51 combine funziona su windows? [feature:intermediate] src/Lentil/Parse/Issue.hs- 23 e che fare quando il todo segue un * come nei commenti lunghi c?- [design]- 63 add this to (ciString ancillaries?) [refactor]- 114 usa spaces non ' ' [fixme]- 156 specifica meglio [fixme]+ 109 usa spaces non ' ' [fixme]+ 151 specifica meglio [fixme] src/Lentil/Parse/Run.hs- 31 a function String -> [Issue]- 72 change '\n' trick [refactor] [duct]+ 32 a function String -> [Issue]+ 73 change '\n' trick [refactor] [duct] src/Lentil/Parse/Syntaxes.hs- 19 add langparsers che sia estensibile e leggibile a compilazione+ 21 add langparsers che sia estensibile e leggibile a compilazione [u:2] [feature:intermediate]- 35 multiline signature? [lint]- 36 tag at the beginning too? [design]+ 37 multiline signature? [lint]+ 38 tag at the beginning too? [design] src/Main.hs 35 add doc to use less -r when piping hIsTerminalDevice stdout [doc] -test/Lentil/ArgsSpec.hs- 12 can't test lOpts, need to make a runner and a validator on the- output from io [test]- test/Tests.hs- 3 - http://hackage.haskell.org/package/nanospec-0.2.1/docs/Test-Hspec.html- use this? [refactor]- 6 + 4 http://hackage.haskell.org/package/mockery-0.3.0/docs/Test-Mockery-Directory.html instead of folder use this? [refactor]
lentil.cabal view
@@ -1,5 +1,5 @@ name: lentil-version: 0.1.2.4+version: 0.1.2.5 synopsis: frugal issue tracker description: minumum effort, cohesive issue tracker based on ubiquitous @TODO@s and @FIXME@s conventions.@@ -20,6 +20,7 @@ test/test-files/lang-comm/pascal.pas, test/test-files/lang-comm/python.py, test/test-files/lang-comm/ruby.rb,+ test/test-files/lang-comm/perl.pl, test/test-files/lang-comm/test.txt, test/test-files/lang-comm/text.txt, test/test-files/specific/contiguous.c,
src/Lentil/Parse/Issue.hs view
@@ -20,10 +20,6 @@ import Prelude -- 7.8 hack --- TODO: e che fare quando il todo segue un * come nei commenti--- lunghi c? [design]-- ----------- -- TYPES -- -----------@@ -60,7 +56,6 @@ -- PRIMITIVE -- --------------- --- TODO: add this to (ciString ancillaries?) [refactor] -- case insensitive string, lifted from Text.ParserCombinators.Parsec.Rfc2234 ciString :: String -> ParIssue String ciString s = mapM ciChar s <?> "case insensitive string"@@ -111,7 +106,7 @@ incipit = char '\n' >> spaces >> fwpar >>= \fw -> optional (char ':') >>- many1 (char ' ') >> -- fixme usa spaces non ' '+ many1 (char ' ') >> return fw <?> "incipit" where@@ -150,10 +145,11 @@ freeText :: ParIssue Description freeText = fmap htmlify (manyTill anyChar end) <?> "free text" where vp p = try . parsecMap (const ()) $ p- end = lookAhead $ choice [vp (spaces *> tag),- vp blankline,- vp incipit,- vp eof] -- fixme specifica meglio+ end = lookAhead $ choice [vp (spaces1 *> tag),+ vp blankline, -- \n\n or \neof+ vp incipit, -- another issue+ vp eof]+ spaces1 = space *> spaces tags :: ParIssue [Tag] tags = many1 (try $ spaces *> tag) <?> "tags"
src/Lentil/Parse/Syntaxes.hs view
@@ -27,16 +27,19 @@ | ext `elem` [".cpp", ".hpp"] = Just c -- C++ | ext `elem` [".java"] = Just c -- Java | ext `elem` [".js"] = Just javascript+ | ext `elem` [".pas", ".pp", ".inc"] = Just pascal | ext `elem` [".py"] = Just python | ext `elem` [".rb"] = Just ruby- | ext `elem` [".pas", ".pp", ".inc"] = Just pascal+ | ext `elem` [".pl", ".pm", ".t"] = Just perl | ext `elem` [".txt"] = Just text | otherwise = Nothing where ext = SF.takeExtension fp -- todo multiline signature? [lint] -- todo tag at the beginning too? [design]-haskell, c, javascript, pascal, python, ruby, text :: ParSource [CommentString]+haskell, c, javascript, pascal, python, ruby :: ParSource [CommentString]+perl :: ParSource [CommentString]+text :: ParSource [CommentString] haskell = source $ ParSyntax ["--"] [("{-", "-}")] ['"'] ['\''] c = source $ ParSyntax ["//"] [("/*", "*/")] ['"'] ['\''] javascript = source $ ParSyntax ["//"] [("/*", "*/")] ['"', '\''] []@@ -44,7 +47,8 @@ ("(*", "*)")] ['\''] [] python = source $ ParSyntax ["#"] [("\"\"\"", "\"\"\"")] ['"', '\''] []-ruby = source $ ParSyntax ["#"] [("=begin",- "=end")] ['"', '\''] []+ruby = source $ ParSyntax ["#"] [("=begin",+ "=end")] ['"', '\''] []+perl = source $ ParSyntax ["#"] [] ['"', '\''] [] text = (:[]) . MultiLine 1 <$> many anyChar
src/Main.hs view
@@ -28,7 +28,7 @@ short 'v' <> help "show version and copyright info" ) where- versionCopy = "lentil - a frugal issue tracker, version 0.1.2.4\n\+ versionCopy = "lentil - a frugal issue tracker, version 0.1.2.5\n\ \(C) 2015 Francesco Ariis - http://www.ariis.it\n\ \released under the GNU General Public License 3\n"
test/Lentil/ArgsSpec.hs view
@@ -9,9 +9,6 @@ -- TEST VARS -- --- TODO: can't test lOpts, need to make a runner and a validator on--- the output from io [test]- testOpt :: LOptions testOpt = LOptions (["alpha"], ["beta"]) Csv [filterFilepath "al", filterTagless]
test/Lentil/Parse/IssueSpec.hs view
@@ -119,6 +119,9 @@ it "issues declared with fixme get a free [fixme] tag" $ sp issue "\nfixme blah\n" `shouldBe` (Just $ Issue "<f>" 2 "blah" [Tag "fixme"])+ it "doesn't parse tags non separated by a space" $+ sp issue "\ntodo blah[f]\n"+ `shouldBe` (Just $ Issue "<f>" 2 "blah[f]" []) describe "issues" $ do it "parses multiple issues" $
test/Lentil/Parse/RunSpec.hs view
@@ -58,6 +58,9 @@ it "parses a ruby source" $ fileParser "test/test-files/lang-comm/ruby.rb" `shouldReturn` spt "test/test-files/lang-comm/ruby.rb"+ it "parses a perl source" $+ fileParser "test/test-files/lang-comm/perl.pl"+ `shouldReturn` spt "test/test-files/lang-comm/perl.pl" describe "issueFinder" $ do it "reads a file (code or txt) for issues" $
test/Tests.hs view
@@ -1,7 +1,5 @@ {-# OPTIONS_GHC -F -pgmF hspec-discover #-} --- TODO: http://hackage.haskell.org/package/nanospec-0.2.1/docs/Test-Hspec.html--- use this? [refactor] -- TODO: http://hackage.haskell.org/package/mockery-0.3.0/docs/Test-Mockery-Directory.html -- instead of folder use this? [refactor]
+ test/test-files/lang-comm/perl.pl view
@@ -0,0 +1,11 @@+# TODO: single+# comment+# todo single2++c = "st/*ring" # string+letter = 'c' # char++# todo block1+# TODO: block2 [tog]++# end