neovim 0.8.1 → 0.9.0.pre.1

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 (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