neovim 0.8.1 → 0.9.0.pre.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (51) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/docs.yml +36 -0
  3. data/.github/workflows/linter.yml +32 -0
  4. data/.github/workflows/tests.yml +62 -0
  5. data/.rubocop.yml +19 -2
  6. data/CHANGELOG.md +6 -0
  7. data/CODE_OF_CONDUCT.md +3 -3
  8. data/README.md +19 -17
  9. data/Rakefile +28 -24
  10. data/exe/neovim-ruby-host +2 -15
  11. data/lib/neovim/buffer.rb +15 -1
  12. data/lib/neovim/client.rb +89 -1
  13. data/lib/neovim/connection.rb +0 -1
  14. data/lib/neovim/event_loop.rb +6 -3
  15. data/lib/neovim/host/cli.rb +41 -0
  16. data/lib/neovim/logging.rb +1 -1
  17. data/lib/neovim/ruby_provider.rb +25 -8
  18. data/lib/neovim/ruby_provider/object_ext.rb +5 -0
  19. data/lib/neovim/session.rb +13 -18
  20. data/lib/neovim/tabpage.rb +1 -1
  21. data/lib/neovim/version.rb +1 -1
  22. data/lib/neovim/window.rb +15 -1
  23. data/neovim.gemspec +1 -1
  24. data/script/ci/download_nvim.sh +40 -0
  25. data/script/run_acceptance.rb +15 -11
  26. data/spec/acceptance/ruby_spec.vim +6 -1
  27. data/spec/acceptance/rubyeval_spec.vim +22 -0
  28. data/spec/acceptance/rubyfile/set_pwd_before.rb +1 -1
  29. data/spec/acceptance/rubyfile_spec.vim +4 -6
  30. data/spec/helper.rb +20 -1
  31. data/spec/neovim/api_spec.rb +1 -1
  32. data/spec/neovim/buffer_spec.rb +4 -6
  33. data/spec/neovim/client_spec.rb +3 -3
  34. data/spec/neovim/current_spec.rb +1 -2
  35. data/spec/neovim/event_loop_spec.rb +10 -0
  36. data/spec/neovim/host/cli_spec.rb +94 -0
  37. data/spec/neovim/host_spec.rb +2 -7
  38. data/spec/neovim/line_range_spec.rb +1 -3
  39. data/spec/neovim/remote_object_spec.rb +1 -2
  40. data/spec/neovim/ruby_provider/buffer_ext_spec.rb +6 -7
  41. data/spec/neovim/ruby_provider/object_ext_spec.rb +10 -0
  42. data/spec/neovim/ruby_provider/vim_spec.rb +1 -1
  43. data/spec/neovim/ruby_provider/window_ext_spec.rb +7 -10
  44. data/spec/neovim/session_spec.rb +13 -46
  45. data/spec/neovim/window_spec.rb +1 -1
  46. data/spec/neovim_spec.rb +10 -63
  47. data/spec/support.rb +25 -0
  48. metadata +21 -12
  49. data/.travis.yml +0 -25
  50. data/appveyor.yml +0 -35
  51. data/script/validate_docs.rb +0 -29
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: fedda91f1ab06609df060e17b598655776a94fb60a7037fbdbeec1eebc24585d
4
- data.tar.gz: 2e5a7ae9846c9b1375912cf129153f89ecadf2617b618267f6a44aed2c768843
3
+ metadata.gz: 9b1d22feedf4011597b4ef37233dbc13f1f874fa7bb03986d21a4e1cbe0d3f21
4
+ data.tar.gz: 63f008322d89124368e2d3c556dd14e8734874d9ffd7c96ef77556efeda69b5b
5
5
  SHA512:
