1c653d9665
fix: potential pointer invalidation with ft_buffer
2025-03-09 14:40:19 +01:00
836e24bcb7
quote removal: ensure quotes in middle of word are correctly handled
2025-03-07 11:25:27 +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
4f6910eccd
quote detection: ensure the rest of the test cases pass
2025-03-06 17:21:09 +01:00
f60e922680
quote marking: ensure that $ detection does not interfere
2025-03-06 17:21:09 +01:00
33fc88eeed
quote marking: ensure that operator detection does not interfere
2025-03-06 17:21:08 +01:00
3a341e601d
quote marking: ensure that mixed quotes also work
2025-03-06 17:21:08 +01:00
616cb0bc09
quote marking: ensure that double quotes also work
2025-03-06 17:21:08 +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
14dbabd6ea
testutil: add leak check function
2025-03-06 17:20:52 +01:00
e2b6f6f943
testutil: more clear output of assert_strequal
...
the strings are one above the other, and aligned correctly
2025-03-06 17:20:52 +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
68e923c09e
pipeline: ensure that parsing works for three and four commands
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
Jérôme Guélen
58be71725b
Wordsplitting: the preparation for a reswitch.
2025-02-20 15:00:32 +01:00
Jérôme Guélen
0d0a14d21a
Word splitting refactor: Prototypes to be modified
2025-02-20 15:00:32 +01:00
cba6fba845
dev: ignore .cache and compile_commands.json
...
These files are used by clangd to know where code is located.
To generate them, use
bear -- make re
and restart your lsp
jguelen: you probably don't have to deal with this
2025-02-20 15:00:32 +01:00
f92763e479
wordsplit: handle operators
2025-02-20 15:00:32 +01:00