Commit graph

55 commits

Author SHA1 Message Date
fb605455ab
Update to Ruby 4.0.1 2026-02-07 19:00:28 -08:00
050353412c
Split shell tests by profile and fix C builtin status 2026-02-07 15:16:56 -08:00
850b2c23e2
Modernize parser and shell code with Ruby 4 features 2026-02-07 15:09:24 -08:00
9630125a95
Use Data.define 2026-02-07 15:01:16 -08:00
beee5deca5
Replace command splitter with tokenizer parser 2026-02-07 14:57:09 -08:00
6a29c97314
Expand parser coverage and harden substitution semantics 2026-02-07 14:35:26 -08:00
650e38328c
Share quote parsing across shell parsers 2026-02-07 14:08:07 -08:00
f5aa086aec
Add more tests for the parser 2026-02-07 14:04:07 -08:00
058a2e991f
Harden parser error handling and builtin usage checks 2026-02-07 12:07:50 -08:00
c94e4c87e2
Extract a string parser and fix a few parsing 2026-02-07 11:52:45 -08:00
35fc514a14
Test refresh_line hook 2026-02-03 04:17:43 -08:00
2b78487c74
Add sequencing and cd dash 2026-02-03 03:57:40 -08:00
df480e3cc1
Implement arithmetic expansion 2026-02-03 03:50:58 -08:00
a73974586e
Update parser and standard 2026-02-02 21:16:07 -08:00
a323ea89fe
Add brace expansion 2026-02-02 21:15:48 -08:00
a1410cb5da
Clean up command substitution escapes 2026-02-02 21:13:31 -08:00
d6ded9dd46
Fix StandardRB in word expander 2026-02-02 21:10:10 -08:00
7cddb9393d
Respect escaped command substitution 2026-02-02 21:08:18 -08:00
6a5dec6afc
Add command substitution expansion 2026-02-02 20:52:14 -08:00
44dcfa7ba6
Expand default values recursively 2026-02-02 20:48:13 -08:00
5172c60910
Preserve escaped dollar literals 2026-02-02 20:43:43 -08:00
52ef7cb7f5
Fix tilde user expansion 2026-02-02 20:42:32 -08:00
826b4d5594
Add failing tests for missing wordexp functionality 2026-02-02 20:34:43 -08:00
9ae167ac4a
Start ditching wordexp in Ruby 2026-02-02 20:29:14 -08:00
79ba26c76b
Ditch wordexp and modify Shellwords code to make it work 2026-01-02 15:47:09 -08:00
bec3f4a1f3
Add guard gem 2026-01-02 14:50:38 -08:00
f261ce9cb8
Add tests for more wordexp features 2026-01-02 14:36:31 -08:00
2f4b5d904d
Fix tests on Ubuntu on GitHub Actions 2026-01-02 13:09:17 -08:00
7cb5697809
Make ruby -w shebang portable 2026-01-02 12:55:33 -08:00
f9e7dfe144
Add x86_64-linux to Gemfile.lock platforms 2026-01-02 12:52:27 -08:00
f72ddf7f32
Update to Ruby 4, update gems, s/rubocop/standard/ 2026-01-02 12:40:38 -08:00
71a7c7d6ed
Update to wordexp 0.2.2 2026-01-02 12:39:52 -08:00
03fc5c512f Update to Ruby 3.2.2 and wordexp 0.2.0 2023-10-05 14:48:38 -07:00
996feaf62c
Update gems and add .ruby-version 2023-02-13 23:26:44 -08:00
6cf858fbfc
[c] Make tests pass and get rid of queue_message 2022-01-22 17:08:13 -08:00
94ca5e6024
[ruby] Require the command argument after -c 2022-01-22 15:42:03 -08:00
c01e3a5fe6
Add a rake clean task 2022-01-22 15:37:04 -08:00
f16bd5f814
Allow overriding test executable with env var A1_PATH 2022-01-22 15:35:58 -08:00
b4a1f28a11
Fix tests and add rake task 2022-01-21 20:26:05 -08:00
58f1e48cd2
[ruby] Implement clear and actually use builtin pwd instead of /bin/pwd 2022-01-21 17:43:04 -08:00
5bb03eb2a2
[ruby] Implement bglist and bgkill 2022-01-21 17:39:52 -08:00
e7b73fa309 Add a few tests 2022-01-17 21:30:37 -08:00
9f0eb1378b Extract remaining code from main.rb 2022-01-17 21:30:30 -08:00
ec8baa2e1c Fix colour methods and use them 2022-01-17 19:17:42 -08:00
34150d64cb Extract job control to a separate class 2022-01-17 18:54:52 -08:00
97c597d628
Make ECHILD a verbose log instead, since it's not broken 2022-01-17 00:52:11 -08:00
ae89630e69
Add rubocop 2022-01-17 00:44:50 -08:00
ba8bf8088f
Use fork and exec and implement bg builtin 2022-01-17 00:42:19 -08:00
0d0bb73114
Use wordexp to support super fancy expansions
- Expands environment variables, e.g. $HOME -> /home/tina

- Expands tildes, e.g. ~/bin -> /home/queso/bin

- Performs command substitution, e.g. `date +%F` -> 2022-01-16
                                  or $(date +%F) -> 2022-01-16
2022-01-16 23:11:40 -08:00
9faa33fbf2
Perform proper shell word splitting and improve logging 2022-01-16 16:31:45 -08:00