Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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