packages feed

cgrep 6.5.6 → 6.5.7

raw patch · 5 files changed

+89/−87 lines, 5 files

Files

README.md view
@@ -4,7 +4,7 @@ Usage ----- -Cgrep 6.5.6 Usage: cgrep [OPTION] [PATTERN] files...+Cgrep 6.5.7 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.6+Version:             6.5.7 Synopsis:            Command line tool Homepage:            http://awgn.github.io/cgrep/ License:             GPL-2
src/CGrep/Filter.hs view
@@ -177,8 +177,8 @@ filterFunctionMap :: Map.Map Lang FilterFunction  -mkFilterFunction :: [StringBoundary] -> [StringBoundary] -> FilterFunction-mkFilterFunction cs ls = contextFilterFun (ParConf (map (\(a,b) -> Boundary (C.pack a) (C.pack b)) cs)+mkContextFilterFun :: [StringBoundary] -> [StringBoundary] -> FilterFunction+mkContextFilterFun cs ls = contextFilterFun (ParConf (map (\(a,b) -> Boundary (C.pack a) (C.pack b)) cs)                                                     (map (\(a,b) -> Boundary (C.pack a) (C.pack b)) ls)                                                     (mkBloom (cs ++ ls))) @@ -187,45 +187,43 @@ mkBloom bs = listArray ('\0', '\255') (map (\c -> findIndex' (\(b,_) -> c == head b) bs >= 0 ) ['\0'..'\255'])  -filterFunctionMap = Map.fromList [-    (C,          mkFilterFunction [("/*", "*/"), ("//", "\n")]  [("\"", "\"")] ),-    (Cpp,        mkFilterFunction [("/*", "*/"), ("//", "\n")]  [("\"", "\"")] ),-    (Cabal,      mkFilterFunction [("--", "\n")]                [("\"", "\"")] ),-    (Csharp,     mkFilterFunction [("/*", "*/"), ("//", "\n")]  [("\"", "\"")] ),-    (Chapel,     mkFilterFunction [("/*", "*/"), ("//", "\n")]  [("\"", "\"")] ),-    (Coffee,     mkFilterFunction [("###", "###"), ("#", "\n")]  [("\"", "\"")] ),-    (Conf,       mkFilterFunction [("#", "\n")]    [("'", "'"), ("\"", "\"")] ),-    (D,          mkFilterFunction [("/*", "*/"), ("//", "\n")]  [("\"", "\"")] ),-    (Go,         mkFilterFunction [("/*", "*/"), ("//", "\n")]  [("\"", "\"")] ),-    (Java,       mkFilterFunction [("/*", "*/"), ("//", "\n")]  [("\"", "\"")] ),-    (Javascript, mkFilterFunction [("/*", "*/"), ("//", "\n")]  [("\"", "\"")] ),-    (ObjectiveC, mkFilterFunction [("/*", "*/"), ("//", "\n")]  [("\"", "\"")] ),-    (Scala,      mkFilterFunction [("/*", "*/"), ("//", "\n")]  [("\"", "\"")] ),-    (Verilog,    mkFilterFunction [("/*", "*/"), ("//", "\n")]  [("\"", "\"")] ),-    (VHDL,       mkFilterFunction [("--", "\n")] [("\"", "\"")] ),--    (Haskell,    mkFilterFunction [("{-", "-}"), ("--", "\n")]      [("\"", "\""), ("[r|", "|]"), ("[q|", "|]"), ("[s|", "|]"), ("[here|","|]"), ("[i|", "|]")] ),-    (Fsharp,     mkFilterFunction [("(*", "*)"), ("//", "\n")]      [("\"", "\"")] ),-    (Perl,       mkFilterFunction [("=pod", "=cut"), ("#", "\n")]   [("'", "'"), ("\"", "\"")] ),-    (Ruby,       mkFilterFunction [("=begin", "=end"), ("#", "\n")] [("'", "'"), ("\"", "\""), ("%|", "|"), ("%q(", ")"), ("%Q(", ")") ]),--    (CMake,      mkFilterFunction [("#", "\n")]    [("\"", "\"")] ),-    (Awk,        mkFilterFunction [("#", "\n")]    [("\"", "\"")] ),-    (Tcl,        mkFilterFunction [("#", "\n")]    [("\"", "\"")] ),-    (Shell,      mkFilterFunction [("#", "\n")]    [("'", "'"), ("\"", "\"")] ),-    (Make,       mkFilterFunction [("#", "\n")]    [("'", "'"), ("\"", "\"")] ),--    (Css,        mkFilterFunction [("/*", "*/")]   [("\"", "\"")] ),-    (OCaml,      mkFilterFunction [("(*", "*)")]   [("\"", "\"")] ),-    (Python,     mkFilterFunction [("#", "\n")]    [("\"\"\"", "\"\"\""), ("'''", "'''"), ("'", "'"), ("\"", "\"")] ),--    (Erlang,     mkFilterFunction [("%", "\n")]    [("\"", "\"")] ),-    (Latex,      mkFilterFunction [("%", "\n")]    [("\"", "\"")] ),-    (Lua,        mkFilterFunction [("--[[","--]]"), ("--", "\n")]    [("'", "'"), ("\"", "\""), ("[===[", "]===]"), ("[==[", "]==]"), ("[=[", "]=]"), ("[[", "]]") ] ),--    (Html,       mkFilterFunction [("<!--", "-->")]  [("\"", "\"")] ),-    (Vim,        mkFilterFunction [("\"", "\n")]     [("'", "'")] ),--    (PHP,        mkFilterFunction [("/*", "*/"), ("//", "\n"), ("#", "\n") ]  [("'", "'"), ("\"", "\"")] )+filterFunctionMap = Map.fromList+    [   (Awk,        mkContextFilterFun [("#", "\n")]  [("\"", "\"")] )+    ,   (C,         mkContextFilterFun [("/*", "*/"), ("//", "\n")]  [("\"", "\"")] )+    ,   (CMake,      mkContextFilterFun [("#", "\n")]  [("\"", "\"")] )+    ,   (Cabal,      mkContextFilterFun [("--", "\n")] [("\"", "\"")] )+    ,   (Chapel,     mkContextFilterFun [("/*", "*/"), ("//", "\n")]  [("\"", "\"")] )+    ,   (Clojure,    mkContextFilterFun [(";", "\n")] [("\"", "\"")] )+    ,   (Coffee,     mkContextFilterFun [("###", "###"), ("#", "\n")]  [("\"", "\"")] )+    ,   (Conf,       mkContextFilterFun [("#", "\n")]  [("'", "'"), ("\"", "\"")] )+    ,   (Cpp,        mkContextFilterFun [("/*", "*/"), ("//", "\n")]  [("\"", "\"")] )+    ,   (Csharp,     mkContextFilterFun [("/*", "*/"), ("//", "\n")]  [("\"", "\"")] )+    ,   (Css,        mkContextFilterFun [("/*", "*/")] [("\"", "\"")] )+    ,   (D,          mkContextFilterFun [("/*", "*/"), ("//", "\n")]  [("\"", "\"")] )+    ,   (Elixir,     mkContextFilterFun [("#", "\n")]  [("\"", "\"")] )+    ,   (Erlang,     mkContextFilterFun [("%", "\n")]  [("\"", "\"")] )+    ,   (Fsharp,     mkContextFilterFun [("(*", "*)"), ("//", "\n")]      [("\"", "\"")] )+    ,   (Go,         mkContextFilterFun [("/*", "*/"), ("//", "\n")]  [("\"", "\"")] )+    ,   (Haskell,    mkContextFilterFun [("{-", "-}"), ("--", "\n")]  [("\"", "\""), ("[r|", "|]"), ("[q|", "|]"), ("[s|", "|]"), ("[here|","|]"), ("[i|", "|]")] )+    ,   (Html,       mkContextFilterFun [("<!--", "-->")]  [("\"", "\"")] )+    ,   (Idris,      mkContextFilterFun [("{-", "-}"), ("--", "\n"), ("|||", "\n")] [("\"", "\"")] )+    ,   (Java,       mkContextFilterFun [("/*", "*/"), ("//", "\n")]  [("\"", "\"")] )+    ,   (Javascript, mkContextFilterFun [("/*", "*/"), ("//", "\n")]  [("\"", "\"")] )+    ,   (Latex,      mkContextFilterFun [("%", "\n")]  [("\"", "\"")] )+    ,   (Lua,        mkContextFilterFun [("--[[","--]]"), ("--", "\n")]    [("'", "'"), ("\"", "\""), ("[===[", "]===]"), ("[==[", "]==]"), ("[=[", "]=]"), ("[[", "]]") ] )+    ,   (Make,       mkContextFilterFun [("#", "\n")]  [("'", "'"), ("\"", "\"")] )+    ,   (OCaml,      mkContextFilterFun [("(*", "*)")] [("\"", "\"")] )+    ,   (ObjectiveC, mkContextFilterFun [("/*", "*/"), ("//", "\n")]  [("\"", "\"")] )+    ,   (PHP,        mkContextFilterFun [("/*", "*/"), ("//", "\n"), ("#", "\n") ]  [("'", "'"), ("\"", "\"")] )+    ,   (Perl,       mkContextFilterFun [("=pod", "=cut"), ("#", "\n")]   [("'", "'"), ("\"", "\"")] )+    ,   (Python,     mkContextFilterFun [("#", "\n")]  [("\"\"\"", "\"\"\""), ("'''", "'''"), ("'", "'"), ("\"", "\"")] )+    ,   (Ruby,       mkContextFilterFun [("=begin", "=end"), ("#", "\n")] [("'", "'"), ("\"", "\""), ("%|", "|"), ("%q(", ")"), ("%Q(", ")") ])+    ,   (Scala,      mkContextFilterFun [("/*", "*/"), ("//", "\n")]  [("\"", "\"")] )+    ,   (Shell,      mkContextFilterFun [("#", "\n")]  [("'", "'"), ("\"", "\"")] )+    ,   (Tcl,        mkContextFilterFun [("#", "\n")]  [("\"", "\"")] )+    ,   (VHDL,       mkContextFilterFun [("--", "\n")] [("\"", "\"")] )+    ,   (Verilog,    mkContextFilterFun [("/*", "*/"), ("//", "\n")]  [("\"", "\"")] )+    ,   (Vim,        mkContextFilterFun [("\"", "\n")] [("'", "'")] )     ]+ 
src/CGrep/Lang.hs view
@@ -28,9 +28,10 @@ import Options import Util -data Lang = Awk | C | Cpp | Cabal | Csharp | Chapel | Coffee | Conf | Css | CMake | D | Erlang | Fsharp | Go | Haskell |-            Html | Java | Javascript | Latex | Lua | Make | OCaml | ObjectiveC |-            Perl | PHP | Python | Ruby | Scala | Tcl | Text | Shell | Verilog | VHDL | Vim+data Lang = Awk  | C | CMake | Cabal | Chapel | Clojure | Coffee | Conf | Cpp  | Csharp | Css |+            D | Elixir | Erlang | Fsharp | Go | Haskell | Html | Idris | Java | Javascript | Latex |+            Lua | Make | OCaml | ObjectiveC | PHP | Perl | Python | Ruby | Scala | Shell | Tcl |+            Text | VHDL | Verilog | Vim                 deriving (Read, Show, Eq, Ord, Bounded)  @@ -48,41 +49,44 @@   langMap :: LangMapType-langMap = Map.fromList [-    (Awk,       [Ext "awk", Ext "mawk", Ext "gawk"]),-    (C,         [Ext "c", Ext "C"]),-    (Cpp,       [Ext "cpp", Ext "CPP", Ext "cxx", Ext "cc", Ext "cp", Ext "tcc", Ext "h", Ext "H", Ext "hpp", Ext "ipp", Ext "HPP", Ext "hxx", Ext "hh", Ext "hp"]),-    (Cabal,     [Ext "cabal"]),-    (Csharp,    [Ext "cs", Ext "CS"]),-    (Coffee,    [Ext "coffee"]),-    (Conf,      [Ext "conf", Ext "cfg", Ext "doxy"]),-    (Chapel,    [Ext "chpl"]),-    (Css,       [Ext "css"]),-    (CMake,     [Name "CMakeLists.txt", Ext "cmake"]),-    (D,         [Ext "d", Ext "D"]),-    (Erlang,    [Ext "erl", Ext "ERL",Ext "hrl", Ext "HRL"]),-    (Fsharp,    [Ext "fs", Ext "fsx", Ext "fsi"]),-    (Go,        [Ext "go"]),-    (Haskell,   [Ext "hs", Ext "lhs", Ext "hsc"]),-    (Html,      [Ext "htm", Ext "html"]),-    (Java,      [Ext "java"]),-    (Javascript,[Ext "js"]),-    (Latex,     [Ext "latex", Ext "tex"]),-    (Lua,       [Ext "lua"]),-    (Make,      [Name "Makefile", Name "makefile", Name "GNUmakefile", Ext "mk", Ext  "mak"]),-    (OCaml ,    [Ext "ml", Ext "mli"]),-    (ObjectiveC,[Ext "m", Ext "mi"]),-    (Perl,      [Ext "pl", Ext "pm", Ext "pm6", Ext "plx", Ext "perl"]),-    (PHP,       [Ext "php", Ext "php3", Ext "php4", Ext "php5",Ext "phtml"]),-    (Python,    [Ext "py", Ext "pyx", Ext "pxd", Ext "pxi", Ext "scons"]),-    (Ruby,      [Ext "rb", Ext "ruby"]),-    (Scala,     [Ext "scala"]),-    (Tcl,       [Ext "tcl", Ext "tk"]),-    (Text,      [Ext "txt", Ext "md", Name "README", Name "INSTALL"]),-    (Shell,     [Ext "sh", Ext "bash", Ext "csh", Ext "tcsh", Ext "ksh", Ext "zsh"]),-    (Verilog,   [Ext "v", Ext "vh", Ext "sv"]),-    (VHDL,      [Ext "vhd", Ext "vhdl"]),-    (Vim,       [Ext "vim"])+langMap = Map.fromList+    [  (Awk,       [Ext "awk", Ext "mawk", Ext "gawk"])+    ,  (C,         [Ext "c", Ext "C"])+    ,  (CMake,     [Name "CMakeLists.txt", Ext "cmake"])+    ,  (Cabal,     [Ext "cabal"])+    ,  (Chapel,    [Ext "chpl"])+    ,  (Clojure,   [Ext "clj", Ext "cljs", Ext "cljc", Ext "edn"])+    ,  (Coffee,    [Ext "coffee"])+    ,  (Conf,      [Ext "config", Ext "conf", Ext "cfg", Ext "doxy"])+    ,  (Cpp,       [Ext "cpp", Ext "CPP", Ext "cxx", Ext "cc", Ext "cp", Ext "tcc", Ext "h", Ext "H", Ext "hpp", Ext "ipp", Ext "HPP", Ext "hxx", Ext "hh", Ext "hp"])+    ,  (Csharp,    [Ext "cs", Ext "CS"])+    ,  (Css,       [Ext "css"])+    ,  (D,         [Ext "d", Ext "D"])+    ,  (Elixir,    [Ext "ex", Ext "exs"])+    ,  (Erlang,    [Ext "erl", Ext "ERL",Ext "hrl", Ext "HRL"])+    ,  (Fsharp,    [Ext "fs", Ext "fsx", Ext "fsi"])+    ,  (Go,        [Ext "go"])+    ,  (Haskell,   [Ext "hs", Ext "lhs", Ext "hsc"])+    ,  (Html,      [Ext "htm", Ext "html"])+    ,  (Idris,     [Ext "idr", Ext "lidr"])+    ,  (Java,      [Ext "java"])+    ,  (Javascript,[Ext "js"])+    ,  (Latex,     [Ext "latex", Ext "tex"])+    ,  (Lua,       [Ext "lua"])+    ,  (Make,      [Name "Makefile", Name "makefile", Name "GNUmakefile", Ext "mk", Ext  "mak"])+    ,  (OCaml ,    [Ext "ml", Ext "mli"])+    ,  (ObjectiveC,[Ext "m", Ext "mi"])+    ,  (PHP,       [Ext "php", Ext "php3", Ext "php4", Ext "php5",Ext "phtml"])+    ,  (Perl,      [Ext "pl", Ext "pm", Ext "pm6", Ext "plx", Ext "perl"])+    ,  (Python,    [Ext "py", Ext "pyx", Ext "pxd", Ext "pxi", Ext "scons"])+    ,  (Ruby,      [Ext "rb", Ext "ruby"])+    ,  (Scala,     [Ext "scala"])+    ,  (Shell,     [Ext "sh", Ext "bash", Ext "csh", Ext "tcsh", Ext "ksh", Ext "zsh"])+    ,  (Tcl,       [Ext "tcl", Ext "tk"])+    ,  (Text,      [Ext "txt", Ext "md", Ext "markdown", Ext "mdown", Ext "mkdn", Ext "mkd", Ext "mdwn", Ext "mdtxt", Ext "mdtext", Ext "text", Name "README", Name "INSTALL", Name "VERSION", Name "LICENSE", Name "AUTHORS", Name "CHANGELOG"])+    ,  (VHDL,      [Ext "vhd", Ext "vhdl"])+    ,  (Verilog,   [Ext "v", Ext "vh", Ext "sv"])+    ,  (Vim,       [Ext "vim"])     ]  
src/CGrep/Semantic/Generic/Token.hs view
@@ -45,11 +45,11 @@   data Token =-    TokenAlpha       { toString :: String, toOffset :: Offset  } |-    TokenDigit       { toString :: String, toOffset :: Offset  } |-    TokenBracket     { toString :: String, toOffset :: Offset  } |-    TokenLiteral     { toString :: String, toOffset :: Offset  } |-    TokenOther       { toString :: String, toOffset :: Offset  }+    TokenAlpha       { toString :: !String, toOffset :: {-# UNPACK #-} !Offset  } |+    TokenDigit       { toString :: !String, toOffset :: {-# UNPACK #-} !Offset  } |+    TokenBracket     { toString :: !String, toOffset :: {-# UNPACK #-} !Offset  } |+    TokenLiteral     { toString :: !String, toOffset :: {-# UNPACK #-} !Offset  } |+    TokenOther       { toString :: !String, toOffset :: {-# UNPACK #-} !Offset  }        deriving (Show, Eq, Ord)