|
|
5cd755b73c
|
wip: make a copy of words in pipeline_from_wordlist
|
2025-03-10 13:22:29 +00:00 |
|
|
|
d303f22b73
|
wip: tests: show more debug information
|
2025-03-10 13:22:29 +00:00 |
|
|
|
c57a4a69a7
|
WIP: parse command list tests: assert that invalid pipeline returns null
|
2025-03-10 13:22:29 +00:00 |
|
|
|
bccd68b11f
|
command list refactor: put functions in correct file
|
2025-03-10 13:22:29 +00:00 |
|
|
|
d280839764
|
command list refactor: use a builder struct
|
2025-03-10 13:22:29 +00:00 |
|
|
|
5fceb4713d
|
command list refactor: rename t_command_list to t_cmdlist
|
2025-03-10 13:22:29 +00:00 |
|
|
|
659c9f57ff
|
command list parse: different operators
|
2025-03-10 13:22:29 +00:00 |
|
|
|
1c00020c86
|
command list parse: handle triple pipeline separated with ||
|
2025-03-10 13:22:29 +00:00 |
|
|
|
e6dd1d6a56
|
command list parse: handle two commands separated by ||
|
2025-03-10 13:22:29 +00:00 |
|
|
|
36fa53131a
|
command list parse: handle single pipeline
|
2025-03-10 13:22:29 +00:00 |
|
|
|
3b36a77d34
|
command list parse: handle two commands separated by &&
|
2025-03-10 13:22:29 +00:00 |
|
|
|
3b8b2c7a4a
|
wordlist: add a function to debug-print a wordlist
|
2025-03-10 13:22:29 +00:00 |
|
|
|
eb21f00156
|
command list parsing: handle empty input
This is really not that usefull, it is more to setup the groundwork
|
2025-03-10 13:22:29 +00:00 |
|
|
|
1c653d9665
|
fix: potential pointer invalidation with ft_buffer
|
2025-03-09 14:40:19 +01:00 |
|
|
|
94e55d1d8b
|
quote removal: handle nested quotes
|
2025-03-07 11:21:13 +01:00 |
|
|
|
a3d2143b8b
|
quote removal: handle non-nested quotes
|
2025-03-07 11:15:30 +01:00 |
|
|
|
7b76c1a71f
|
quote removal: if given null, return null
|
2025-03-07 11:09:32 +01:00 |
|
|
|
0fecded23b
|
quote removal: handle strings with no quotes
|
2025-03-07 11:09:21 +01:00 |
|
|
|
c1f337af01
|
quote marking: single-quotes are marked
|
2025-03-06 17:21:08 +01:00 |
|
|
|
e99c7e5986
|
worddesc_create: take the marker as an argument
|
2025-03-06 17:21:08 +01:00 |
|
|
|
2c5d5abdc4
|
quote marking: no quotes lead to marker filled with spaces
|
2025-03-06 17:20:52 +01:00 |
|
|
|
4b403c4bf3
|
pipeline parse: reject hanging pipe at end
This rejects commands such as
echo hello | cat -e |
I also updated the doc this time
|
2025-02-28 13:15:11 +01:00 |
|
|
|
8606774781
|
pipeline parse: note that | token at the end may lead to undefined behaviour
|
2025-02-24 15:53:45 +01:00 |
|
|
|
a8711568c1
|
pipeline parse: detect and reject pipe at start of command
|
2025-02-24 15:22:40 +01:00 |
|
|
|
36df14e599
|
refactor pipeline: use a state machine for parsing
This allows for easier-to-norm code
|
2025-02-24 15:10:29 +01:00 |
|
|
|
c9f8c5a4f9
|
pipeline: reject repetitions of '|' token
|
2025-02-24 14:56:16 +01:00 |
|
|
|
5f1485d1d5
|
pipeline: parse basic pipeline commands with two commands
|
2025-02-24 14:56:16 +01:00 |
|
|
|
2b8bb859d1
|
matchers: add matcher for a pipe
|
2025-02-24 14:56:16 +01:00 |
|
|
|
256a8f5f9b
|
pipeline: handle parsing of single-command pipelines
|
2025-02-24 14:56:16 +01:00 |
|
|
|
695596fde2
|
wordsplit flags: also set W_HASDOLLAR if dollar is found in double quotes
Fixes #15
|
2025-02-24 14:51:26 +01:00 |
|
Jérôme Guélen
|
d26d883a91
|
Signal: Added comments for better documentation.
|
2025-02-24 13:04:36 +01:00 |
|
Jérôme Guélen
|
776ce85255
|
Signal: basic signal handling. Correction.
|
2025-02-24 13:04:36 +01:00 |
|
Jérôme Guélen
|
83d88681a2
|
Signal: A basic version for the capture of signals.
|
2025-02-24 13:04:36 +01:00 |
|
Jérôme Guélen
|
837abc8361
|
sig: Starting to deal with signals
|
2025-02-24 13:04:36 +01:00 |
|
|
|
a50b2f6d74
|
simple_cmd: actually contain words
|
2025-02-21 12:52:27 +01:00 |
|
|
|
49d7a2b9ff
|
simple_cmd: initial setup of create/destroy functions
|
2025-02-21 12:44:17 +01:00 |
|
|
|
6f175dd792
|
norm: fix line too long & rename token_build to builder in all locations
|
2025-02-21 12:42:20 +01:00 |
|
|
|
068a7c85c0
|
norm: fix 42 header creation date being updated all the time
I have no idea how this happend
|
2025-02-21 12:41:25 +01:00 |
|
|
|
abf37eb7f5
|
wordsplit: set quote and dquote flags
|
2025-02-20 15:39:03 +01:00 |
|
|
|
ac8475c71d
|
wordsplit: implemet rule for variable substitution detection (rule 5)
|
2025-02-20 15:00:48 +01:00 |
|
|
|
e10ed04169
|
matcher: is_quote
|
2025-02-20 15:00:48 +01:00 |
|
|
|
591518e9bc
|
rule utils: operator combo
|
2025-02-20 15:00:48 +01:00 |
|
|
|
b13f8f096b
|
rule utils: unquoted
|
2025-02-20 15:00:48 +01:00 |
|
|
|
f86de825bd
|
rule utils: unquoted operator
|
2025-02-20 15:00:48 +01:00 |
|
|
|
edf8946fe3
|
wordsplit rules: fix basic norm problems
also make notes for future refactorings
|
2025-02-20 15:00:48 +01:00 |
|
|
|
f2469f1600
|
token_build: rename current_index to idx
|
2025-02-20 15:00:48 +01:00 |
|
|
|
6f8a86732b
|
wordsplit: rename token_build to builder in argument names
|
2025-02-20 15:00:48 +01:00 |
|
|
|
b23eb0f244
|
wordsplit: increment index + rename rules
|
2025-02-20 15:00:48 +01:00 |
|
|
|
6c8dd312c0
|
wordsplit: make it compile
|
2025-02-20 15:00:48 +01:00 |
|
|
|
3e64ac3769
|
wordsplit: use individual rule funcs
|
2025-02-20 15:00:32 +01:00 |
|