vimgolf 0.4.5 → 0.5.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.
data/lib/vimgolf/ui.rb CHANGED
@@ -40,6 +40,18 @@ module VimGolf
40
40
  end
41
41
  end
42
42
 
43
+ # Take list of keystrokes, pretty-print them
44
+ def print_log(strokes)
45
+ strokes.each do |stroke|
46
+ if stroke.length == 1 # not a special character
47
+ say stroke, color=nil, force_new_line=false
48
+ else
49
+ say stroke, color=:red, force_new_line=false
50
+ end
51
+ end
52
+ say
53
+ end
54
+
43
55
  def debug(name, message = nil)
44
56
  return unless ENV["DEBUG"]
45
57
 
@@ -127,7 +139,7 @@ module VimGolf
127
139
  print_table(table, :ident => 2, :truncate => true, :colwidth => 20)
128
140
  end
129
141
 
130
- def set_color(string, color, bold=false)
142
+ def set_color(string, *colors)
131
143
  ($stdout.tty? || ENV['THOR_SHELL']) ? super : string
132
144
  end
133
145
 
@@ -1,3 +1,3 @@
1
1
  module Vimgolf
2
- VERSION = "0.4.5"
2
+ VERSION = "0.5.0"
3
3
  end
@@ -0,0 +1,28 @@
1
+ " http://vimdoc.sourceforge.net/htmldoc/starting.html#vimrc
2
+
3
+ set nocompatible " use vim defaults
4
+ set scrolloff=3 " keep 3 lines when scrolling
5
+ set ai " set auto-indenting on for programming
6
+
7
+ set showcmd " display incomplete commands
8
+ set nobackup " do not keep a backup file
9
+ set number " show line numbers
10
+ set ruler " show the current row and column
11
+
12
+ set hlsearch " highlight searches
13
+ set incsearch " do incremental searching
14
+ set showmatch " jump to matches when entering regexp
15
+ set ignorecase " ignore case when searching
16
+ set smartcase " no ignorecase if Uppercase char present
17
+
18
+ set visualbell t_vb= " turn off error beep/flash
19
+ set novisualbell " turn off visual bell
20
+
21
+ set backspace=indent,eol,start " make that backspace key work the way it should
22
+ set runtimepath=$VIMRUNTIME " turn off user scripts, https://github.com/igrigorik/vimgolf/issues/129
23
+
24
+ syntax on " turn syntax highlighting on by default
25
+ filetype on " detect type of file
26
+ filetype indent on " load indent file for specific file type
27
+
28
+ set t_RV= " http://bugs.debian.org/608242, http://groups.google.com/group/vim_dev/browse_thread/thread/9770ea844cec3282
metadata CHANGED
@@ -1,97 +1,159 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vimgolf
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.5
5
- prerelease:
4
+ version: 0.5.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - Ilya Grigorik
9
- autorequire:
8
+ autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-06-29 00:00:00.000000000 Z
11
+ date: 2021-05-28 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: thor
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ! '>='
17
+ - - "~>"
20
18
  - !ruby/object:Gem::Version
21
- version: 0.14.6
19
+ version: '1.0'
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: 1.0.1
22
23
  type: :runtime
23
24
  prerelease: false
24
25
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
26
  requirements:
27
- - - ! '>='
27
+ - - "~>"
28
+ - !ruby/object:Gem::Version
29
+ version: '1.0'
30
+ - - ">="
28
31
  - !ruby/object:Gem::Version
29
- version: 0.14.6
32
+ version: 1.0.1
30
33
  - !ruby/object:Gem::Dependency
31
34
  name: json_pure
32
35
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
36
  requirements:
35
- - - ! '>='
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: '2.3'
40
+ - - ">="
36
41
  - !ruby/object:Gem::Version
37
- version: '0'
42
+ version: 2.3.1
38
43
  type: :runtime
39
44
  prerelease: false
40
45
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
46
  requirements:
43
- - - ! '>='
47
+ - - "~>"
44
48
  - !ruby/object:Gem::Version
45
- version: '0'
49
+ version: '2.3'
50
+ - - ">="
51
+ - !ruby/object:Gem::Version
52
+ version: 2.3.1
46
53
  - !ruby/object:Gem::Dependency
47
54
  name: highline
48
55
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
56
  requirements:
