cgrep 6.5.5 → 6.5.6
raw patch · 10 files changed
+37/−37 lines, 10 files
Files
- README.md +1/−1
- cgrep.cabal +1/−1
- src/CGrep/Context.hs +3/−3
- src/CGrep/Filter.hs +4/−4
- src/CGrep/Semantic/Cpp/Token.hs +23/−23
- src/CGrep/Semantic/Generic/Token.hs +1/−1
- src/CGrep/Strategy/Cpp/Semantic.hs +1/−1
- src/CGrep/Strategy/Cpp/Tokenizer.hs +1/−1
- src/CGrep/Strategy/Generic/Semantic.hs +1/−1
- src/Config.hs +1/−1
README.md view
@@ -4,7 +4,7 @@ Usage ----- -Cgrep 6.5.5 Usage: cgrep [OPTION] [PATTERN] files...+Cgrep 6.5.6 Usage: cgrep [OPTION] [PATTERN] files... cgrep [OPTIONS] [ITEM]
cgrep.cabal view
@@ -1,6 +1,6 @@ Name: cgrep Description: Cgrep: a context-aware grep for source codes-Version: 6.5.5+Version: 6.5.6 Synopsis: Command line tool Homepage: http://awgn.github.io/cgrep/ License: GPL-2
src/CGrep/Context.hs view
@@ -24,8 +24,8 @@ data ContextFilter = ContextFilter- { getCode :: Bool- , getComment :: Bool- , getLiteral :: Bool+ { getFilterCode :: !Bool+ , getFilterComment :: !Bool+ , getFilterLiteral :: !Bool } deriving (Eq, Show)
src/CGrep/Filter.hs view
@@ -60,11 +60,11 @@ data ParState = ParState { cxtState :: !ContextState , display :: !Bool- , skip :: !Int+ , skip :: {-# UNPACK #-} !Int } deriving (Show) -data ContextState = CodeState | CommState Int | LitrState Int+data ContextState = CodeState | CommState {-# UNPACK #-} !Int | LitrState {-# UNPACK #-} !Int deriving (Show, Eq, Ord) @@ -74,8 +74,8 @@ mkContextFilter :: Options -> ContextFilter mkContextFilter opt = if not (code opt || comment opt || literal opt)- then ContextFilter { getCode = True, getComment = True, getLiteral = True }- else ContextFilter { getCode = code opt, getComment = comment opt, getLiteral = literal opt }+ then ContextFilter { getFilterCode = True, getFilterComment = True, getFilterLiteral = True }+ else ContextFilter { getFilterCode = code opt, getFilterComment = comment opt, getFilterLiteral = literal opt } contextFilter :: Maybe Lang -> ContextFilter -> Text8 -> Text8
src/CGrep/Semantic/Cpp/Token.hs view
@@ -35,33 +35,33 @@ import CGrep.Semantic.Token -type TokenizerState = (Source, Offset, CppState)+data TokenizerState = TokenizerState Source {-# UNPACK #-} !Offset !CppState type Source = C.ByteString type Offset = Int data Token =- TokenIdentifier { toString :: String, toOffset :: Int } |- TokenDirective { toString :: String, toOffset :: Int } |- TokenKeyword { toString :: String, toOffset :: Int } |- TokenNumber { toString :: String, toOffset :: Int } |- TokenHeaderName { toString :: String, toOffset :: Int } |- TokenString { toString :: String, toOffset :: Int } |- TokenChar { toString :: String, toOffset :: Int } |- TokenOperOrPunct { toString :: String, toOffset :: Int }+ TokenIdentifier { toString :: !String, toOffset :: {-# UNPACK #-} !Int } |+ TokenDirective { toString :: !String, toOffset :: {-# UNPACK #-} !Int } |+ TokenKeyword { toString :: !String, toOffset :: {-# UNPACK #-} !Int } |+ TokenNumber { toString :: !String, toOffset :: {-# UNPACK #-} !Int } |+ TokenHeaderName { toString :: !String, toOffset :: {-# UNPACK #-} !Int } |+ TokenString { toString :: !String, toOffset :: {-# UNPACK #-} !Int } |+ TokenChar { toString :: !String, toOffset :: {-# UNPACK #-} !Int } |+ TokenOperOrPunct { toString :: !String, toOffset :: {-# UNPACK #-} !Int } deriving (Show, Eq, Ord) data TokenFilter = TokenFilter- { filtIdentifier :: Bool- , filtDirective :: Bool- , filtKeyword :: Bool- , filtHeader :: Bool- , filtString :: Bool- , filtNumber :: Bool- , filtChar :: Bool- , filtOper :: Bool- } deriving (Show,Read,Eq)+ { filtIdentifier :: !Bool+ , filtDirective :: !Bool+ , filtKeyword :: !Bool+ , filtHeader :: !Bool+ , filtString :: !Bool+ , filtNumber :: !Bool+ , filtChar :: !Bool+ , filtOper :: !Bool+ } deriving (Eq) instance SemanticToken Token where@@ -81,7 +81,7 @@ -- tokenizer :: Source -> [Token]-tokenizer xs = runGetToken (ys, n, Null)+tokenizer xs = runGetToken (TokenizerState ys n Null) where (ys, n) = dropWhite xs @@ -196,15 +196,15 @@ runGetToken :: TokenizerState -> [Token] -runGetToken (C.uncons -> Nothing, _, _) = []+runGetToken (TokenizerState (C.uncons -> Nothing) _ _) = [] runGetToken tstate = token : runGetToken ns where (token, ns) = getToken tstate getToken :: TokenizerState -> (Token, TokenizerState) -getToken (C.uncons -> Nothing, _, _) = error "getToken: internal error"-getToken (xs, off, state) =+getToken (TokenizerState (C.uncons -> Nothing) _ _) = error "getToken: internal error"+getToken (TokenizerState xs off state) = let token = fromJust $ getTokenDirective xs state `mplus` getTokenHeaderName xs state `mplus`@@ -217,7 +217,7 @@ len = fromIntegral $ length tstring (xs', w) = dropWhite $ C.drop (fromIntegral len) xs in- (token { toOffset = off }, (xs', off + len + w, nextCppState tstring state))+ (token { toOffset = off }, (TokenizerState xs' (off + len + w) (nextCppState tstring state))) getTokenIdOrKeyword, getTokenNumber,
src/CGrep/Semantic/Generic/Token.hs view
@@ -92,7 +92,7 @@ tokenCompare _ _ = False -data TokenAccum = TokenAccum !TokenState !Offset !Int DString (DL.DList Token)+data TokenAccum = TokenAccum !TokenState {-# UNPACK #-} !Offset {-# UNPACK #-} !Int DString (DL.DList Token) isCharNumberLT :: UArray Char Bool
src/CGrep/Strategy/Cpp/Semantic.hs view
@@ -52,7 +52,7 @@ let text' = ignoreCase opt text - filt = (mkContextFilter opt) { getComment = False }+ filt = (mkContextFilter opt) { getFilterComment = False } -- pre-process patterns
src/CGrep/Strategy/Cpp/Tokenizer.hs view
@@ -48,7 +48,7 @@ -- transform text let text' = ignoreCase opt text- filt = (mkContextFilter opt) { getComment = False }+ filt = (mkContextFilter opt) { getFilterComment = False } putStrLevel1 $ "strategy : running C/C++ token search on " ++ filename ++ "..."
src/CGrep/Strategy/Generic/Semantic.hs view
@@ -54,7 +54,7 @@ let text' = ignoreCase opt text - filt = (mkContextFilter opt) { getComment = False }+ filt = (mkContextFilter opt) { getFilterComment = False } -- pre-process patterns
src/Config.hs view
@@ -33,7 +33,7 @@ cgreprc = "cgreprc" version :: String-version = "6.5.5"+version = "6.5.6" data Config = Config