toodles 0.1.0.11 → 0.1.0.12
raw patch · 3 files changed
+24/−28 lines, 3 filesdep −bytestringdep ~MissingH
Dependencies removed: bytestring
Dependency ranges changed: MissingH
Files
- README.md +3/−0
- app/Main.hs +19/−25
- toodles.cabal +2/−3
README.md view
@@ -57,6 +57,7 @@ These languages will be scanned for any TODO's: - C/C+++- C# - Elixir - Erlang - Go@@ -64,7 +65,9 @@ - Java - Javascript - Kotlin+- Lua - Objective-C+- PHP - Protobuf - Python - Ruby
app/Main.hs view
@@ -11,9 +11,9 @@ import qualified Control.Exception as E import Control.Monad+import Control.Monad (forM) import Control.Monad.IO.Class import Data.Aeson-import qualified Data.ByteString.Char8 as B8SS import Data.Either import Data.IORef import Data.List@@ -152,25 +152,16 @@ fileLines) liftIO $ writeFile (sourceFile todo) $ unlines updatedLines -removeAndAdjust :: [TodoEntry] -> IO [TodoEntry]-removeAndAdjust deleteList =- if null deleteList- then return []- else let deleteItem = head deleteList- rest = tail deleteList- in do _ <- removeTodoFromCode deleteItem- return $- map- (\t ->- if (sourceFile t == sourceFile deleteItem) &&- (lineNumber t > lineNumber deleteItem)- then t- { lineNumber =- lineNumber t -- (fromIntegral . length $ body deleteItem)- }- else t)- rest+removeAndAdjust :: MonadIO io => [TodoEntry] -> io [TodoEntry]+removeAndAdjust [] = return []+removeAndAdjust (x:xs) = do+ removeTodoFromCode x+ forM xs $ \t ->+ if (sourceFile t == sourceFile x) &&+ (lineNumber t > lineNumber x)+ then return $ t { lineNumber = lineNumber t - (fromIntegral . length $ body x)+ }+ else return t deleteTodos :: ToodlesState -> DeleteTodoRequest -> Handler T.Text deleteTodos (ToodlesState ref _) req = do@@ -184,7 +175,7 @@ } _ <- liftIO $ atomicModifyIORef' ref (const (updeatedResults, updeatedResults))- return $ T.pack "{}"+ return "{}" editTodos :: ToodlesState -> EditTodoRequest -> Handler T.Text editTodos (ToodlesState ref _) req = do@@ -198,7 +189,7 @@ r editedFilteredList = filter (willEditTodo req) editedList _ <- mapM_ recordUpdates editedFilteredList- return $ T.pack "{}"+ return "{}" where willEditTodo :: EditTodoRequest -> TodoEntry -> Bool willEditTodo editRequest entry = Main.id entry `elem` editIds editRequest@@ -223,7 +214,7 @@ let comment = fromJust $ lookup ("." <> getExtension (sourceFile t)) fileTypeToComment detail =- T.pack "TODO (" <>+ "TODO (" <> (T.pack $ Data.String.Utils.join "|"@@ -231,7 +222,7 @@ listIfNotNull (fmap (T.pack . maybe "" ((\n -> "p=" ++ n) . show)) priority t) ++ tags t ++ map (\a -> fst a <> "=" <> snd a) (customAttributes t))) <>- (T.pack ") ")+ ") " fullNoComments = mapHead (\l -> detail <> "- " <> l) $ body t commented = map (\l -> comment <> " " <> l) fullNoComments in mapHead (\l -> leadingText t <> l) $@@ -311,6 +302,7 @@ [ (".c", "//") , (".clj", ";;") , (".cpp", "//")+ , (".cs", "//") , (".ex", "#") , (".erl", "%") , (".go", "//")@@ -319,7 +311,9 @@ , (".js", "//") , (".kt", "//") , (".kts", "//")+ , (".lua", "--") , (".m", "//")+ , (".php", "//") , (".proto", "//") , (".py", "#") , (".rb", "#")@@ -531,7 +525,7 @@ in do configExists <- doesFileExist $ projectRoot ++ "/.toodles.yaml" config <- if configExists- then Y.decodeEither' . B8SS.pack <$> readFile (projectRoot ++ "/.toodles.yaml")+ then Y.decodeFileEither (projectRoot ++ "/.toodles.yaml") else return . Right $ ToodlesConfig [] when (isLeft config) $ putStrLn $ "[WARNING] Invalid .toodles.yaml: " ++ show config
toodles.cabal view
@@ -1,6 +1,6 @@ cabal-version: >=1.10 name: toodles-version: 0.1.0.11+version: 0.1.0.12 license: MIT copyright: 2018 Avi Press maintainer: mail@avi.press@@ -38,11 +38,10 @@ default-language: Haskell2010 ghc-options: -threaded -rtsopts -with-rtsopts=-N build-depends:- MissingH ==1.4.0.1,+ MissingH >=1.4.0.1 && <1.5, aeson ==1.3.1.1, base >=4.0 && <5, blaze-html ==0.9.1.1,- bytestring ==0.10.8.2, cmdargs ==0.10.20, directory ==1.3.1.5, filepath ==1.4.2,