dasheets 0.0.2 → 0.0.3

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 CHANGED
@@ -1,7 +1,15 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 62b108dde9128cfabd4d010435fde4a59112ed8a
4
- data.tar.gz: c15937f60fe7ff9d2292969895ef551059b6c0f9
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ Njk2ODJjYWYyMzdjOTdiOGFiYzJjMzMzNjYyZmMxODY2OTVlNmVmZQ==
5
+ data.tar.gz: !binary |-
6
+ Y2M4MDIxNGRjOWFlNzQwYjQwYjQ0NDc1MzM1YmUzMGU3MmM0NzliMg==
5
7
  SHA512:
6
- metadata.gz: be969821c53733a94677b70dc1584afaad22448ecbc803d14d5147c1d865f08a44825e166cfe54bf6deff56f975365019baf2eaee7b00e0c153ef06a48dbd472
7
- data.tar.gz: 20d90d53c701d30dfcd18f28198ed55c41f2b41b52b38fecb65de9f906ee36d1ea348a444cecf495ca4bd67ab9bbd7c473d125ee36164f65ea22c324e2af71a0
8
+ metadata.gz: !binary |-
9
+ MTg5YzdlYjhhNDhkM2M2ZmM5MzVlM2Q2ZGI5ZTQ0MmY2NTZmNGFlN2UwYTc4
10
+ ZTY2OTAwZTZkZDc0NTYxNDI0NTBjOTIxZmNhMzM1NTBiNzAwNGU5NjlhMjEx
11
+ NDk0OWVkZjMyMmRjMjUzODA2ZmYyMTNjYjg3YzdiYzRiMzY1OWM=
12
+ data.tar.gz: !binary |-
13
+ YTQ1MzdjYTVhNGY2OGIxODUwZjkzMDQxY2RmNmU4MTFiYzNkY2JiZWExMDY0
14
+ YmUzYWI4MDRmODA2ZGQ4NDk1ZTM5OTg5ZmIyMzIwNDU3MjgxY2EyZjQ4YzVm
15
+ NWU3YTM0ZjdlZTE2MTg2YzA1YjdhYTNmNmMwNWU3MjM4MDM1YWY=
data/README.md CHANGED
@@ -1,5 +1,7 @@
1
1
  # Dasheets
2
2
 