6
- metadata.gz: 9c1238b3fb5ccb9595e81f872f1080114c63a01505f8f12a3d230cc3c3f039e8d89f3a69fb38df237e8420f732bb1627554c8b87b26a4e0eb98f59e1c3b17c5c
7
- data.tar.gz: 7cf59362e19aa0ffbf44a1dd91fe62b7e822bf5c3dee5039adce141499139024fe7dbf0d6adaddb60cbe45144584662f1f23626d32bf16e9326d889ea402c39d
6
+ metadata.gz: 556a087351aee954365afc96f6f57bc4f47bab4dd0333db4d8a55025c578068275b91186d6509a7b160faa20a8863be72aaa09866dcc604490a1aaf92e26c6c5
7
+ data.tar.gz: 23dbec9563bae88cdd3ed4315c1f1ff36cfdc2446b438c162da1633cd0e5e40b1f0f1f92d8a2d457c80b8b9e73ef6ad84bcb9d18870aab91a73a2bf053743dfd
@@ -0,0 +1,36 @@
1
+ name: Docs
2
+ on:
3
+ push:
4
+ branches: [master]
5
+ schedule:
6
+ - cron: '0 0 * * 0'
7
+ jobs:
8
+ docs:
9
+ runs-on: ubuntu-latest
10
+ if: "!contains(github.event.head_commit.message, '[skip ci]')"
11
+ steps:
12
+ - uses: actions/checkout@v2
13
+ with:
14
+ repository: neovim/neovim-ruby
15
+ - uses: ruby/setup-ruby@v1
16
+ with:
17
+ ruby-version: head
18
+ - name: Bundle install
19
+ run: |
20
+ bundle config set path vendor/bundle
21
+ bundle install --jobs 3 --retry 3
22
+ - name: Install Neovim
23
+ env:
24
+ BUILD: latest
25
+ run: bundle exec rake ci:download_nvim
26
+ - name: Generate docs
27
+ env:
28
+ NVIM_EXECUTABLE: "_nvim/bin/nvim"
29
+ run: bundle exec rake docs:generate
30
+ - name: Open pull request
31
+ uses: peter-evans/create-pull-request@v2
32
+ with:
33
+ token: ${{ secrets.GITHUB_TOKEN }}
34
+ commit-message: "[skip ci] Update generated docs"
35
+ author: Docs Workflow <noreply@github.com>
36
+ title: "Update generated docs"
@@ -0,0 +1,32 @@
1
+ name: Linter
2
+ on:
3
+ push:
4
+ branches: [master]
5
+ pull_request:
6
+ branches: [master]
7
+ jobs:
8
+ linter:
9
+ runs-on: ubuntu-latest
10
+ if: "!contains(github.event.head_commit.message, '[skip ci]')"
11
+ steps:
12
+ - uses: actions/checkout@v2
13
+ with:
14
+ repository: neovim/neovim-ruby
15
+ - uses: ruby/setup-ruby@v1
16
+ with:
17
+ ruby-version: head
18
+ - name: Cache checksum
19
+ run: |
20
+ openssl md5 Gemfile neovim.gemspec > /tmp/checksum.txt
21
+ - uses: actions/cache@v1
22
+ with:
23
+ path: vendor/bundle
24
+ key: ${{ runner.os }}-gems-${{ hashFiles('/tmp/checksum.txt') }}
25
+ restore-keys: |
26
+ ${{ runner.os }}-gems-
27
+ - name: Bundle install
28
+ run: |
29
+ bundle config set path vendor/bundle
30
+ bundle install --jobs 3 --retry 3
31
+ - name: Run linter
32
+ run: bundle exec rake linter
@@ -0,0 +1,62 @@
1
+ name: Tests
2
+ on:
3
+ push:
4
+ branches: [master]
5
+ pull_request:
6
+ branches: [master]
7
+ schedule:
8
+ - cron: '0 0 * * 0'
9
+ jobs:
10
+ linux_osx:
11
+ strategy:
12
+ fail-fast: false
13
+ matrix:
14
+ os: [ubuntu-latest, macos-latest]
15
+ ruby: [2.5, 2.6, 2.7, head]
16
+ runs-on: ${{ matrix.os }}
17
+ if: "!contains(github.event.head_commit.message, '[skip ci]')"
18
+ steps:
19
+ - uses: actions/checkout@v2
20
+ with:
21
+ repository: neovim/neovim-ruby
22
+ - uses: ruby/setup-ruby@v1
23
+ with:
24
+ ruby-version: ${{ matrix.ruby }}
25
+ - name: Bundle install
26
+ run: |
27
+ bundle config set path vendor/bundle
28
+ bundle install --jobs 3 --retry 3
29
+ - name: Install Neovim
30
+ env:
31
+ BUILD: nightly
32
+ run: bundle exec rake ci:download_nvim
33
+ - name: Run tests
34
+ env:
35
+ NVIM_EXECUTABLE: "_nvim/bin/nvim"
36
+ run: bundle exec rake spec
37
+ windows:
38
+ strategy:
39
+ fail-fast: false
40
+ matrix:
41
+ ruby: [2.5, 2.6, 2.7] # msgpack not supported on windows on 2.8 yet
42
+ runs-on: windows-latest
43
+ if: "!contains(github.event.head_commit.message, '[skip ci]')"
44
+ steps:
45
+ - uses: actions/checkout@v2
46
+ with:
47
+ repository: neovim/neovim-ruby
48
+ - uses: ruby/setup-ruby@v1
49
+ with:
50
+ ruby-version: ${{ matrix.ruby }}
51
+ - name: Bundle install
52
+ run: |
53
+ bundle config set path vendor/bundle
54
+ bundle install --jobs 3 --retry 3
55
+ - name: Install Neovim
56
+ uses: crazy-max/ghaction-chocolatey@v1
57
+ with:
58
+ args: install neovim --pre -fy --ignore-dependencies --ignore-checksums
59
+ - name: Run tests
60
+ env:
61
+ NVIM_EXECUTABLE: 'C:\tools\neovim\Neovim\bin\nvim'
62
+ run: bundle exec rake spec
@@ -29,6 +29,7 @@ Lint/HandleExceptions:
29
29
  - lib/neovim/logging.rb
