cgrep 8.0.0 → 8.1.0
raw patch · 2 files changed
+9/−17 lines, 2 files
Files
- cgrep.cabal +1/−1
- src/CGrep/Parser/Token.hs +8/−16
cgrep.cabal view
@@ -1,7 +1,7 @@ Cabal-version: 2.2 Name: cgrep Description: Cgrep: a context-aware grep for source codes-Version: 8.0.0+Version: 8.1.0 Synopsis: Command line tool Homepage: http://awgn.github.io/cgrep/ License: GPL-2.0-or-later
src/CGrep/Parser/Token.hs view
@@ -386,7 +386,9 @@ buildFilteredToken :: TokenFilter -> (C.ByteString -> Offset -> Token) -> TokenIdx -> C.ByteString -> Token buildFilteredToken tf f (TokenIdx start len) txt = let t = f (subByteString start len txt) (fromIntegral start)- in if filterToken tf t then t else unspecifiedToken+ in if filterToken tf t+ then t+ else unspecifiedToken {-# INLINE buildFilteredToken #-} @@ -395,22 +397,12 @@ buildToken False f (TokenIdx start len) txt = unspecifiedToken {-# INLINE buildToken #-} - buildToken_ :: Bool -> Bool -> Bool -> (C.ByteString -> Offset -> Token) -> TokenIdx -> C.ByteString -> Token-buildToken_ True True True f (TokenIdx start len) txt = f (subByteString start len txt) (fromIntegral start)-buildToken_ True False False f (TokenIdx start len) txt = let t = f (subByteString start len txt) (fromIntegral start) in- if isTokenIdentifier t- then t- else unspecifiedToken-buildToken_ False True False f (TokenIdx start len) txt = let t = f (subByteString start len txt) (fromIntegral start) in- if isTokenKeyword t- then t- else unspecifiedToken-buildToken_ False False True f (TokenIdx start len) txt = let t = f (subByteString start len txt) (fromIntegral start) in- if isTokenNativeType t- then t- else unspecifiedToken-buildToken_ _ _ _ f (TokenIdx start len) txt = unspecifiedToken+buildToken_ i k t f (TokenIdx start len) txt =+ if i && isTokenIdentifier tok || k && isTokenKeyword tok || t && isTokenNativeType tok+ then tok+ else unspecifiedToken+ where tok = f (subByteString start len txt) (fromIntegral start) subByteString :: Int -> Int -> C.ByteString -> C.ByteString