51
- - - ! '>='
57
+ - - "~>"
58
+ - !ruby/object:Gem::Version
59
+ version: '2.0'
60
+ - - ">="
52
61
  - !ruby/object:Gem::Version
53
- version: '0'
62
+ version: 2.0.3
54
63
  type: :runtime
55
64
  prerelease: false
56
65
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
66
  requirements:
59
- - - ! '>='
67
+ - - "~>"
68
+ - !ruby/object:Gem::Version
69
+ version: '2.0'
70
+ - - ">="
60
71
  - !ruby/object:Gem::Version
61
- version: '0'
72
+ version: 2.0.3
62
73
  - !ruby/object:Gem::Dependency
63
74
  name: rspec
64
75
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
76
  requirements:
67
- - - ! '>='
77
+ - - ">="
68
78
  - !ruby/object:Gem::Version
69
- version: '0'
79
+ version: 3.7.0
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '3.7'
70
83
  type: :development
71
84
  prerelease: false
72
85
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
86
  requirements:
75
- - - ! '>='
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: 3.7.0
90
+ - - "~>"
76
91
  - !ruby/object:Gem::Version
77
- version: '0'
92
+ version: '3.7'
78
93
  - !ruby/object:Gem::Dependency
79
94
  name: rake
80
95
  requirement: !ruby/object:Gem::Requirement
81
- none: false
82
96
  requirements:
83
- - - ! '>='
97
+ - - "~>"
98
+ - !ruby/object:Gem::Version
99
+ version: '12.3'
100
+ - - ">="
101
+ - !ruby/object:Gem::Version
102
+ version: 12.3.1
103
+ type: :development
104
+ prerelease: false
105
+ version_requirements: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - "~>"
108
+ - !ruby/object:Gem::Version
109
+ version: '12.3'
110
+ - - ">="
111
+ - !ruby/object:Gem::Version
112
+ version: 12.3.1
113
+ - !ruby/object:Gem::Dependency
114
+ name: climate_control
115
+ requirement: !ruby/object:Gem::Requirement
116
+ requirements:
117
+ - - "~>"
84
118
  - !ruby/object:Gem::Version
85
- version: '0'
119
+ version: '0.2'
86
120
  type: :development
87
121
  prerelease: false
88
122
  version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
123
  requirements:
91
- - - ! '>='
124
+ - - "~>"
125
+ - !ruby/object:Gem::Version
126
+ version: '0.2'
127
+ - !ruby/object:Gem::Dependency
128
+ name: rexml
129
+ requirement: !ruby/object:Gem::Requirement
130
+ requirements:
131
+ - - "~>"
92
132
  - !ruby/object:Gem::Version
93
- version: '0'
94
- description: CLI client for vimgolf.com
133
+ version: 3.1.9
134
+ type: :development
135
+ prerelease: false
136
+ version_requirements: !ruby/object:Gem::Requirement
137
+ requirements:
138
+ - - "~>"
139
+ - !ruby/object:Gem::Version
140
+ version: 3.1.9
141
+ - !ruby/object:Gem::Dependency
142
+ name: webmock
143
+ requirement: !ruby/object:Gem::Requirement
144
+ requirements:
145
+ - - "~>"
146
+ - !ruby/object:Gem::Version
147
+ version: '3.13'
148
+ type: :development
149
+ prerelease: false
150
+ version_requirements: !ruby/object:Gem::Requirement
151
+ requirements:
152
+ - - "~>"
153
+ - !ruby/object:Gem::Version
154
+ version: '3.13'
155
+ description: Real Vim ninjas count every keystroke - do you? Pick a challenge on vimgolf.com,
156
+ fire up Vim, and show us what you got.
95
157
  email:
96
158
  - ilya@igvita.com
97
159
  executables:
@@ -99,21 +161,8 @@ executables:
99
161
  extensions: []
100
162
  extra_rdoc_files: []
101
163
  files:
102
- - .gitignore
103
- - .gitmodules
104
- - .rspec
105
- - Gemfile
106
- - Gemfile.lock
107
164
  - README.md
108
- - Rakefile
109
165
  - bin/vimgolf
110
- - emacs/README.md
111
- - emacs/ROADMAP.md
112
- - emacs/features/emacs.feature
113
- - emacs/features/step-definitions/emacs-steps.el
114
- - emacs/features/support/env.el
115
- - emacs/todo.org
116
- - emacs/vimgolf.el
117
166
  - lib/vimgolf.rb
