gm-notepad 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4666e0ae345ed21a19074c884d3d5052287d70f79d61c005598c0176b5305a4c
4
- data.tar.gz: fbe40603b8d2c7ac16176e04c8dd4c314728891a07cf291fc84522071faca9ef
3
+ metadata.gz: ce5817b9b619d272b6b534d4da74e9474fb15a5cbfc1dd21ac1094ec2aed844d
4
+ data.tar.gz: a82515600b627a7b0227305cb7430a548d53d0bdf006b633390da5da80c9af8a
5
5
  SHA512:
6
- metadata.gz: 29cc37dc451ebb46573cf70c39353d6c73f65962c2956f18ddbd0abedaaa3f9a921c3ce828c10c22f2afda7268fe51099a3255fae938ca0171bfa8ab0ccfde6f
7
- data.tar.gz: d1d5a709afe55264d2bd694463837b14afaaec529c84f238ca6c6374b706c3dbaea41971d70badd6229a506aed7cdab2dcf4c660c798d22d6d91dae583be594e
6
+ metadata.gz: 5c0eb020328774f1e4395f4609fef3da8bd15957f1a97acba14d2d492eee854322d7288ad55ee486ee39774464134f34a3ce9e4150900aa966913a78a4665d00
7
+ data.tar.gz: 54da4151c52a779dd42324efe1520e066db65c696e108ccf2780c5f756f9b97f84bb66a3538d43b229d2f8973c818c45e1e390defe69600c45d867470e8db293
data/README.md CHANGED
@@ -2,14 +2,6 @@
2
2
 
3
3
  A command-line tool to help with your GM-ing.
4
4
 
5
- ## Todo
6
-
7
- - [ ] Colorize puts to `interactive` buffer
8
- - [ ] Normalize `WriteToTableHandler` to use a renderer
9
- - [ ] Normalize `WriteToTableHandler` to deliver on `grep` and `index` behavior
10
- - [ ] Gracefully handle requesting an entry from a table with an index that does not exist (e.g. with test data try `+name[23]`)
11
- - [ ] Gracefully handle `+name[]`, where "name" is a registered table
12
-
13
5
  ## To install
14
6
 
15
7
  `$ gem install gm-notepad`
@@ -44,10 +36,9 @@ Examples:
44
36
  Specific options:
45
37
  --timestamp Append a timestamp to the note (Default: false)
46
38
  -c, --config_reporting Dump the configuration data (Default: false)
47
- -d, --defer_output Defer output until system close (Default: true)
39
+ -d, --defer_output Defer output until system close (Default: false)
48
40
  -p, --path=PATH Path for {table_name}.<config.table_extension> files (Default: ["."])
49
- -tTABLE_EXTENSION, Path for {table_name}.<config.table_extension> files (Default: ".txt")
50
- --table_extension
41
+ -t, --table_extension=EXT Path for {table_name}.<config.table_extension> files (Default: ".txt")
51
42
  -l, --list_tables List tables loaded (Default: nil)
52
43
  -h, --help You're looking at it!
53
44
  ```
@@ -60,8 +51,8 @@ Which writes the following to the `interactive` buffer (eg. `$stderr`)::
60
51
 
61
52
  ```console
62
53
  => # Configuration Parameters:
63
- => # config[:config_reporting] = true
64
- => # config[:defer_output] = true
54
+ => # config[:config_reporting] = false
55
+ => # config[:defer_output] = false
65
56
  => # config[:interactive_buffer] = #<IO:<STDERR>>
66
57
  => # config[:output_buffer] = #<IO:<STDOUT>>
67
58
  => # config[:paths] = ["."]
@@ -116,3 +107,57 @@ You now have an interactive shell for `gm-notepad`. Type `?` and hit
116
107
  => [index] - Target a specific 'index'
117
108
  => {table_name} - expand_line the given 'table_name'
