rpl 0.14.0 → 0.15.0

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.
Files changed (5) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/bin/rpl +17 -4
  4. data/lib/rpl.rb +1 -1
  5. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: dd6999ded3fe0314dc2f44e980b2db12b9b4f4334d062227ac2f216da68c64e6
4
- data.tar.gz: acac7fb8f08e925e7e69ace799ca75d1b0da84441d4f3347e357fee941f48e00
3
+ metadata.gz: b0a4aed82c8e9030283580a1fde21b69411b276457c6a9ef2a15453e2b44e8bc
4
+ data.tar.gz: b7845f45fe45610384d47c0686215e1a6ebd1d93021fbafb2d152828e7fd38b1
5
5
  SHA512:
6
- metadata.gz: ba2d7283c0afd3e6ce1537b863dcb2e75837cf544875e3ede504bb9652739078a0a471f882de19439a3fe42ed79e1eaa26e59afd5a092e2dd2f1fccbe6ba384f
7
- data.tar.gz: '096e3a9a8036a56c8ed032c808be57ca85d401043ad8f32a457e2b01b4dc0df4324479bd4bcf0b75dbbf950c86529223e6d66a3bc80c853382dd5066db4cae53'
6
+ metadata.gz: 5aaef08241274f7b1118e884e34fefc400247756c026ff28e3e69ad2ed7eef59992448367cd2586d66baa723ccbfd7a8a3a881631da8cbc5801bf0540fa2cac6
7
+ data.tar.gz: c597fd8a83e0eac4493cd5738c725b796e86715a89672a7a6db2a77fe149cea915b3c820c50edef551acfdfb1b4748431cdbd6cb35c1c717bfc9b934f4a2943c
data/README.md CHANGED
@@ -8,7 +8,7 @@ Reverse-Polish-Lisp inspired language in ruby
8
8
  # Usage
9
9
  * `rpl --help`
10
10
  * run RPL: `rpl`
11
- * by default rpl persists its state in ~/.local/state/rpl.rb/machine which is created if needed
11
+ * by default rpl persists its state in $XDG_DATA_HOME/rpl.rb/env.rpl which is created if needed (if $XDG_DATA_HOME isn't set ~/.local/share/ is used)
12
12
 
13
13
  # Development
14
14
  To run REPL locally: `rake run`
data/bin/rpl CHANGED
@@ -86,10 +86,12 @@ def persistence_filename
86
86
  end
87
87
 
88
88
  options = { run_REPL: ARGV.empty?,
89
- persistence_filename: persistence_filename,
89
+ persistence: true,
90
90
  live_persistence: true,
91
+ persistence_filename: persistence_filename,
91
92
  files: [],
92
- programs: [] }
93
+ programs: [],
94
+ verbosity: :critical }
93
95
 
94
96
  Version = Rpl::VERSION
95
97
 
@@ -98,12 +100,19 @@ OptionParser.new do |opts|
98
100
  options[:persistence_filename] = File.expand_path( filename )
99
101
  end
100
102
 
101
- opts.on('-q', '--no-state', 'Do not load persisted state') do
103
+ opts.on('-q', '--no-state', 'Do not load nor save persisted state') do
104
+ warn "Not loading #{options[:persistence_filename]}." if options[:verbosity] == :debug
105
+
102
106
  options[:persistence_filename] = nil
107
+ options[:live_persistence] = false
108
+ options[:persistence] = false
103
109
  end
104
110
 
105
111
  opts.on('-d', '--no-persist', 'Do not persist state') do
112
+ warn 'Not persisting this session.' if options[:verbosity] == :debug
113
+
106
114
  options[:live_persistence] = false
115
+ options[:persistence] = false
107
116
  end
108
117
 
109
118
  opts.on('-c', '--code "program"', 'run provided "program"') do |program|
@@ -115,6 +124,8 @@ OptionParser.new do |opts|
115
124
  end
116
125
 
117
126
  opts.on('-i', '--interactive', 'launch interactive REPL') do
127
+ warn 'Will load REPL.' if options[:verbosity] == :debug
128
+
118
129
  options[:run_REPL] = true
119
130
  end
120
131
  end.parse!
@@ -136,4 +147,6 @@ end
136
147
  # third launch REPL if (explicitely or implicitely) asked
137
148
  RplRepl.new( interpreter: interpreter ).run! if options[:run_REPL]
138
149
 
139
- interpreter.persist_state
150
+ interpreter.persist_state if options[:persistence]
151
+
152
+ puts interpreter.export_stack
data/lib/rpl.rb CHANGED
@@ -5,7 +5,7 @@ require 'rpl/types'
5
5
  require 'rpl/words'
6
6
 
7
7
  class Rpl < Interpreter
8
- VERSION = '0.14.0'
8
+ VERSION = '0.15.0'
9
9
 
10
10
  include Types
11
11
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rpl
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.14.0
4
+ version: 0.15.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gwenhael Le Moine
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-10-30 00:00:00.000000000 Z
11
+ date: 2022-11-15 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Reverse-Polish-Lisp inspired language in ruby
14
14
  email: gwenhael@le-moine.org