30
30
  - lib/neovim/connection.rb
31
31
  - lib/neovim/line_range.rb
32
+ - spec/**/*
32
33
 
33
34
  Lint/RescueException:
34
35
  Exclude:
@@ -64,8 +65,7 @@ Metrics/MethodLength:
64
65
  Max: 50
65
66
 
66
67
  Metrics/ModuleLength:
67
- Exclude:
68
- - spec/**/*
68
+ Enabled: false
69
69
 
70
70
  Metrics/ParameterLists:
71
71
  Max: 6
@@ -92,6 +92,11 @@ Style/ConditionalAssignment:
92
92
  EnforcedStyle: assign_inside_condition
93
93
  IncludeTernaryExpressions: false
94
94
 
95
+ Style/Documentation:
96
+ Exclude:
97
+ - spec/**/*
98
+ - lib/neovim/ruby_provider/object_ext.rb
99
+
95
100
  Style/DoubleNegation:
96
101
  Enabled: false
97
102
 
@@ -103,15 +108,27 @@ Style/GlobalVars:
103
108
  - lib/neovim/ruby_provider/vim.rb
104
109
  - spec/neovim/ruby_provider/vim_spec.rb
105
110
 
111
+ Style/IfUnlessModifier:
112
+ Enabled: false
113
+
106
114
  Style/MultilineTernaryOperator:
107
115
  Enabled: false
108
116
 
117
+ Style/NegatedIf:
118
+ EnforcedStyle: postfix
119
+
109
120
  Style/ParallelAssignment:
110
121
  Enabled: false
111
122
 
123
+ Style/PerlBackrefs:
124
+ Enabled: false
125
+
112
126
  Style/RescueStandardError:
113
127
  EnforcedStyle: implicit
114
128
 
129
+ Style/Semicolon:
130
+ Enabled: false
131
+
115
132
  Style/SpecialGlobalVars:
116
133
  EnforcedStyle: use_perl_names
117
134
 
@@ -1,3 +1,9 @@
1
+ # 0.9.0
2
+
3
+ - Add RPC support for `:rubyeval`.
4
+ - Add `Neovim::Session#next`.
5
+ - Rename `Neovim::Session::Exited` -> `Neovim::Session::Disconnected`.
6
+
1
7
  # 0.8.1
