Commit Graph

40 Commits (e36310b32d0c2066441ea6cf23c2be39f1cd7f0b)

Author SHA1 Message Date
Aadhavan Srinivasan fe1136c54c Fixed bug with parentheses in lookaround regex; fixed bug with reading last line of test string (if it doesn't end in a newline)
Aadhavan Srinivasan 7916629c4d Added substitute flag - substitute matched text with given text
Aadhavan Srinivasan c87a4b7136 Added case-insensitve flag
Aadhavan Srinivasan 11c0a0552f Added support for lokarounds; parsing and adding nodes for different lookarounds
Aadhavan Srinivasan 1a1a8f4f9c Moved flag-checking after flag.Parse()
Aadhavan Srinivasan b3ee1fe5e8 Convert an inverting character class into an 'allChars' node, with the characters marked as exceptions
Aadhavan Srinivasan c694c47be7 Added flag to print match indices, and to enable multi-line mode
Aadhavan Srinivasan c56d81a335 Added unicode support to dot metacharacter - it now matches _any_ unicode character (almost)
Aadhavan Srinivasan 8a1f1dc621 Added unicode support
Replaced strings with rune-slices, which capture unicode codepoints more
accurately.
Aadhavan Srinivasan 805766a5ba Added support for -l : only print lines with at least one match (or with exactly 0 matches, if -v is enabled
Aadhavan Srinivasan dcd712dceb Added support for -o flag: only print matching content
Aadhavan Srinivasan f2b8812b05 Added support for -v flag, to invert which values are printed in color. Also got rid of unecessary 'else' clause
Aadhavan Srinivasan 11641596fa Read multiple lines from stdin and apply regex to each one; Convert the array of matchIndex structs into a flat array of indices; speeds up process of checking if we have to print a character in color
Aadhavan Srinivasan d8f52b8ccc Added support for numeric specifiers, moved question mark operator to its own function
Aadhavan Srinivasan 8dbecde3ae Added support for detecting assertion characters; changed input so that newline isn't required
Aadhavan Srinivasan 1bafdcdb7e Added support for inverted matches; moved escape character detection to its own function
Aadhavan Srinivasan a66e8f1c08 Concatenate every character if it is escaped
Aadhavan Srinivasan 7b815343f4 Removed exclamation mark in inverted metacharacters - had the opposite effect becasue of the way deleteFunc works
Aadhavan Srinivasan 1a7fd12569 Added support for some escaped metacharacters
Aadhavan Srinivasan ca945c7740 Added support for character ranges and dot metacharacter
Aadhavan Srinivasan 11073759e3 Added support for character classes (not ranges, yet); also take input from stdin instead of cmdline arg
Aadhavan Srinivasan 84c768fd5e Fixed small bug with question mark operator, wasn't adding the empty state's output
Aadhavan Srinivasan 7286e07858 Added question mark operator - 0 or 1
Aadhavan Srinivasan ae219f763a Added alternate function, removed relevant code from main; also started working on escape characters
Aadhavan Srinivasan 4781b87b90 Added comments
Aadhavan Srinivasan bf3060b672 Used 'unique append' to ensure that a transition can only contain a given state once
Aadhavan Srinivasan 761a5ad052 Added functions for concatenation and kleene star creation, removed relevant code from main
Aadhavan Srinivasan 5ee427230c Replaced 'pop' with 'mustPop' which panics on error
Aadhavan Srinivasan 273a03e3cf Added more test cases
Aadhavan Srinivasan 139c88dd58 Started working on '+' operator
Aadhavan Srinivasan c894ee4c0d Renamed match function to 'findAllMatches', to better represent what it does
Aadhavan Srinivasan 9d786997df Initial support for multiple matching
Aadhavan Srinivasan 11dd6aeb7c More Kleene star fixes
Aadhavan Srinivasan 9d3bc2b804 Fixed kleene star behavior, which used to behave like a '+'
Aadhavan Srinivasan cc0098b558 Print matched content in color
Aadhavan Srinivasan bc11777ad5 Fixed Kleene Star matching
Aadhavan Srinivasan d191686168 Rudimentary matching works
Aadhavan Srinivasan 213da40c3b Allow one state to map to multiple states with the same transition eg. ab|aa
Aadhavan Srinivasan 8394e7867e Fixed bug with last state detection
Aadhavan Srinivasan 82b33f3c9a First commit