118
109
  ```
110
+
111
+ Now, let's take look at a table. Again in an active `gm-notepad` session type
112
+ the following: `+first-name`
113
+
114
+ `gm-notepad` will write the following to `interactive` buffer (eg. `$stderr`):
115
+
116
+ ```console
117
+ => Frodo
118
+ => Merry
119
+ => Pippin
120
+ => Sam
121
+ => {first-name}Wise
122
+ ```
123
+
124
+ These are the five table entries in the `first-name` table. Notice the fifth
125
+ entry: `{first-name}Wise`. The `{first-name}` references a table named
126
+ "first-name" (the same on you are looking at). Now type the following in your `gm-notepad`
127
+ session: `Hello {first-name}`
128
+
129
+ `gm-notepad` will read the line and recursively expand the `{first-name}` and
130
+ write the result to the `interactive` buffer and `output` buffer.
131
+
132
+ In the session you might have something like the below:
133
+
134
+ ```console
135
+ => Hello SamWise
136
+ Hello SamWise
137
+ ```
138
+ The line with starting with `=>` is the `interactive` buffer. The other line
139
+ is written to the `output` buffer.
140
+
141
+ To wrap up our first session, let's try one more thing. In your `gm-notepad`
142
+ session type the following: `{first-name} owes [2d6]gp to {first-name}`:
143
+
144
+ ```console
145
+ Frodo owes 3gp to SamWise
146
+ ```
147
+
148
+ And there you go.
149
+
150
+ ## Todo
151
+
152
+ - [ ] Colorize puts to `interactive` buffer
153
+ - [ ] Normalize `WriteToTableHandler` to use a renderer
154
+ - [ ] Normalize `WriteToTableHandler` to deliver on `grep` and `index` behavior
155
+ - [ ] Gracefully handle requesting an entry from a table with an index that does not exist (e.g. with test data try `+name[23]`)
156
+ - [ ] Gracefully handle `+name[]`, where "name" is a registered table
157
+ - [ ] Add time to live for line expansion (to prevent infinite loops)
158
+ - [ ] Enable "up" and "down" to scroll through history
159
+ - [ ] Add config that expands dice results while including the requested roll
160
+ - [ ] Determine feasibility of adding dice to the `{}` expansion syntax (instead of the `[]` syntax)
161
+ - [ ] Add index name when rendering table entries
162
+ - [ ] Add force write results to `output`
163
+ - [ ] Add concept of history
data/exe/gm-notepad CHANGED
@@ -4,7 +4,7 @@ require 'gm/notepad'
4
4
  require 'optparse'
5
5
  config = {
6
6
  config_reporting: false,
7
- defer_output: true,
7
+ defer_output: false,
8
8
  interactive_buffer: $stderr,
9
9
  output_buffer: $stdout,
10
10
  paths: ['.'],
@@ -43,7 +43,7 @@ OptionParser.new do |options|
43
43
  config[:paths] << path
44
44
  end
45
45
 
46
- options.on("-tTABLE_EXTENSION", "--table_extension=TABLE_EXTENSION", String, "Path for {table_name}.<config.table_extension> files (Default: #{config[:table_extension].inspect})") do |table_extension|
46
+ options.on("-tEXT", "--table_extension=EXT", String, "Path for {table_name}.<config.table_extension> files (Default: #{config[:table_extension].inspect})") do |table_extension|
47
47
  config[:table_extension] = table_extension
48
48
  end
49
49
 
@@ -13,7 +13,7 @@ module Gm
13
13
  end
14
14
  while match = line.match(DICE_REGEXP)
15
15
  if parsed_dice = Dice.parse(match[:dice])
16
- evaluated_dice = "#{parsed_dice.evaluate} (#{match[:dice]})"
16
+ evaluated_dice = "#{parsed_dice.evaluate}"
17
17
  else
18
18
  evaluated_dice = "(#{match[:dice]})"
19
19
  end
@@ -1,5 +1,5 @@
1
1
  module Gm
2
2
  module Notepad
3
- VERSION = "0.0.1"
3
+ VERSION = "0.0.2"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gm-notepad
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jeremy Friesen