118
167
  - lib/vimgolf/challenge.rb
119
168
  - lib/vimgolf/cli.rb
@@ -121,71 +170,41 @@ files:
121
170
  - lib/vimgolf/keylog.rb
122
171
  - lib/vimgolf/ui.rb
123
172
  - lib/vimgolf/version.rb
124
- - spec/challenge_spec.rb
125
- - spec/cli_spec.rb
126
- - spec/fixtures/4d19832d8ae121365c00000b.log
127
- - spec/fixtures/4d1a1c36567bac34a9000002.log
128
- - spec/fixtures/4d1a1c69567bac34a9000004.log
129
- - spec/fixtures/4d1a21e88ae121365c00000e.log
130
- - spec/fixtures/4d1a34ccfa85f32065000004.log
131
- - spec/helper.rb
132
- - spec/keylog_spec.rb
133
- - vimgolf.gemspec
173
+ - lib/vimgolf/vimgolf.vimrc
134
174
  homepage: http://github.com/igrigorik/vimgolf
135
- licenses: []
136
- post_install_message: ! '
175
+ licenses:
176
+ - MIT
177
+ metadata: {}
178
+ post_install_message: |2
137
179
 
138
180
  ------------------------------------------------------------------------------
139
-
140
- Thank you for installing vimgolf-0.4.5.
141
-
181
+ Thank you for installing vimgolf-0.5.0.
142
182
 
143
183
  0.1.3: custom vimgolf .vimrc file to help level the playing field
144
-
145
184
  0.2.0: proxy support, custom diffs + proper vimscript parser/scoring
146
-
147
185
  0.3.0: improve windows support, switch to YAML to remove c-ext dependency
148
-
149
186
  0.4.0: improved diff/retry CLI, emacs support: http://bit.ly/yHgOPF
150
187
 
151
-
152
188
  *NOTE*: please re-run "vimgolf setup" prior to playing!
153
189
 
154
-
155
190
  For more information, rules & updates: http://vimgolf.com/about
156
-
157
191
  ------------------------------------------------------------------------------
158
-
159
- '
160
192
  rdoc_options: []
161
193
  require_paths:
162
194
  - lib
163
195
  required_ruby_version: !ruby/object:Gem::Requirement
164
- none: false
165
196
  requirements:
166
- - - ! '>='
197
+ - - ">="
167
198
  - !ruby/object:Gem::Version
168
- version: '0'
199
+ version: '2.0'
169
200
  required_rubygems_version: !ruby/object:Gem::Requirement
170
- none: false
171
201
  requirements:
172
- - - ! '>='
202
+ - - ">="
173
203
  - !ruby/object:Gem::Version
174
204
  version: '0'
175
205
  requirements: []
176
- rubyforge_project: vimgolf
177
- rubygems_version: 1.8.24
178
- signing_key:
179
- specification_version: 3
206
+ rubygems_version: 3.0.3.1
207
+ signing_key:
208
+ specification_version: 4
180
209
  summary: CLI client for vimgolf.com