2
8
 
3
9
  - Set client info on host and client startup
@@ -40,7 +40,7 @@ Project maintainers who do not follow or enforce the Code of Conduct in good fai
40
40
 
41
41
  ## Attribution
42
42
 
43
- This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version]
43
+ This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [https://contributor-covenant.org/version/1/4][version]
44
44
 
45
- [homepage]: http://contributor-covenant.org
46
- [version]: http://contributor-covenant.org/version/1/4/
45
+ [homepage]: https://contributor-covenant.org
46
+ [version]: https://contributor-covenant.org/version/1/4/
data/README.md CHANGED
@@ -1,27 +1,29 @@
1
1
  # Neovim Ruby
2
2
 
3
- [![Travis](https://travis-ci.org/neovim/neovim-ruby.svg?branch=master)](https://travis-ci.org/neovim/neovim-ruby)
4
- [![Build status](https://ci.appveyor.com/api/projects/status/y44k25tcdvvuq0ee?svg=true)](https://ci.appveyor.com/project/alexgenco/neovim-ruby)
3
+ [![Build Status](https://github.com/neovim/neovim-ruby/workflows/Tests/badge.svg)](https://github.com/neovim/neovim-ruby/actions)
5
4
  [![Gem Version](https://badge.fury.io/rb/neovim.svg)](https://badge.fury.io/rb/neovim)
6
- [![Inline docs](http://inch-ci.org/github/neovim/neovim-ruby.svg?branch=master)](http://inch-ci.org/github/neovim/neovim-ruby)
7
5
 
8
- Ruby bindings for [Neovim](https://github.com/neovim/neovim).
9
-
10
- *Warning*: This project follows [Semantic Versioning](http://semver.org/), thus its API should be considered unstable until it reaches v1.0.0 ([spec](http://semver.org/#spec-item-4)).
6
+ Ruby support for [Neovim](https://github.com/neovim/neovim).
11
7
 
12
8
  ## Installation
13
9
 
14
10
  Add this line to your application's Gemfile:
15
11
 
16
- gem "neovim"
12
+ ```ruby
13
+ gem "neovim"
14
+ ```
17
15
 
18
16
  And then execute:
19
17
 
20
- $ bundle
18
+ ```shell
19
+ bundle
20
+ ```
21
21
 
22
22
  Or install it yourself as:
23
23
 
24
- $ gem install neovim
24
+ ```shell
25
+ gem install neovim
26
+ ```
25
27
 
26
28
  ## Usage
27
29
 
@@ -38,7 +40,7 @@ require "neovim"
38
40
  client = Neovim.attach_unix("/tmp/nvim.sock")
39
41
  ```
40
42
 
41
- Refer to the [`Neovim` docs](http://www.rubydoc.info/github/neovim/neovim-ruby/master/Neovim) for other ways to connect to `nvim`, and the [`Neovim::Client` docs](http://www.rubydoc.info/github/neovim/neovim-ruby/master/Neovim/Client) for a summary of the client interface.
43
+ Refer to the [`Neovim` docs](https://www.rubydoc.info/github/neovim/neovim-ruby/master/Neovim) for other ways to connect to `nvim`, and the [`Neovim::Client` docs](https://www.rubydoc.info/github/neovim/neovim-ruby/master/Neovim/Client) for a summary of the client interface.
42
44
 
43
45
  ### Plugins
44
46
 
@@ -70,7 +72,7 @@ end
70
72
 
71
73
  When you add or update a plugin, you will need to call `:UpdateRemotePlugins` to update the remote plugin manifest. See `:help remote-plugin-manifest` for more information.
72
74
 
73
- Refer to the [`Neovim::Plugin::DSL` docs](http://www.rubydoc.info/github/neovim/neovim-ruby/master/Neovim/Plugin/DSL) for a more complete overview of the `Neovim.plugin` DSL.
75
+ Refer to the [`Neovim::Plugin::DSL` docs](https://www.rubydoc.info/github/neovim/neovim-ruby/master/Neovim/Plugin/DSL) for a more complete overview of the `Neovim.plugin` DSL.
74
76
 
75
77
  ### Vim Plugin Support
76
78
 
@@ -78,16 +80,16 @@ The Neovim gem also acts as a compatibility layer for Ruby plugins written for `
78
80
 
79
81
  ## Links
80
82
 
81
- * Source: <http://github.com/neovim/neovim-ruby>
82
- * Bugs: <http://github.com/neovim/neovim-ruby/issues>
83
- * CI: <http://travis-ci.org/neovim/neovim-ruby>
83
+ * Source: <https://github.com/neovim/neovim-ruby>
84
+ * Bugs: <https://github.com/neovim/neovim-ruby/issues>
85
+ * CI: <https://github.com/neovim/neovim-ruby/actions>
84
86
  * Documentation:
85
- * Latest Gem: <http://rubydoc.info/gems/neovim>
86
- * Master: <http://rubydoc.info/github/neovim/neovim-ruby/master/frames>
87
+ * Latest Gem: <https://rubydoc.info/gems/neovim>
88
+ * Master: <https://rubydoc.info/github/neovim/neovim-ruby/master/frames>
87
89
 
88
90
  ## Contributing
89
91
 
90
- 1. Fork it (http://github.com/neovim/neovim-ruby/fork)
92
+ 1. Fork it (<https://github.com/neovim/neovim-ruby/fork>)
91
93
  2. Create your feature branch (`git checkout -b my-new-feature`)
92
94
  3. Commit your changes (`git commit -am 'Add some feature'`)
93
95
  4. Push to the branch (`git push origin my-new-feature`)
data/Rakefile CHANGED
@@ -2,7 +2,9 @@ require "bundler/gem_tasks"
2
2
  require "rspec/core/rake_task"
3
3
  require "rubocop/rake_task"
4
4
 
5
- RuboCop::RakeTask.new(:style)
5
+ Bundler.setup
6
+
7
+ RuboCop::RakeTask.new(:linter)
6
8
 
7
9
  namespace :spec do
8
10
  desc "Run functional specs"
@@ -10,15 +12,19 @@ namespace :spec do
10
12
 
11
13
  desc "Run acceptance specs"
12
14
  task acceptance: "acceptance:deps" do
13
- run_script(:run_acceptance, "--reporter", "dot", "spec/acceptance")
15
+ run_script(
16
+ "run_acceptance.rb",
17
+ "--reporter", "dot",
18
+ # TODO: remove once rubyeval is merged in nvim
19
+ "--exclude", "rubyeval",
20
+ "spec/acceptance"
21
+ )
14
22
  end
15
23
 
16
24
  namespace :acceptance do
17
25
  desc "Install acceptance spec dependencies"
18
26
  task :deps do
19
- Bundler.with_clean_env do
20
- sh "bundle exec vim-flavor update --vimfiles-path=spec/acceptance/runtime"
21
- end
27
+ sh "vim-flavor update --vimfiles-path=spec/acceptance/runtime"
22
28
  end
23
29
  end
24
30
  end
@@ -26,30 +32,28 @@ end
26
32
  namespace :docs do
27
33
  desc "Generate Neovim remote API docs"
28
34
  task :generate do
29
- run_script(:generate_docs)
30
- end
31
-
32
- desc "Validate generated documentation is up-to-date"
33
- task :validate do
34
- run_script(:validate_docs)
35
+ run_script("generate_docs.rb")
35
36
  end
36
37
  end
37
38
 
38
- namespace :scripts do
39
- desc "Validate script syntax"
40
- task :validate do
41
- sh "ruby -c #{File.expand_path("script/*.rb", __dir__)}"
39
+ namespace :ci do
40
+ task :download_nvim do
41
+ run_script("ci/download_nvim.sh")
42
42
  end
43
43
  end
44
44
 
45
- task default: [
46
- :style,
47
- :"docs:validate",
48
- :"scripts:validate",
49
- :"spec:functional",
50
- :"spec:acceptance"
51
- ]
45
+ desc "Run specs"
46
+ task spec: [:"spec:functional", :"spec:acceptance"]
52
47
 
53
- def run_script(script_name, *args)
54
- ruby File.expand_path("script/#{script_name}.rb", __dir__), *args
48
+ task default: [:linter, :spec]
49
+
50
+ def run_script(relpath, *args)
51
+ path = File.expand_path("script/#{relpath}", __dir__)
52
+ cmd_handler = ->(ok, status) { ok || exit(status.exitstatus) }
53
+
54
+ if File.extname(path) == ".rb"
55
+ ruby(path, *args, &cmd_handler)
56
+ else
57
+ sh(path, *args, &cmd_handler)
58
+ end
55
59
  end
@@ -1,18 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- require "neovim/host"
3
+ require "neovim/host/cli"
4
4
 
5
- ARGV.each do |arg|
6
- break if arg == "--"
7
-
8
- if ["--version", "-V"].include?(arg)
9
- puts Neovim::VERSION
10
- exit(0)
11
- end
12
- end
13
-
14
- if STDIN.tty?
15
- abort("Can't run neovim-ruby-host interactively.")
16
- else
17
- Neovim::Host.run(ARGV)
18
- end
5
+ Neovim::Host::CLI.run(__FILE__, ARGV, STDIN, STDOUT, STDERR)
@@ -4,7 +4,7 @@ require "neovim/line_range"
4
4
  module Neovim
5
5
  # Class representing an +nvim+ buffer.
6
6
  #
7
- # The methods documented here were generated using NVIM v0.3.7
7
+ # The methods documented here were generated using NVIM v0.4.4
8
8
  class Buffer < RemoteObject
9
9
  attr_reader :lines
10
10
 
@@ -183,6 +183,20 @@ module Neovim
183
183
  @param [String] mode
184
184
  @return [Array<Hash>]
185
185
 
186
+ @method set_keymap(mode, lhs, rhs, opts)
187
+ See +:h nvim_buf_set_keymap()+
188
+ @param [String] mode
189
+ @param [String] lhs
190
+ @param [String] rhs
191
+ @param [Hash] opts
192
+ @return [void]
193
+
194
+ @method del_keymap(mode, lhs)
195
+ See +:h nvim_buf_del_keymap()+
196
+ @param [String] mode
197
+ @param [String] lhs
198
+ @return [void]
199
+
186
200
  @method get_commands(opts)
187
201
  See +:h nvim_buf_get_commands()+
188
202
  @param [Hash] opts
@@ -9,7 +9,7 @@ module Neovim
9
9
  # +RemoteObject+ subclasses (i.e. +Buffer+, +Window+, or +Tabpage+),
10
10
  # which similarly have dynamically generated interfaces.
11
11
  #
12
- # The methods documented here were generated using NVIM v0.3.7
12
+ # The methods documented here were generated using NVIM v0.4.4
13
13
  #
14
14
  # @see Buffer
15
15
  # @see Window
@@ -140,6 +140,18 @@ module Neovim
140
140
  @param [Object] value
141
141
  @return [void]
142
142
 
143
+ @method ui_try_resize_grid(grid, width, height)
144
+ See +:h nvim_ui_try_resize_grid()+
145
+ @param [Integer] grid
146
+ @param [Integer] width
147
+ @param [Integer] height
148
+ @return [void]
149
+
150
+ @method ui_pum_set_height(height)
151
+ See +:h nvim_ui_pum_set_height()+
152
+ @param [Integer] height
153
+ @return [void]
154
+
143
155
  @method command(command)
144
156
  See +:h nvim_command()+
145
157
  @param [String] command
@@ -169,6 +181,16 @@ module Neovim
169
181
  @param [String] keys
170
182
  @return [Integer]
171
183
 
184
+ @method input_mouse(button, action, modifier, grid, row, col)
185
+ See +:h nvim_input_mouse()+
186
+ @param [String] button
187
+ @param [String] action
188
+ @param [String] modifier
189
+ @param [Integer] grid
190
+ @param [Integer] row
191
+ @param [Integer] col
192
+ @return [void]
193
+
172
194
  @method replace_termcodes(str, from_part, do_lt, special)
173
195
  See +:h nvim_replace_termcodes()+
174
196
  @param [String] str
@@ -254,6 +276,12 @@ module Neovim
254
276
  @param [String] name
255
277
  @return [Object]
256
278
 
279
+ @method set_vvar(name, value)
280
+ See +:h nvim_set_vvar()+
281
+ @param [String] name
282
+ @param [Object] value
283
+ @return [void]
284
+
257
285
  @method get_option(name)
258
286
  See +:h nvim_get_option()+
259
287
  @param [String] name
@@ -300,6 +328,19 @@ module Neovim
300
328
  @param [Window] window
301
329
  @return [void]
302
330
 
331
+ @method create_buf(listed, scratch)
332
+ See +:h nvim_create_buf()+
333
+ @param [Boolean] listed
334
+ @param [Boolean] scratch
335
+ @return [Buffer]
336
+
337
+ @method open_win(buffer, enter, config)
338
+ See +:h nvim_open_win()+
339
+ @param [Buffer] buffer
340
+ @param [Boolean] enter
341
+ @param [Hash] config
342
+ @return [Window]
343
+
303
344
  @method list_tabpages
304
345
  See +:h nvim_list_tabpages()+
305
346
  @return [Array<Tabpage>]
@@ -322,6 +363,21 @@ module Neovim
322
363
  See +:h nvim_get_namespaces()+
323
364
  @return [Hash]
324
365
 
366
+ @method paste(data, crlf, phase)
367
+ See +:h nvim_paste()+
368
+ @param [String] data
369
+ @param [Boolean] crlf
370
+ @param [Integer] phase
371
+ @return [Boolean]
372
+
373
+ @method put(lines, type, after, follow)
374
+ See +:h nvim_put()+
375
+ @param [Array<String>] lines
376
+ @param [String] type
377
+ @param [Boolean] after
378
+ @param [Boolean] follow
379
+ @return [void]
380
+
325
381
  @method subscribe(event)
326
382
  See +:h nvim_subscribe()+
327
383
  @param [String] event
@@ -341,6 +397,16 @@ module Neovim
341
397
  See +:h nvim_get_color_map()+
342
398
  @return [Hash]
343
399
 
400
+ @method get_context(opts)
401
+ See +:h nvim_get_context()+
402
+ @param [Hash] opts
403
+ @return [Hash]
404
+
405
+ @method load_context(dict)
406
+ See +:h nvim_load_context()+
407
+ @param [Hash] dict
408
+ @return [Object]
409
+
344
410
  @method get_mode
345
411
  See +:h nvim_get_mode()+
346
412
  @return [Hash]
@@ -350,6 +416,20 @@ module Neovim
350
416
  @param [String] mode
351
417
  @return [Array<Hash>]
352
418
 
419
+ @method set_keymap(mode, lhs, rhs, opts)
420
+ See +:h nvim_set_keymap()+
421
+ @param [String] mode
422
+ @param [String] lhs
423
+ @param [String] rhs
424
+ @param [Hash] opts
425
+ @return [void]
426
+
427
+ @method del_keymap(mode, lhs)
428
+ See +:h nvim_del_keymap()+
429
+ @param [String] mode
430
+ @param [String] lhs
431
+ @return [void]
432
+
353
433
  @method get_commands(opts)
354
434
  See +:h nvim_get_commands()+
355
435
  @param [Hash] opts
@@ -403,6 +483,14 @@ module Neovim
403
483
  @param [Integer] pid
404
484
  @return [Object]
405
485
 
486
+ @method select_popupmenu_item(item, insert, finish, opts)
487
+ See +:h nvim_select_popupmenu_item()+
488
+ @param [Integer] item
489
+ @param [Boolean] insert
490
+ @param [Boolean] finish
491
+ @param [Hash] opts
492
+ @return [void]
493
+
406
494
  =end
407
495
  end
408
496
  end