Commit Graph

129 Commits

Author SHA1 Message Date
117ccaa1dc Cleanup for trailing line printing 2021-09-27 21:41:30 -07:00
c60c1db8a2 Bugfix for certain patterns (e.g. $$) that didn't trigger line number
printing
2021-09-27 21:34:08 -07:00
911827fac3 Removed definitions as a separate type and instead encode that value in
the patterns themselves. This simplifies memory management a lot and
speeds up performance.
2021-09-27 20:36:10 -07:00
77d9007a88 Refactor of pat_t memory management to use doubly linked lists, and
moving the recursive freeing code from Lua/lbp.c into pattern.c
2021-09-26 13:12:02 -07:00
270a0a47c4 Minor cleanup 2021-09-25 14:53:34 -07:00
1593b30393 Minor cleanup of context printing code 2021-09-25 01:34:19 -07:00
8ca1efeff9 Slightly ugly hack to fix but where line number got double printed 2021-09-25 00:31:09 -07:00
b00fc15125 Removed file_err() and file_printf() in favor of just inlining some of
the error assertion code. Also eliminated most of the spoof_file() calls
in favor of just using command line arguments directly.
2021-09-24 23:49:22 -07:00
1b777a569e Fixed double line numbering 2021-09-24 23:00:40 -07:00
6b98401771 Removed print files 2021-09-23 20:53:25 -07:00
3a2492d584 WIP: working line breaks, formatting, etc. All seems functional, but a
bit messy
2021-09-23 20:51:04 -07:00
04eb92153f WIP 2021-09-23 17:31:21 -07:00
ce915a5433 Patterns don't need to reference a separate start value anymore 2021-09-23 15:40:45 -07:00
fac3fd9772 Moving pattern lifetime tracking off of files and onto its own list of
allocated pats.
2021-09-23 15:24:08 -07:00
8e1e6572fe Moved type defs into their own files instead of types.h 2021-09-23 15:15:48 -07:00
89c5888dd6 Switched to using an optional type 2021-09-23 14:38:46 -07:00
e938ecbdcc Merge branch 'master' into setjmp 2021-09-23 13:42:46 -07:00
744a927562 Deprecated (!)-errors 2021-09-23 13:42:23 -07:00
cf99abb852 WIP implementation of setjmp/longjmp recovery 2021-09-23 13:38:20 -07:00
f2db62cb55 Moved trailing newline guarantee code into bp.c 2021-09-22 22:57:44 -07:00
90c3c13a02 Moving cache logic into match, cleaner next_match() API, and slightly
less tightly coupled UTF8 API
2021-09-21 18:45:43 -07:00
9401facbe7 Minor cleanup 2021-09-19 17:55:26 -07:00
42c75cfd73 Fix for single-arg when it's a directory 2021-09-19 17:08:51 -07:00
393778ffab Shortening \033[0m -> \033[m 2021-09-07 13:39:11 -07:00
f3eb2e99cd Fixes for inplace modifications 2021-09-07 13:38:57 -07:00
58fef531eb Changed non-tty output to BARE instead of PLAIN 2021-09-04 14:09:20 -07:00
615d94ba68 Improved formatting options 2021-09-02 18:07:18 -07:00
f8860c385e Style change: added cino=:0 (i.e. case statements on same indentation as
switch). Also fixed issue where $$ would fail to match with trailing
newline on file
2021-08-28 16:05:30 -07:00
9db5e91781 Only print filenames when there are multiple files 2021-08-25 13:15:05 -07:00
5eda0d4b88 Only print all input if input is stdin *and* context is ALL 2021-08-23 22:33:58 -07:00
9d0db7e2a3 Instead of always printing all context with -r flag, always print all
context with handling piped in input
2021-08-23 22:29:11 -07:00
2f9b0ce941 Always print file when context is ALL 2021-08-23 12:42:57 -07:00
07c628471c Changed it so --replace makes context default to all, but --inplace
doesn't, so it can still be easily used as a filter.
2021-08-06 18:11:29 -07:00
7803453977 Inplace modifying should set context to all 2021-08-06 18:06:11 -07:00
887b1dc7f2 Properly set modifying_file/backup_file in case of errors 2021-08-06 17:58:44 -07:00
ac2e8f5a15 Improved, cleaner/faster/more flexible return value checks 2021-08-06 17:52:20 -07:00
7456a21ddb Use git ls-files -z instead of newline-separated 2021-08-06 13:26:05 -07:00
567045c621 Reduced code duplication on inplace mode 2021-08-06 13:15:27 -07:00
5eb905b01f Deprecated --confirm flag 2021-08-06 12:50:57 -07:00
70f7f8c495 Added -B and -A options to match grep 2021-08-02 12:25:52 -07:00
db3c88d16b Context flag: -c -> -C (to match grep), and confirm flag: -C -> -c 2021-08-02 11:45:01 -07:00
41bd2ce6fa Renamed matchviz -> explain 2021-08-01 21:30:41 -07:00
0b2de4721f Moved caching code onto the file, which fixed an issue with file slicing
having stale cache values.
2021-08-01 15:36:53 -07:00
d3c1526f71 Cleanup of space/line skipping code 2021-08-01 13:41:13 -07:00
994c9c973e Changed how definitions work 2021-08-01 12:40:27 -07:00
cb9b4c40d8 Added -w/--word flag 2021-07-30 20:46:50 -07:00
18e8a131f5 xfree() -> delete() 2021-07-30 15:06:04 -07:00
3e63da180b Cleaner checking of stdlib negative returns 2021-07-30 15:03:21 -07:00
33a63bb8d9 Improved error checking 2021-07-30 14:54:28 -07:00
ad640caac6 Removing DEBUG_HEAP, just do a full cleanup all the time 2021-07-30 13:38:39 -07:00