181
- test_files:
182
- - spec/challenge_spec.rb
183
- - spec/cli_spec.rb
184
- - spec/fixtures/4d19832d8ae121365c00000b.log
185
- - spec/fixtures/4d1a1c36567bac34a9000002.log
186
- - spec/fixtures/4d1a1c69567bac34a9000004.log
187
- - spec/fixtures/4d1a21e88ae121365c00000e.log
188
- - spec/fixtures/4d1a34ccfa85f32065000004.log
189
- - spec/helper.rb
190
- - spec/keylog_spec.rb
191
- has_rdoc:
210
+ test_files: []
data/.gitignore DELETED
@@ -1,4 +0,0 @@
1
- pkg/*
2
- *.gem
3
- .bundle
4
- /emacs/*.elc
data/.gitmodules DELETED
@@ -1,3 +0,0 @@
1
- [submodule "emacs/util/espuds"]
2
- path = emacs/util/espuds
3
- url = https://github.com/rejeep/espuds
data/.rspec DELETED
File without changes
data/Gemfile DELETED
@@ -1,4 +0,0 @@
1
- source "http://rubygems.org"
2
-
3
- # Specify your gem's dependencies in vimgolf.gemspec
4
- gemspec
data/Gemfile.lock DELETED
@@ -1,30 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- vimgolf (0.4.0)
5
- highline
6
- thor (>= 0.14.6)
7
-
8
- GEM
9
- remote: http://rubygems.org/
10
- specs:
11
- diff-lcs (1.1.3)
12
- highline (1.6.11)
13
- rake (0.9.2.2)
14
- rspec (2.9.0)
15
- rspec-core (~> 2.9.0)
16
- rspec-expectations (~> 2.9.0)
17
- rspec-mocks (~> 2.9.0)
18
- rspec-core (2.9.0)
19
- rspec-expectations (2.9.0)
20
- diff-lcs (~> 1.1.3)
21
- rspec-mocks (2.9.0)
22
- thor (0.14.6)
23
-
24
- PLATFORMS
25
- ruby
26
-
27
- DEPENDENCIES
28
- rake
29
- rspec
30
- vimgolf!
data/Rakefile DELETED
@@ -1,10 +0,0 @@
1
- require 'bundler'
2
- Bundler::GemHelper.install_tasks
3
-
4
- require 'rspec/core/rake_task'
5
-
6
- desc "Run all RSpec tests"
7
- RSpec::Core::RakeTask.new(:spec)
8
-
9
- task :default => :spec
10
- task :test => [:spec]
data/emacs/README.md DELETED
@@ -1,69 +0,0 @@
1
- # VimGolf Minor Mode Roadmap
2
-
3
- ## Features
4
-
5
- 1. Completing read of challenges by title rather than by challenge id
6
-
7
- 2. `M-x vimgolf-browse`: Dired/Ibuffer/Magit-like interface to VimGolf challenges.
8
-
9
- Bindings:
10
-
11
- - Bindings should mimic Dired/Ibuffer wherever possible. Magit is listed primarily because I want TAB to open up the long description of the challenge.
12
-
13
- At least:
14
-
15
- - n/p
16
- - ENTER/o: launch `vimgolf` with the correct arg.
17
-
18
- Interface Mockup:
19
-
20
- VimGolf in Emacs! Compete on vimgolf with the One True Editor.
21
-
22
- Sort entries based on date - Sort some entries in a Ledger-file based on date.
23
- PHP Array Syntax -> MailChimp Merge Syntax - I recently needed to send an e-m...
24
- Refactor to Helpers
25
- This Rails partial is almost all template escapes. Put it into a helper,
26
- and refactor each case to methods so we can build out the controls for
27
- each. (I've converted to tabs - fighting with Vimgolf's default config
28
- shouldn't be part of the challenge.)
29
-
30
- Alphabetize the directory - Put the contacts and their information in alphabe...
31
- PHP <--> Java class conversion Part 2 - Same class but reverse!
32
- PHP <--> Java class conversion Part 1 - Convert this tiny php class to adequa...
33
- Multiplication table. - Create a multiplication table.
34
- Complete the hex array data (Part II) - Do not use external tools(e.g. tac, s...
35
- Interweave two blocks of text - Suppose you've got data on a list of things f...
36
- .
37
- .
38
- .
39
-
40
- --------------------------------------------------------------------------------
41
-
42
- Commentary:
43
-
44
- - Tab has been pressed on the Refactor to Helpers line and thus it's been expanded.
45
-
46
- - The challenges `formatted text to markdown` and `Line Zipper` have both been completed and thus are hidden. Could provide a customization setting that turns this off completely, as well as an `M-x vimgolf-show-all` function to toggle the hiding.
47
-
48
- - Fill column has been set to 80
49
-
50
- - It would be fun if a local cache of the vimgolf data could be kept together so that you could record solutions or at least play offline.
51
-
52
- 3. Real submission to vimgolf.
53
-
54
- This could look like:
55
-
56
- Pop-open buffer
57
-
58
- You solved the formatted text to markdown challenge in 25 keystrokes! The best entry for this challenge was 23.
59
-
60
- M-x qrr ;; query-replace-regexp
61
- SPC*2 ;; self-insert-command
62
- dummy ;; self-insert-command * 5
63
- .
64
- .
65
- .
66
-
67
- Mini-buffer
68
-
69
- Submit to your solution to vimgolf? <y-or-n-predicate>