srsh 1.0.0 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +3 -3
- data/docs/index.html +6 -6
- data/docs/js/app.js +1 -1
- data/language-docs/MIGRATION.md +1 -1
- data/lib/srsh/language/values.rb +1 -3
- data/lib/srsh/version.rb +1 -1
- data/lib/srsh.rb +6 -0
- metadata +19 -9
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: ddbe1c3a93674d1cd10bd2c47cbea50a6971b081d10122a771b300f2c33cd6ba
|
|
4
|
+
data.tar.gz: 6667a7f67f97db531fff8389adc162d18747b4f782f0583b4cfd7443d7983efb
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 3927998d22cb5faf8e4448691071e9afe178aca4b6fd62fcb175ad78f0ffa2903c981a1a984037b57f109ad592a74e6bf35916b2a0c4bb82296dc1108fb3c79f
|
|
7
|
+
data.tar.gz: 1f0d80a3ceda4f22f56d01a2057063d06c01cb005e6a8f284f3573394d590c681cda56f25681295a20c4544c2a258839df36004d6144d5e649318240213eb814
|
data/README.md
CHANGED
|
@@ -16,7 +16,7 @@ files := glob("src/**/*.rb")
|
|
|
16
16
|
|
|
17
17
|
`|` is still a Unix process pipe. `|>` is an RSH value pipe. They look related because they *are* related, but they move different things.
|
|
18
18
|
|
|
19
|
-
This tree reports **1.0.
|
|
19
|
+
This tree reports **1.0.1**. It keeps the 1.0 language and moves the supported runtime to Ruby 4.
|
|
20
20
|
|
|
21
21
|
## What SRSH is trying to be
|
|
22
22
|
|
|
@@ -37,7 +37,7 @@ It is **not a Bash parser**. Existing Bash scripts still belong to Bash. The goa
|
|
|
37
37
|
|
|
38
38
|
## Build and run
|
|
39
39
|
|
|
40
|
-
Ruby
|
|
40
|
+
Ruby 4.0+ is required. The repository selects the current Ruby 4.0 patch release through `.ruby-version`.
|
|
41
41
|
|
|
42
42
|
```sh
|
|
43
43
|
make test
|
|
@@ -447,6 +447,6 @@ The code is split by job, not by architectural cosplay. If a file gets big becau
|
|
|
447
447
|
|
|
448
448
|
## Current status
|
|
449
449
|
|
|
450
|
-
The
|
|
450
|
+
The 1.0 line is released and still young. A shell has too much surface area for claims about being independently audited or incapable of bugs.
|
|
451
451
|
|
|
452
452
|
Run the tests, beat on it, and report the ugly cases. Those are usually more useful than another feature bullet.
|
data/docs/index.html
CHANGED
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
<strong>Simple Ruby Shell</strong>
|
|
20
20
|
<span>Unix commands and the RSH language</span>
|
|
21
21
|
</div>
|
|
22
|
-
<div class="version-box">Version <span data-latest-version>1.0.
|
|
22
|
+
<div class="version-box">Version <span data-latest-version>1.0.1</span></div>
|
|
23
23
|
</div>
|
|
24
24
|
<nav class="main-nav" aria-label="Main navigation">
|
|
25
25
|
<div class="site-width">
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
</header>
|
|
34
34
|
|
|
35
35
|
<div class="site-width status-line">
|
|
36
|
-
Current source: 1.0.
|
|
36
|
+
Current source: 1.0.1 | Requires Ruby 4.0 or newer | Unix systems
|
|
37
37
|
</div>
|
|
38
38
|
|
|
39
39
|
<main id="content" class="site-width site-body">
|
|
@@ -542,7 +542,7 @@ mark=35</code></pre></div>
|
|
|
542
542
|
</div>
|
|
543
543
|
|
|
544
544
|
<div class="download-panel">
|
|
545
|
-
<h2>Latest release: <span data-latest-version>1.0.
|
|
545
|
+
<h2>Latest release: <span data-latest-version>1.0.1</span></h2>
|
|
546
546
|
<p data-release-status>The site will read the latest published release when GitHub is available.</p>
|
|
547
547
|
<p class="download-buttons">
|
|
548
548
|
<a class="download-link" data-download="gem" href="https://github.com/RobertFlexx/RSH/releases/latest/download/srsh.gem">Download gem</a>
|
|
@@ -553,7 +553,7 @@ mark=35</code></pre></div>
|
|
|
553
553
|
</div>
|
|
554
554
|
|
|
555
555
|
<h2>Install the gem file</h2>
|
|
556
|
-
<p>Ruby
|
|
556
|
+
<p>Ruby 4.0 or newer is required. RubyGems installs Fiddle 1.1.8 or newer for native bridges. Building the optional native extension also needs a C compiler and Ruby development headers.</p>
|
|
557
557
|
<div class="listing">
|
|
558
558
|
<pre id="install-gem"><code>gem install ./srsh.gem
|
|
559
559
|
srsh --version
|
|
@@ -565,7 +565,7 @@ srsh</code></pre>
|
|
|
565
565
|
<p>The shell can run as Ruby-only code. The native helper is optional when running from a checkout or source archive.</p>
|
|
566
566
|
<div class="listing">
|
|
567
567
|
<pre id="install-source"><code>tar -xzf srsh-source.tar.gz
|
|
568
|
-
cd srsh-1.0.
|
|
568
|
+
cd srsh-1.0.1
|
|
569
569
|
make test
|
|
570
570
|
./bin/srsh</code></pre>
|
|
571
571
|
<button class="copy-button" type="button" data-copy-target="install-source">copy</button>
|
|
@@ -671,7 +671,7 @@ test/ language and shell tests</code></pre></div>
|
|
|
671
671
|
|
|
672
672
|
<h2>Release policy</h2>
|
|
673
673
|
<p>
|
|
674
|
-
A tag such as <code>v1.0.
|
|
674
|
+
A tag such as <code>v1.0.1</code> must match <code>Srsh::VERSION</code>. The release workflow runs syntax checks,
|
|
675
675
|
the test suite, example validation, smoke tests, and the native build. It then creates gem and source artifacts,
|
|
676
676
|
writes SHA-256 checksums, and creates the GitHub release at that tag.
|
|
677
677
|
</p>
|
data/docs/js/app.js
CHANGED
|
@@ -174,7 +174,7 @@
|
|
|
174
174
|
if (!response.ok) throw new Error("No published release");
|
|
175
175
|
return response.json();
|
|
176
176
|
}).then(function (release) {
|
|
177
|
-
const tag = String(release.tag_name || "1.0.
|
|
177
|
+
const tag = String(release.tag_name || "1.0.1");
|
|
178
178
|
const version = tag.replace(/^v/, "");
|
|
179
179
|
const gem = findAsset(release, "srsh.gem", /^srsh-[0-9].*\.gem$/);
|
|
180
180
|
const source = findAsset(release, "srsh-source.tar.gz", /^srsh-[0-9].*\.tar\.gz$/);
|
data/language-docs/MIGRATION.md
CHANGED
|
@@ -41,4 +41,4 @@ A few intentional changes:
|
|
|
41
41
|
- missing variables can be made errors with `option nounset yes` or `option strict yes`.
|
|
42
42
|
- normal shell wildcard expansion now works; use quoted wildcards when you want literal `*`/`?` characters.
|
|
43
43
|
|
|
44
|
-
The brief development-only 1.0.x/1.1/1.2 directories were never release lines. The code they introduced
|
|
44
|
+
The brief development-only 1.0.x/1.1/1.2 directories were never release lines. The code they introduced was folded into the released 1.0 line.
|
data/lib/srsh/language/values.rb
CHANGED
|
@@ -50,9 +50,7 @@ module Srsh
|
|
|
50
50
|
class NativeFunctionValue
|
|
51
51
|
TYPES = {
|
|
52
52
|
'void' => Fiddle::TYPE_VOID,
|
|
53
|
-
|
|
54
|
-
# Fiddle does not expose TYPE_BOOL, so use its portable ABI spelling.
|
|
55
|
-
'bool' => Fiddle::TYPE_UINT8_T,
|
|
53
|
+
'bool' => Fiddle::TYPE_BOOL,
|
|
56
54
|
'i8' => Fiddle::TYPE_INT8_T, 'u8' => Fiddle::TYPE_UINT8_T,
|
|
57
55
|
'i16' => Fiddle::TYPE_INT16_T, 'u16' => Fiddle::TYPE_UINT16_T,
|
|
58
56
|
'i32' => Fiddle::TYPE_INT32_T, 'u32' => Fiddle::TYPE_UINT32_T,
|
data/lib/srsh/version.rb
CHANGED
data/lib/srsh.rb
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
+
require_relative 'srsh/version'
|
|
4
|
+
|
|
5
|
+
if RUBY_VERSION.partition('.').first.to_i < 4
|
|
6
|
+
raise LoadError, "srsh #{Srsh::VERSION} requires Ruby 4.0 or newer; found Ruby #{RUBY_VERSION}"
|
|
7
|
+
end
|
|
8
|
+
|
|
3
9
|
begin
|
|
4
10
|
require 'srsh_native'
|
|
5
11
|
rescue LoadError
|
metadata
CHANGED
|
@@ -1,18 +1,30 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: srsh
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.0.
|
|
4
|
+
version: 1.0.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- RobertFlexx
|
|
8
|
-
autorequire:
|
|
9
8
|
bindir: bin
|
|
10
9
|
cert_chain: []
|
|
11
|
-
date:
|
|
12
|
-
dependencies:
|
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
11
|
+
dependencies:
|
|
12
|
+
- !ruby/object:Gem::Dependency
|
|
13
|
+
name: fiddle
|
|
14
|
+
requirement: !ruby/object:Gem::Requirement
|
|
15
|
+
requirements:
|
|
16
|
+
- - ">="
|
|
17
|
+
- !ruby/object:Gem::Version
|
|
18
|
+
version: 1.1.8
|
|
19
|
+
type: :runtime
|
|
20
|
+
prerelease: false
|
|
21
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
22
|
+
requirements:
|
|
23
|
+
- - ">="
|
|
24
|
+
- !ruby/object:Gem::Version
|
|
25
|
+
version: 1.1.8
|
|
13
26
|
description: A Unix shell written in Ruby with a structured scripting language for
|
|
14
27
|
shell programs.
|
|
15
|
-
email:
|
|
16
28
|
executables:
|
|
17
29
|
- srsh
|
|
18
30
|
extensions:
|
|
@@ -72,7 +84,6 @@ metadata:
|
|
|
72
84
|
source_code_uri: https://github.com/RobertFlexx/RSH
|
|
73
85
|
bug_tracker_uri: https://github.com/RobertFlexx/RSH/issues
|
|
74
86
|
rubygems_mfa_required: 'true'
|
|
75
|
-
post_install_message:
|
|
76
87
|
rdoc_options: []
|
|
77
88
|
require_paths:
|
|
78
89
|
- lib
|
|
@@ -80,15 +91,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
80
91
|
requirements:
|
|
81
92
|
- - ">="
|
|
82
93
|
- !ruby/object:Gem::Version
|
|
83
|
-
version: '
|
|
94
|
+
version: '4.0'
|
|
84
95
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
85
96
|
requirements:
|
|
86
97
|
- - ">="
|
|
87
98
|
- !ruby/object:Gem::Version
|
|
88
99
|
version: '0'
|
|
89
100
|
requirements: []
|
|
90
|
-
rubygems_version:
|
|
91
|
-
signing_key:
|
|
101
|
+
rubygems_version: 4.0.16
|
|
92
102
|
specification_version: 4
|
|
93
103
|
summary: Simple Ruby Shell with the RSH scripting language
|
|
94
104
|
test_files: []
|