Skip to content

Commit

Permalink
Null Safety + 0.5 update (#5)
Browse files Browse the repository at this point in the history
* Update to NVIM v0.5.0-dev+1293-ga0da4c3a4

* fix(api_gen): Import types

* feat: Null safety

Kinda wonky but whatever

* feat: Export ui attach options

* fix(gen): Null safety

* feat(attach_options): Multigrid

* refactor(nvim): clean up/modify some null-safety things

* refactor(api_gen): ? -> !, ${x} -> $x

* style(nvim): arrow func

Co-authored-by: smolck <[email protected]>
  • Loading branch information
simrat39 and smolck authored May 22, 2021
1 parent df26418 commit 07d0808
Show file tree
Hide file tree
Showing 11 changed files with 164 additions and 2,380 deletions.
1 change: 1 addition & 0 deletions lib/dart_nvim_api.dart
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
export 'src/neovim.dart';
export 'src/ui_attach_options.dart';
export 'src/gen/nvim.g.dart';
export 'src/gen/buffer.g.dart';
export 'src/gen/tabpage.g.dart';
Expand Down
4 changes: 4 additions & 0 deletions lib/src/ext_types.dart
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@ class Buffer {
Buffer(this.data);
}

class LuaRef {
LuaRef();
}

class Window {
final int data;

Expand Down
52 changes: 32 additions & 20 deletions lib/src/gen/buffer.g.dart
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
import '../neovim.dart';
import '../ext_types.dart';

import '../ext_types.dart';

extension NvimBufferApi on Nvim {
Future<int> bufLineCount(Buffer buffer) {
return call('nvim_buf_line_count', args: [
Expand Down Expand Up @@ -44,6 +46,18 @@ extension NvimBufferApi on Nvim {
]);
}

Future<void> bufSetText(Buffer buffer, int start_row, int start_col,
int end_row, int end_col, List<String> replacement) {
return call('nvim_buf_set_text', args: [
buffer,
start_row,
start_col,
end_row,
end_col,
replacement,
]);
}

Future<int> bufGetOffset(Buffer buffer, int index) {
return call('nvim_buf_get_offset', args: [
buffer,
Expand Down Expand Up @@ -148,6 +162,13 @@ extension NvimBufferApi on Nvim {
]).then<bool>((v) => v as bool);
}

Future<void> bufDelete(Buffer buffer, Map<dynamic, dynamic> opts) {
return call('nvim_buf_delete', args: [
buffer,
opts,
]);
}

Future<bool> bufIsValid(Buffer buffer) {
return call('nvim_buf_is_valid', args: [
buffer,
Expand All @@ -161,11 +182,13 @@ extension NvimBufferApi on Nvim {
]).then<List<int>>((v) => (v as List).cast<int>());
}

Future<List<int>> bufGetExtmarkById(Buffer buffer, int ns_id, int id) {
Future<List<int>> bufGetExtmarkById(
Buffer buffer, int ns_id, int id, Map<dynamic, dynamic> opts) {
return call('nvim_buf_get_extmark_by_id', args: [
buffer,
ns_id,
id,
opts,
]).then<List<int>>((v) => (v as List).cast<int>());
}

Expand All @@ -180,12 +203,11 @@ extension NvimBufferApi on Nvim {
]).then<List<dynamic>>((v) => (v as List).cast<dynamic>());
}

Future<int> bufSetExtmark(Buffer buffer, int ns_id, int id, int line, int col,
Map<dynamic, dynamic> opts) {
Future<int> bufSetExtmark(
Buffer buffer, int ns_id, int line, int col, Map<dynamic, dynamic> opts) {
return call('nvim_buf_set_extmark', args: [
buffer,
ns_id,
id,
line,
col,
opts,
Expand All @@ -200,11 +222,11 @@ extension NvimBufferApi on Nvim {
]).then<bool>((v) => v as bool);
}

Future<int> bufAddHighlight(Buffer buffer, int src_id, String hl_group,
Future<int> bufAddHighlight(Buffer buffer, int ns_id, String hl_group,
int line, int col_start, int col_end) {
return call('nvim_buf_add_highlight', args: [
buffer,
src_id,
ns_id,
hl_group,
line,
col_start,
Expand All @@ -222,16 +244,6 @@ extension NvimBufferApi on Nvim {
]);
}

Future<void> bufClearHighlight(
Buffer buffer, int ns_id, int line_start, int line_end) {
return call('nvim_buf_clear_highlight', args: [
buffer,
ns_id,
line_start,
line_end,
]);
}

Future<int> bufSetVirtualText(Buffer buffer, int src_id, int line,
List<dynamic> chunks, Map<dynamic, dynamic> opts) {
return call('nvim_buf_set_virtual_text', args: [
Expand All @@ -243,11 +255,11 @@ extension NvimBufferApi on Nvim {
]).then<int>((v) => v as int);
}

Future<List<dynamic>> bufGetVirtualText(Buffer buffer, int line) {
return call('nvim_buf_get_virtual_text', args: [
Future<dynamic> bufCall(Buffer buffer, LuaRef fun) {
return call('nvim_buf_call', args: [
buffer,
line,
]).then<List<dynamic>>((v) => (v as List).cast<dynamic>());
fun,
]);
}

Future<List<Buffer>> listBufs() {
Expand Down
59 changes: 59 additions & 0 deletions lib/src/gen/nvim.g.dart
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import '../neovim.dart';
import '../ext_types.dart';

extension NvimApi on Nvim {
Future<void> uiAttach(int width, int height, Map<dynamic, dynamic> options) {
Expand Down Expand Up @@ -84,6 +85,14 @@ extension NvimApi on Nvim {
]).then<int>((v) => v as int);
}

Future<void> setHl(int ns_id, String name, Map<dynamic, dynamic> val) {
return call('nvim_set_hl', args: [
ns_id,
name,
val,
]);
}

Future<void> feedkeys(String keys, String mode, bool escape_csi) {
return call('nvim_feedkeys', args: [
keys,
Expand Down Expand Up @@ -133,6 +142,15 @@ extension NvimApi on Nvim {
]);
}

Future<dynamic> notify(
String msg, int log_level, Map<dynamic, dynamic> opts) {
return call('nvim_notify', args: [
msg,
log_level,
opts,
]);
}

Future<dynamic> callFunction(String fn, List<dynamic> args) {
return call('nvim_call_function', args: [
fn,
Expand Down Expand Up @@ -226,13 +244,33 @@ extension NvimApi on Nvim {
]);
}

Future<Map<dynamic, dynamic>> getAllOptionsInfo() {
return call('nvim_get_all_options_info', args: [])
.then<Map<dynamic, dynamic>>((v) => v as Map<dynamic, dynamic>);
}

Future<Map<dynamic, dynamic>> getOptionInfo(String name) {
return call('nvim_get_option_info', args: [
name,
]).then<Map<dynamic, dynamic>>((v) => v as Map<dynamic, dynamic>);
}

Future<void> setOption(String name, dynamic value) {
return call('nvim_set_option', args: [
name,
value,
]);
}

Future<void> echo(
List<dynamic> chunks, bool history, Map<dynamic, dynamic> opts) {
return call('nvim_echo', args: [
chunks,
history,
opts,
]);
}

Future<void> outWrite(String str) {
return call('nvim_out_write', args: [
str,
Expand All @@ -251,6 +289,20 @@ extension NvimApi on Nvim {
]);
}

Future<int> openTerm(Buffer buffer, Map<dynamic, dynamic> opts) {
return call('nvim_open_term', args: [
buffer,
opts,
]).then<int>((v) => v as int);
}

Future<void> chanSend(int chan, String data) {
return call('nvim_chan_send', args: [
chan,
data,
]);
}

Future<int> createNamespace(String name) {
return call('nvim_create_namespace', args: [
name,
Expand Down Expand Up @@ -421,4 +473,11 @@ extension NvimApi on Nvim {
opts,
]);
}

Future<void> setDecorationProvider(int ns_id, Map<dynamic, dynamic> opts) {
return call('nvim_set_decoration_provider', args: [
ns_id,
opts,
]);
}
}
2 changes: 2 additions & 0 deletions lib/src/gen/tabpage.g.dart
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
import '../neovim.dart';
import '../ext_types.dart';

import '../ext_types.dart';

extension NvimTabpageApi on Nvim {
Future<dynamic> tabpageGetVar(Tabpage tabpage, String name) {
return call('nvim_tabpage_get_var', args: [
Expand Down
8 changes: 8 additions & 0 deletions lib/src/gen/window.g.dart
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
import '../neovim.dart';
import '../ext_types.dart';

import '../ext_types.dart';

extension NvimWindowApi on Nvim {
Future<List<Window>> tabpageListWins(Tabpage tabpage) {
return call('nvim_tabpage_list_wins', args: [
Expand Down Expand Up @@ -152,6 +154,12 @@ extension NvimWindowApi on Nvim {
]).then<Map<dynamic, dynamic>>((v) => v as Map<dynamic, dynamic>);
}

Future<void> winHide(Window window) {
return call('nvim_win_hide', args: [
window,
]);
}

Future<void> winClose(Window window, bool force) {
return call('nvim_win_close', args: [
window,
Expand Down
Loading

0 comments on commit 07d0808

Please sign in to comment.