remi-vimilicious 0.1.1 → 0.1.2

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 (3) hide show
  1. data/lib/vimilicious.rb +38 -2
  2. data/vimilicious.gemspec +1 -1
  3. metadata +1 -1
data/lib/vimilicious.rb CHANGED
@@ -77,20 +77,54 @@ def current_line
77
77
  current_buffer.line
78
78
  end
79
79
 
80
+ # set the text of the currently selected line
81
+ #
82
+ # we're not using the more conventional current_line= because
83
+ # that simply creates a local variable named current_line
84
+ #
85
+ # :ruby set_current_line 'hi there'
86
+ def set_current_line text
87
+ current_buffer[ current_buffer.line_number ] = text.to_s
88
+ end
89
+
80
90
  # deletes the current buffer (closes the file)
81
91
  #
82
92
  # :ruby clear
83
93
  def clear
94
+ cmd 'bd'
95
+ end
96
+
97
+ # forcefully deletes the current buffer (closes the file) (unsaved changes will be lost!)
98
+ #
99
+ # :ruby clear!
100
+ def clear!
84
101
  cmd 'bd!'
85
102
  end
86
103
 
104
+ # append text to the end of the current_buffer
105
+ #
106
+ # :ruby append 'hello there'
107
+ def append text
108
+ current_buffer.append current_buffer.length, text
109
+ end
110
+
111
+ # prompts user for input
112
+ #
113
+ # :ruby prompt('username')
114
+ def prompt name = 'input', format = lambda { |name| "#{name}: " }
115
+ input = vim_eval("inputdialog('#{ format.call(name) }')")
116
+ puts '' # clear statusline thinger
117
+ input
118
+ end
119
+
87
120
  # create a vim user command that calls a ruby method or block
88
121
  #
89
122
  # :ruby create_command :test # creates a :Test command that calls a 'test' method
90
123
  # :ruby create_command 'test', :hi # creates a :Test command that calls a 'hi' method
91
124
  # :ruby create_command(:test){ puts 'hi' } # creates a :Test command that calls the block passed in
92
125
  #
93
- # BLOCKS NOT YET SUPPORTED
126
+ # WARNING ... as of now, the args passed to these commands get turned into one big string which
127
+ # is passed along to the function and method. i haven't figured out howto fix this yet :(
94
128
  def create_command name, method = nil, &block
95
129
  command_name = name.to_s.capitalize
96
130
  method_name = (method.nil?) ? name.to_s : method.to_s
@@ -106,7 +140,7 @@ def create_command name, method = nil, &block
106
140
  end
107
141
 
108
142
  # create a vim command that calls the vim function
109
- cmd %{command! -nargs=* #{ command_name } call #{ function_name }(<f-args>)}
143
+ cmd %{command! -nargs=* #{ command_name } call #{ function_name }(<args>)}
110
144
  end
111
145
 
112
146
  # get the word under the cursor
@@ -123,3 +157,5 @@ def current_word filter=/[,'`\.:\(\)\[\]\}\{]/, replace_with=''
123
157
  end
124
158
 
125
159
  ### COMMANDS ###
160
+
161
+ create_command('InspectArgs'){ |*args| puts "passed: #{args.inspect}" }
data/vimilicious.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = "vimilicious"
3
- s.version = "0.1.1"
3
+ s.version = "0.1.2"
4
4
  s.date = "2008-06-15"
5
5
  s.summary = "vim-ruby library for making vim easy"
6
6
  s.email = "remi@remitaylor.com"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: remi-vimilicious
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - remi Taylor