]> git.wincent.com - docvim.git/blobdiff - lib/Docvim/Visitor/Section.hs
Avoid unwanted intermediate list in `cosmosOf uniplate`
[docvim.git] / lib / Docvim / Visitor / Section.hs
index 6d3683a66073544c8d6069647c54c82f476eb9bf..c43e58fe26c72d723dd6db81cd386e2634a5d3d6 100644 (file)
@@ -58,9 +58,8 @@ defaultSectionInfo = SectionInfo { _hasCommand = False
 --   - DON'T we have either? -> do nothing
 --
 getSectionInfo :: Node -> SectionInfo
-getSectionInfo n = execState (mapM_ check nodes) defaultSectionInfo
+getSectionInfo n = execState (mapMOf_ (cosmosOf uniplate) check n) defaultSectionInfo
   where
-    nodes = n ^.. cosmosOf uniplate
     check (CommandAnnotation {}) = hasCommand .= True
     check CommandsAnnotation     = hasCommands .= True
     check (FunctionAnnotation _) = hasFunction .= True