3
+ [![Gem Version](https://badge.fury.io/rb/dasheets.png)](http://badge.fury.io/rb/dasheets)
4
+
3
5
  Generate your own cheatsheets as docsets for [Dash](http://kapeli.com/dash)!
4
6
  Use this simple command line tool and write your cheatsheets in an easy
5
7
  language (Ruby DSL).
@@ -12,43 +14,58 @@ language (Ruby DSL).
12
14
 
13
15
  Write a file (here `tmux.cheatsheet`) containing your cheatsheet-data, e. g.:
14
16
 
15
- cheatsheet do
16
- title 'TMUX-Cheatsheet'
17
- short_name 'tmux'
18
-
19
- category do
20
- id 'windows'
21
- entry do
22
- name 'create window'
23
- command 'PREFIX-c'
24
- end
25
- entry do
26
- name 'rename window'
27
- command 'PREFIX-,'
28
- end
29
- entry do
30
- name 'go to next window'
31
- command 'PREFIX-n'
32
- end
33
- end
34
-
35
- category do
36
- id 'panes'
37
- entry do
38
- name 'split horizontally'
39
- command 'PREFIX-|'
40
- notes 'custom mapping'
41
- end
42
- entry do
43
- name 'split horizontally'
44
- command 'PREFIX-%'
45
- end
46
- entry do
47
- name 'split vertically'
48
- command 'PREFIX-"'
49
- end
50
- end
17
+ ```
18
+ cheatsheet do
19
+ title 'tmux cheatsheet'
20
+ short_name 'tmux' # Used for the filename of the docset
21
+ introduction 'My *awesome* cheatsheet for tmux'
22
+
23
+ # A cheatsheet must consist of categories
24
+ category do
25
+ id 'windows' # must be unique and is used as title of the category
26
+
27
+ entry do
28
+ command 'PREFIX-c'
29
+ name 'create window' # A short name
30
+ notes 'theses are some notes' # longer explanation
31
+ end
32
+ entry do
33
+ name 'rename window'
34
+ command 'PREFIX-,'
35
+ end
36
+ entry do
37
+ name 'go to next window'
38
+ command 'PREFIX-n'
39
+ end
40
+ end
41
+
42
+ category do
43
+ id 'panes'
44
+ entry do
45
+ name 'split horizontally'
46
+ command 'PREFIX-|'
47
+ notes 'custom mapping'
48
+ end
49
+ entry do
50
+ name 'split horizontally'
51
+ command 'PREFIX-%'
52
+ end
53
+ entry do
54
+ name 'split vertically'
55
+ command 'PREFIX-"'
51
56
  end
57
+ end
58
+
59
+ notes 'Some notes at the end of the cheatsheet'
60
+ end
61
+ ```
62
+ The following values may contain markdown formatted text:
63
+
64
+ * The `introduction` and the `notes` of the cheatsheet
65
+ * The `name` and the `notes` of the entries
66
+
67
+ For more complete examples look at some of
68
+ [my actual cheatsheets](https://github.com/der-flo/my_dasheets).
52
69
 
53
70
  To convert this file to a docset, call
54
71
 
data/TODO CHANGED
@@ -1,5 +1,2 @@
1
- TODO
2
- * Better documentation, more examples, ...
3
- * Even nicer HTML ;-)
4
- * Icon
5
- * http://badge.fury.io/for/rb/dasheets
1
+ Prio 2
2
+ * Table of Contents Support - http://kapeli.com/docsets
@@ -4,4 +4,3 @@ $LOAD_PATH << File.expand_path('../../lib', __FILE__)
4
4
  require 'dasheets'
5
5
  require 'dasheets/cli'
6
6
  Dasheets::CLI.start
7
-
@@ -1,11 +1,7 @@
1
1
  require 'dasheets/version'
2
2
  require 'minidown'
3
3
 
4
- module Dasheets
5
- module DSL
6
- end
7
- end
8
-
9
- %w(creator dsl/cheatsheet dsl/category dsl/context dsl/entry).each do |file|
4
+ %w(creator dsl/base dsl/cheatsheet dsl/category dsl/context
5
+ dsl/entry).each do |file|
10
6
  require "dasheets/#{file}"
11
7
  end
@@ -7,12 +7,14 @@ require 'ostruct'
7
7
  class Dasheets::Creator
8
8
  def initialize(cheatsheet)
9
9
  @cheatsheet = cheatsheet
10
- @path = "#{@cheatsheet.short_name}.docset/Contents/"
10
+ @docset_path = "#{@cheatsheet.short_name}.docset"
11
+ @path = "#{@docset_path}/Contents/"
11
12
  end
12
13
 
13
14
  def generate
14
15
  FileUtils.rm_rf(@path)
15
16
  FileUtils.mkdir_p(@path)
17
+ copy_icon
16
18
  generate_html_file
17
19
  generate_plist_file
18
20
  generate_database
@@ -20,9 +22,15 @@ class Dasheets::Creator
20
22
 
21
23
  private
22
24
 
23
- def generate_html_file
24
- tpl_path = File.expand_path('../templates', __FILE__)
25
+ def tpl_path
26
+ File.expand_path('../templates', __FILE__)
27
+ end
25
28
 
29
+ def copy_icon
30
+ FileUtils.cp("#{tpl_path}/icon.png", @docset_path)
31
+ end
32
+
33
+ def generate_html_file
26
34
  # HTML
27
35
  template = File.read("#{tpl_path}/template.haml")
28
36
  engine = Haml::Engine.new(template)
@@ -0,0 +1,34 @@
1
+ module Dasheets
2
+ module DSL
3
+ class Base
4
+ def initialize(&block)
5
+ instance_eval(&block)
6
+ end
7
+ private
8
+
9
+ def parse_markdown(str)
10
+ Minidown.parse(i).to_html
11
+ end
12
+
13
+ def self.define_attrs(*names)
14
+ names.each do |name|
15
+ define_method(name) do |val = nil|
16
+ instance_variable_set("@#{name}", val) if val
17
+ instance_variable_get("@#{name}")
18
+ end
19
+ end
20
+ end
21
+ def self.define_markdown_attrs(*names)
22
+ names.each do |name|
23
+ define_method(name) do |val = nil|
24
+ if val
25
+ val = Minidown.parse(val).to_html
26
+ instance_variable_set("@#{name}", val)
27
+ end
28
+ instance_variable_get("@#{name}")
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
@@ -1,15 +1,16 @@
1
- class Dasheets::DSL::Category
2
- attr_reader :entries
3
- def initialize(&block)
4
- @entries = []
5
- instance_eval(&block)
6
- end
1
+ module Dasheets
2
+ module DSL
3
+ class Category < Base
4
+ attr_reader :entries
5
+ define_attrs :id
7
6
 
8
- def id(id = nil)
9
- @id = id if id
10
- @id
11
- end
12
- def entry(&block)
13
- @entries << Dasheets::DSL::Entry.new(&block)
7
+ def initialize(&block)
8
+ @entries = []
9
+ super(&block)
10
+ end
11
+ def entry(&block)
12
+ @entries << Dasheets::DSL::Entry.new(&block)
13
+ end
14
+ end
14
15
  end
15
16
  end
@@ -1,28 +1,18 @@
1
- class Dasheets::DSL::Cheatsheet
2
- attr_reader :categories
3
- def initialize(&block)
4
- @categories = []
5
- instance_eval(&block)
6
- end
1
+ module Dasheets
2
+ module DSL
3
+ class Cheatsheet < Base
4
+ attr_reader :categories
5
+ define_attrs :title, :short_name
6
+ define_markdown_attrs :introduction, :notes
7
7
 
8
- def category(&block)
9
- @categories << Dasheets::DSL::Category.new(&block)
10
- end
8
+ def initialize(&block)
9
+ @categories = []
10
+ super(&block)
11
+ end
11
12
 
12
- def title(t = nil)
13
- @title = t if t
14
- @title
15
- end
16
- def short_name(s = nil)
17
- @short_name = s if s
18
- @short_name
19
- end
20
- def introduction(i = nil)
21
- @introduction = Minidown.parse(i).to_html if i
22
- @introduction
23
- end
24
- def notes(n = nil)
25
- @notes = Minidown.parse(n).to_html if n
26
- @notes
13
+ def category(&block)
14
+ @categories << Dasheets::DSL::Category.new(&block)
15
+ end
16
+ end
27
17
  end
28
18
  end
@@ -1,13 +1,17 @@
1
- class Dasheets::DSL::Context
2
- def initialize(filename)
3
- instance_eval(File.read(filename))
4
- end
5
- def generate
6
- Dasheets::Creator.new(@data).generate
7
- end
8
- private
1
+ module Dasheets
2
+ module DSL
3
+ class Context
4
+ def initialize(filename)
5
+ instance_eval(File.read(filename))
6
+ end
7
+ def generate
8
+ Dasheets::Creator.new(@data).generate
9
+ end
10
+ private
9
11
 
10
- def cheatsheet(&block)
11
- @data = Dasheets::DSL::Cheatsheet.new(&block)
12
+ def cheatsheet(&block)
13
+ @data = Dasheets::DSL::Cheatsheet.new(&block)
14
+ end
15
+ end
12
16
  end
13
17
  end
@@ -1,25 +1,8 @@
1
- require 'minidown'
2
-
3
- # TODO: Refactor Minidown usage?
4
-
5
- class Dasheets::DSL::Entry
6
- def initialize(&block)
7
- instance_eval(&block)
8
- end
9
- def name(name = nil)
10
- if name
11
- @name = Minidown.parse(name).to_html
12
- end
13
- @name
14
- end
15
- def command(c = nil)
16
- @command = c if c
17
- @command
18
- end
19
- def notes(n = nil)
20
- if n
21
- @notes = Minidown.parse(n).to_html
1
+ module Dasheets
2
+ module DSL
3
+ class Entry < Base
4
+ define_attrs :command
5
+ define_markdown_attrs :name, :notes
22
6
  end
23
- @notes
24
7
  end
25
8
  end
@@ -1,93 +1,79 @@
1
- /*
2
- #050405
3
- #041F38
4
- #1C4E70
5
- #40738F
6
- #E8F0F8
7
- */
8
-
9
1
  h1, h2, h3, p, blockquote {
10
2
  margin: 0;
11
- padding: 0;
12
- }
3
+ padding: 0; }
4
+
13
5
  body {
14
6
  font-family: 'Open Sans', sans-serif;
15
7
  font-size: 14px;
16
- line-height: 1.5em;
17
- color: #050405;
18
- background-color: #E8F0F8;
19
- margin: 0;
20
- }
8
+ color: black;
9
+ background-color: white;
10
+ margin: 0; }
11
+
12
+ code, pre {
13
+ font-family: 'Droid Sans Mono', monospace; }
21
14
 
22
15
  header {
23
- color: #E8F0F8;
24
- background-color: #041F38;
25
- padding: 1em;
26
- }
27
- article {
28
- margin: 1em;
29
- }
16
+ color: #efefef;
17
+ background-color: #666666;
18
+ padding: 2em 1em 1em 4em; }
19
+
20
+ h1 {
21
+ font-family: Lobster, sans-serif;
22
+ font-size: 60px; }
23
+
30
24
  footer {
31
25
  margin: 1em;
32
- background-color: #1C4E70;
33
- color: #E8F0F8;
34
- padding: .5em;
35
- border-radius: .5em;
36
- text-align: center;
37
- }
38
- footer a {
39
- color: #E8F0F8;
40
- }
26
+ background-color: #666666;
27
+ color: #efefef;
28
+ border-radius: 10px;
29
+ text-align: center; }
30
+ footer a {
31
+ color: #efefef; }
32
+
33
+ article {
34
+ margin: 1em; }
35
+
36
+ section {
37
+ border: 2px solid #666666;
38
+ border-radius: 10px;
39
+ background-color: #666666;
40
+ margin: .5em 0;
41
+ overflow: hidden; }
42
+
43
+ h2 {
44
+ color: white;
45
+ font-size: 1.5em;
46
+ text-align: center; }
41
47
 
42
48
  table {
49
+ background-color: white;
43
50
  border-collapse: collapse;
44
- border: 2px solid #40738F;
45
- border-radius: 10px;
46
- margin-bottom: .1em;
47
- width: 100%;
48
- }
51
+ width: 100%; }
52
+
53
+ td {
54
+ padding: 2px; }
49
55
 
