Justin M. Keyes
f85cbea725
Merge #7917 'API: buffer updates'
2018-06-08 10:13:04 +02:00
Justin M. Keyes
3abf17ae88
API: validation: mention invalid method name ( #8489 )
2018-06-07 10:56:44 +02:00
Björn Linse
5be3865ce7
nvim_list_uis: include channel id
2018-06-01 10:20:13 +02:00
KillTheMule
333679ad0e
Add empty options dict to buf_attach
2018-05-23 22:07:27 +02:00
KillTheMule
65e7f6f0b9
Rename some more, fixe borked renaming
2018-05-23 22:07:27 +02:00
KillTheMule
0bee3925ab
Send changedtick as first event if buffer contents weren't requested
2018-05-23 22:07:27 +02:00
KillTheMule
ad151847f1
Unify updates_start and updates to lines_event
...
Also rename changedtick -> changedtick_event
2018-05-23 22:07:27 +02:00
KillTheMule
3866137eed
Update test
2018-05-23 22:07:27 +02:00
KillTheMule
e7451f8a91
Some renamings and doc changes
2018-05-23 22:07:27 +02:00
KillTheMule
de5d1e863c
Try fixing that test on travis
2018-05-23 22:07:27 +02:00
KillTheMule
5aa8af7cdb
Increase sendkeys timeout
2018-05-23 22:07:27 +02:00
KillTheMule
6bdcbef2f5
The grand renaming
2018-05-23 22:07:27 +02:00
KillTheMule
ec215a1962
Fix tests on windows
...
`cat` is distributed with neovim, so when can use it everywhere, as
opposed to `sort`.
The diffget test fails for unknown reasons on appveyor, mark it pending
for now.
2018-05-23 22:07:27 +02:00
KillTheMule
0476e0aef3
Make LiveUpdate return lastline instead of numreplaced
...
In analogy to `nvim_buf_set_lines`.
2018-05-23 22:07:27 +02:00
KillTheMule
37b8e95fd6
Lint
2018-05-23 22:07:27 +02:00
KillTheMule
8bcc011959
Make separate functions to start/stop live updates
2018-05-23 22:07:27 +02:00
KillTheMule
bafae1c427
Add argument to not send a buffers content when updates are enabled
...
Add a test.
2018-05-23 22:07:27 +02:00
Peter Hodge
79184809bb
Tests for buffer updates
...
Originally written by @phodge in
https://github.com/neovim/neovim/pull/5269 .
2018-05-23 22:07:27 +02:00
Björn Linse
6da4548f0e
api: list information about all channels/jobs.
...
Fire autocmd when channel opens or its info changes.
Add a way for API clients can describe themselves.
2018-05-23 18:18:16 +02:00
Justin M. Keyes
137eedb4ed
API: nvim_get_commands(): return Dictionary
2018-05-12 07:29:21 +02:00
Justin M. Keyes
cb6672853a
API: nvim_get_commands(): builtin is irrelevant for buffer-local
...
builtin commands are never buffer-local, so we can return empty for that
case.
2018-05-12 07:29:21 +02:00
Justin M. Keyes
738bffea2c
API: nvim_get_commands(): more attributes
...
Support more :command attributes:
-bang
-bar
-register
2018-05-11 13:50:00 +02:00
Justin M. Keyes
9fa7727ce0
API: nvim_get_commands(): always return keys
...
- Always return all keys, with at least NIL value.
- Require `opts` param to be {"builtin":false}
- Validate `opts` param
2018-05-11 13:20:43 +02:00
Nimit Bhardwaj
25b6304840
API: nvim_get_commands()
2018-05-11 13:20:19 +02:00
Justin M. Keyes
273d2cd5d5
Merge #8329 'API: Make nvim_set_option() update :verbose set …
'
2018-05-11 10:08:09 +02:00
Justin M. Keyes
79a0d82755
test: API: fix tests after improved error capture
2018-05-10 04:01:25 +02:00
Justin M. Keyes
2326a4ac3a
API: nvim_eval(): return non-generic VimL errors
...
Use the same pattern as nvim_call_function (_call_function).
2018-05-09 23:18:39 +02:00
Justin M. Keyes
c9f3174075
API: return non-generic VimL errors
...
- Return VimL errors instead of generic errors for:
- nvim_call_function
- nvim_call_dict_function
- Fix tests which were silently broken before this change.
This violates #6150 where we agreed not to translate API errors. But
that can be fixed later.
2018-05-09 23:18:38 +02:00
Justin M. Keyes
cabffb0182
API: nvim_call_dict_function: expect actual function, not name
2018-05-06 14:52:21 +02:00
Justin M. Keyes
fe7ab60af7
API: nvim_call_dict_function: eliminate internal
param
...
The `internal` param is difficult to explain, and will rarely be
anything but `true`. To avoid it, use a hack: check if the resolved
dict value starts with "function(".
2018-05-06 14:38:26 +02:00
Justin M. Keyes
19c2ce1901
refactor: nvim_call_dict_function
...
- Add test coverage for errors.
- Rename, rearrange.
2018-05-06 14:38:26 +02:00
Sebastian Witte
124275dd58
API: nvim_call_dict_function #3032
2018-05-06 14:38:26 +02:00
Justin M. Keyes
f46f138fb6
test: nvim_call_function: verify "too many arguments" error
2018-05-06 14:38:26 +02:00
b-r-o-c-k
7170de1971
api: Make nvim_set_option() update :verbose set ...
...
Make `:verbose set ...` show when an option was last modified by an
API client or Lua script/chunk. In the case of an API client, the
channel ID is displayed.
2018-05-03 21:05:20 -05:00
Justin M. Keyes
1c3a849881
API/nvim_command_output: handle :echon capture ( #8265 )
...
ref https://github.com/neovim/python-client/pull/290
2018-04-13 00:49:37 +02:00
Justin M. Keyes
87f4d2592c
test/util: expect_err() ( #8257 )
...
other cleanup, ref #8245
2018-04-11 22:07:00 +02:00
Justin M. Keyes
fa6415f13f
test/API: validate channel arg ( #8245 )
2018-04-08 03:01:15 +02:00
Björn Linse
98e7112390
msg: do not scroll entire screen ( #8088 )
2018-03-31 11:12:27 +02:00
Nimit Bhardwaj
8d5a46e77b
TUI: implement "standout" attribute #8081
...
closes #8054
2018-03-27 04:38:19 +02:00
Justin M. Keyes
a034d4b69d
API: nvim_get_proc()
...
TODO: "exepath" field (win32: QueryFullProcessImageName())
On unix-likes `ps` is used because the platform-specific APIs are
a nightmare. For reference, below is a (incomplete) attempt:
diff --git a/src/nvim/os/process.c b/src/nvim/os/process.c
index 09769925aca5..99afbbf290c1 100644
--- a/src/nvim/os/process.c
+++ b/src/nvim/os/process.c
@@ -208,3 +210,60 @@ int os_proc_children(int ppid, int **proc_list, size_t *proc_count)
return 0;
}
+/// Gets various properties of the process identified by `pid`.
+///
+/// @param pid Process to inspect.
+/// @return Map of process properties, empty on error.
+Dictionary os_proc_info(int pid)
+{
+ Dictionary pinfo = ARRAY_DICT_INIT;
+#ifdef WIN32
+
+#elif defined(__APPLE__)
+ char buf[PROC_PIDPATHINFO_MAXSIZE];
+ if (proc_pidpath(pid, buf, sizeof(buf))) {
+ name = getName(buf);
+ PUT(pinfo, "exepath", STRING_OBJ(cstr_to_string(buf)));
+ return name;
+ } else {
+ ILOG("proc_pidpath() failed for pid: %d", pid);
+ }
+#elif defined(BSD)
+# if defined(__FreeBSD__)
+# define KP_COMM(o) o.ki_comm
+# else
+# define KP_COMM(o) o.p_comm
+# endif
+ struct kinfo_proc *proc = kinfo_getproc(pid);
+ if (proc) {
+ PUT(pinfo, "name", cstr_to_string(KP_COMM(proc)));
+ xfree(proc);
+ } else {
+ ILOG("kinfo_getproc() failed for pid: %d", pid);
+ }
+
+#elif defined(__linux__)
+ char fname[256] = { 0 };
+ char buf[MAXPATHL];
+ snprintf(fname, sizeof(fname), "/proc/%d/comm", pid);
+ FILE *fp = fopen(fname, "r");
+ // FileDescriptor *f = file_open_new(&error, fname, kFileReadOnly, 0);
+ // ptrdiff_t file_read(FileDescriptor *const fp, char *const ret_buf,
+ // const size_t size)
+ if (fp == NULL) {
+ ILOG("fopen() of /proc/%d/comm failed", pid);
+ } else {
+ size_t n = fread(buf, sizeof(char), sizeof(buf) - 1, fp);
+ if (n == 0) {
+ WLOG("fread() of /proc/%d/comm failed", pid);
+ } else {
+ size_t end = MIN(sizeof(buf) - 1, n);
+ end = (end > 0 && buf[end - 1] == '\n') ? end - 1 : end;
+ buf[end] = '\0';
+ PUT(pinfo, "name", STRING_OBJ(cstr_to_string(buf)));
+ }
+ }
+ fclose(fp);
+#endif
+ return pinfo;
+}
2018-03-18 00:11:45 +01:00
Justin M. Keyes
dbad797edd
API: nvim_get_proc_children()
...
ref https://github.com/libuv/libuv/pull/836
2018-03-16 10:55:12 +01:00
Justin M. Keyes
fd4021387e
test: rename next_message() to next_msg()
2018-03-11 12:43:42 +01:00
geekodour
9f994bb699
api: nvim_list_uis #8004
...
ref #7438
closes #4842
2018-03-03 15:06:24 +01:00
Björn Linse
6e5cb0debd
ui: refactor ui options
2018-02-13 20:48:51 +01:00
Justin M. Keyes
352a51e831
test: :! print binary data, control chars
...
closes #5442
closes #4142
ref #6618
ref #4376
ref #7844
ref #2958
ref #4338
2018-02-07 09:25:51 +01:00
Björn Linse
4e7d85e635
shell: update execute('!cmd')
test to new behavior
...
And similarly nvim_command_output test
2018-02-06 20:16:38 +01:00
ZyX
a2dfeb8a16
functests: Improve error reporting in _check_parsing function
...
May be needed for unit tests as well though.
2018-02-02 07:28:56 -05:00
Justin M. Keyes
5055d4a755
api: nvim_command_output: direct impl
2018-01-10 23:58:56 +01:00
Justin M. Keyes
c095f83116
api: change nvim_command_output behavior
...
Implement nvim_command_output with `execute({cmd},"silent")`.
Behavior changes:
- does not provoke any hit-enter prompt
- no longer prepends a newline char
- does not capture some noise (like the "[New File]" message, see the
change to tabnewentered_spec.lua)
Technically ("bug-for-bug") this a breaking change. But the previous
behavior of nvim_command_output meant that it probably wasn't used for
anything outside of tests.
Also remove the undocumented `v:command_output` variable which was
a hack introduced only for the purposes of nvim_command_output.
closes #7726
2018-01-10 23:45:44 +01:00
ZyX
5ab0f988ca
*: Replace all occurrences of NVim with Nvim
2017-11-30 11:53:25 +03:00