50
- td, th {
51
- padding: .1em .1em 2em .1em;
52
- }
53
56
  td.command {
54
- min-width: 25%;
55
- }
57
+ width: 15%;
58
+ white-space: nowrap;
59
+ vertical-align: top;
60
+ padding: .3em 0 0 .3em; }
61
+ td.command code {
62
+ padding: .1em .6em;
63
+ box-shadow: 0 1px 0px rgba(0, 0, 0, 0.2), 0 0 0 2px white inset;
64
+ border-radius: 3px;
65
+ border: 1px solid #ccc;
66
+ background-color: #efefef;
67
+ color: #333; }
56
68
 
57
- a {
58
- color: #0069d6;
59
- }
60
- p {
61
- margin-bottom: 9px;
62
- }
63
- h1, h2, h3 {
64
- line-height: 36px;
65
- margin: 1em 0 .5em 0;
66
- }
67
- h1 {
68
- font-family: Lobster, sans-serif;
69
- font-size: 48px;
70
- }
71
- h2 {
72
- font-size: 24px;
73
- }
74
- h3 {
75
- font-size: 1.2em;
76
- }
69
+ td.description .name {
70
+ font-size: 1.2em; }
77
71
 
78
- code, pre {
79
- font-family: 'Droid Sans Mono', monospace;
80
- }
81
- code {
82
- background-color: #40738F;
83
- color: #E8F0F8;
84
- padding: .1em .3em;
85
- border-radius: .5em;
86
- font-size: 1.5em;
87
- }
72
+ tr:nth-child(even) {
73
+ background: #efefef; }
88
74
 
89
- th {
90
- color: #E8F0F8;
91
- background-color: #40738F;
92
- }
75
+ a {
76
+ color: #666666; }
93
77
 
78
+ p + p {
79
+ margin-top: .5em; }
@@ -0,0 +1,102 @@
1
+ $white: #fff;
2
+ $light_gray: #efefef;
3
+ $dark_gray: #666;
4
+ $black: #000;
5
+ ////////////////////////////////////////////////////////////////////////////////
6
+ h1, h2, h3, p, blockquote {
7
+ margin: 0;
8
+ padding: 0;
9
+ }
10
+ body {
11
+ font-family: 'Open Sans', sans-serif;
12
+ font-size: 14px;
13
+ color: $black;
14
+ background-color: $white;
15
+ margin: 0;
16
+ }
17
+ code, pre {
18
+ font-family: 'Droid Sans Mono', monospace;
19
+ }
20
+
21
+ ////////////////////////////////////////////////////////////////////////////////
22
+ header {
23
+ color: $light_gray;
24
+ background-color: $dark_gray;
25
+ padding: 2em 1em 1em 4em;
26
+ }
27
+ h1 {
28
+ font-family: Lobster, sans-serif;
29
+ font-size: 60px;
30
+ }
31
+
32
+ ////////////////////////////////////////////////////////////////////////////////
33
+ footer {
34
+ margin: 1em;
35
+ background-color: $dark_gray;
36
+ color: $light_gray;
37
+ border-radius: 10px;
38
+ text-align: center;
39
+ a {
40
+ color: $light_gray;
41
+ }
42
+ }
43
+
44
+ ////////////////////////////////////////////////////////////////////////////////
45
+
46
+ article {
47
+ margin: 1em;
48
+ }
49
+
50
+ section {
51
+ border: 2px solid $dark_gray;
52
+ border-radius: 10px;
53
+ background-color: $dark_gray;
54
+ margin: .5em 0;
55
+ overflow: hidden;
56
+ }
57
+ h2 {
58
+ color: $white;
59
+ font-size: 1.5em;
60
+ text-align: center;
61
+ }
62
+ table {
63
+ background-color: $white;
64
+ border-collapse: collapse;
65
+ width: 100%;
66
+ }
67
+ td {
68
+ padding: 2px;
69
+ }
70
+ td.command {
71
+ width: 15%;
72
+ white-space: nowrap;
73
+ vertical-align: top;
74
+ padding: .3em 0 0 .3em;
75
+ code {
76
+ // Nice key styling:
77
+ // https://developers.google.com/chrome-developer-tools/docs/shortcuts
78
+ padding: .1em .6em;
79
+ box-shadow: 0 1px 0px rgba(0, 0, 0, 0.2), 0 0 0 2px #fff inset;
80
+ border-radius: 3px;
81
+ border: 1px solid #ccc;
82
+ background-color: $light_gray;
83
+ color: #333;
84
+ }
85
+ }
86
+
87
+ td.description {
88
+ .name {
89
+ font-size: 1.2em;
90
+ }
91
+ }
92
+ tr:nth-child(even) {
93
+ background: $light_gray;
94
+ }
95
+
96
+ a {
97
+ color: $dark_gray;
98
+ }
99
+ p + p {
100
+ margin-top: .5em;
101
+ }
102
+
@@ -14,17 +14,16 @@
14
14
  %p= introduction
15
15
 
16
16
  - categories.each do |category|
17
- %table
18
- %tr
19
- %th{colspan: 2}
20
- %h2= category.id
21
- - category.entries.each_with_index do |entry, index|
22
- %tr{id: "#{category.id}-#{index}"}
23
- %td.command
24
- %code= entry.command
25
- %td
26
- %h3= entry.name
27
- %div= entry.notes
17
+ %section
18
+ %h2= category.id
19
+ %table
20
+ - category.entries.each_with_index do |entry, index|
21
+ %tr{id: "#{category.id}-#{index}"}
22
+ %td.command
23
+ %code= entry.command
24
+ %td.description
25
+ .name= entry.name
26
+ .notes= entry.notes
28
27
  - if notes
29
28
  %h2 Notes
30
29
  = notes
@@ -1,3 +1,3 @@
1
1
  module Dasheets
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dasheets
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Florian Dütsch
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-11-15 00:00:00.000000000 Z
11
+ date: 2013-12-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -28,28 +28,28 @@ dependencies:
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - '>='
31
+ - - ! '>='
32
32
  - !ruby/object:Gem::Version
33
33
  version: '0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - '>='
38
+ - - ! '>='
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: thor
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - '>='
45
+ - - ! '>='
46
46
  - !ruby/object:Gem::Version
47
47
  version: '0'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - '>='
52
+ - - ! '>='
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
@@ -124,15 +124,17 @@ files:
124
124
  - TODO
125
125
  - bin/dasheets
126
126
  - dasheets.gemspec
127
- - examples/tmux.cheatsheet
128
127
  - lib/dasheets.rb
129
128
  - lib/dasheets/cli.rb
130
129
  - lib/dasheets/creator.rb
130
+ - lib/dasheets/dsl/base.rb
131
131
  - lib/dasheets/dsl/category.rb
132
132
  - lib/dasheets/dsl/cheatsheet.rb
133
133
  - lib/dasheets/dsl/context.rb
134
134
  - lib/dasheets/dsl/entry.rb
135
+ - lib/dasheets/templates/icon.png
135
136
  - lib/dasheets/templates/style.css
137
+ - lib/dasheets/templates/style.scss
136
138
  - lib/dasheets/templates/template.haml
137
139
  - lib/dasheets/version.rb
138
140
  homepage: https://github.com/Nix-wie-weg/dasheets
@@ -145,18 +147,19 @@ require_paths:
145
147
  - lib
146
148
  required_ruby_version: !ruby/object:Gem::Requirement
147
149
  requirements:
148
- - - '>='
150
+ - - ! '>='
149
151
  - !ruby/object:Gem::Version
150
152
  version: '0'
151
153
  required_rubygems_version: !ruby/object:Gem::Requirement
152
154
  requirements:
153
- - - '>='
155
+ - - ! '>='
154
156
  - !ruby/object:Gem::Version
155
157
  version: '0'
156
158
  requirements: []
157
159
  rubyforge_project:
158
- rubygems_version: 2.0.6
160
+ rubygems_version: 2.1.10
159
161
  signing_key:
160
162
  specification_version: 4
161
163
  summary: Generate cheatsheets for Dash
162
164
  test_files: []
165
+ has_rdoc:
@@ -1,38 +0,0 @@
1
- cheatsheet do
2
- title 'TMUX-Cheatsheet'
3
- short_name 'tmux'
4
-
5
- category do
6
- id 'windows'
7
- entry do
8
- name 'create window'
9
- command 'PREFIX-c'
10
- end
11
- entry do
12
- name 'rename window'
13
- command 'PREFIX-,'
14
- end
15
- entry do
16
- name 'go to next window'
17
- command 'PREFIX-n'
18
- end
19
- end
20
-
21
- category do
22
- id 'panes'
23
- entry do
24
- name 'split horizontally'
25
- command 'PREFIX-|'
26
- notes 'custom mapping'
27
- end
28
- entry do
29
- name 'split horizontally'
30
- command 'PREFIX-%'
31
- end
32
- entry do
33
- name 'split vertically'
34
- command 'PREFIX-"'
35
- end
36
- end
37
- end
38
-