Commit Graph

1151 Commits

Author SHA1 Message Date
John Szakmeister
21bd990603 Don't allow undefined references under Linux.
Many other systems expect this already, but on Linux the default is to
allow them.  Let's turn that off.
2014-05-14 21:14:28 -04:00
Thiago de Arruda
0d1094d709 Add ${API_SOURCES} to nvim-test cmake target.
Fixes #720
2014-05-14 16:41:42 -03:00
Thiago de Arruda
f0f4ab5500 Use platform check for correct selection of khash type in helpers.c 2014-05-13 14:11:32 -03:00
Thiago de Arruda
f69b0a1dc7 API: Implement vim_get_vvar 2014-05-13 14:11:32 -03:00
Thiago de Arruda
5d0cb370f6 API: Refactor vim_{get,set}_var
- Change in dict_set_value: Passing 'nil' as value will delete the
  variable.
- Change in dict_get_value: Removed 'pop' parameter, now values can be popped
  by passing 'nil' to dict_set_value
- Update {buffer,window,tabpage}_get_var to reflect the changes
2014-05-13 14:11:32 -03:00
Thiago de Arruda
40c82ed7cd API: Implement tabpage_get_window_count 2014-05-13 14:11:32 -03:00
Thiago de Arruda
a6baf32a2c API: Implement tabpage_is_valid 2014-05-13 14:11:32 -03:00
Thiago de Arruda
14f2a3d533 API: Implement tabpage_get_window 2014-05-13 14:11:32 -03:00
Thiago de Arruda
e026be46af API: Implement tabpage_{get,set}_var 2014-05-13 14:11:32 -03:00
Thiago de Arruda
bfe3b6712e API: Implement window_is_valid 2014-05-13 14:11:32 -03:00
Thiago de Arruda
3ed2ddf726 API: Implement window_get_position 2014-05-13 14:11:32 -03:00
Thiago de Arruda
6226ac34fd API: Implement window_{get,set}_option 2014-05-13 14:11:32 -03:00
Thiago de Arruda
17053bbc39 API: Implement window_{get,set}_var 2014-05-13 14:11:32 -03:00
Thiago de Arruda
a132effd35 API: Implement window_{get,set}_{height,width} 2014-05-13 14:11:32 -03:00
Thiago de Arruda
b7c5d294c1 API: Implement window_{get,set}_cursor 2014-05-13 14:11:32 -03:00
Thiago de Arruda
6c850bd6b9 API: Implement window_get_buffer 2014-05-13 14:11:31 -03:00
Thiago de Arruda
9d18533ca3 Add new files to clint and fix reported errors 2014-05-13 14:11:31 -03:00
Thiago de Arruda
60043da29f API: Implement buffer_get_mark 2014-05-13 14:11:31 -03:00
Thiago de Arruda
6afc245305 API: Implement buffer_is_valid 2014-05-13 14:11:31 -03:00
Thiago de Arruda
550938e498 API: Implement buffer_insert 2014-05-13 14:11:27 -03:00
Thiago de Arruda
0e3aa877c0 API: Implement buffer_{get,set}_name 2014-05-13 14:11:27 -03:00
Thiago de Arruda
978755eb90 API: Implement buffer_{get,set}_option 2014-05-13 14:11:27 -03:00
Thiago de Arruda
63da1f948a API: Implement buffer_{get,set}_var 2014-05-13 14:11:26 -03:00
Thiago de Arruda
607d4acfb2 API: Implement functions for deleting lines 2014-05-13 14:11:26 -03:00
Thiago de Arruda
8eb67404f0 API: Refactor buffer_{get,set}_line
They are now implemented on top of the buffer_{get,set}_slice functions
2014-05-13 14:11:26 -03:00
Thiago de Arruda
4dc34bc0e0 API: Implement buffer_{get,set}_slice 2014-05-13 14:11:22 -03:00
Thiago de Arruda
417a61f54f API: Implement buffer_get_length 2014-05-13 09:33:41 -03:00
Thiago de Arruda
73dbb97f8e API: Implement window/tabpage switching functions
Also moved `find_buffer` to 'api/helpers.c' and removed unnecessary declaration
in 'window.h'
2014-05-13 09:33:41 -03:00
Thiago de Arruda
9dd1d2cd00 API: Implement buffer switching functions 2014-05-13 09:33:41 -03:00
Thiago de Arruda
c001cfdba0 API: Implement vim_get_buffer_count 2014-05-13 09:33:41 -03:00
Thiago de Arruda
c1d3539fb4 API: Implement vim_{out,err}_write 2014-05-13 09:33:41 -03:00
Thiago de Arruda
d2b715bf1d API: Implement vim_{get,set}_option
Some functions from upstream VIM were reintegrated for this:
- get_option_value_strict
- set_option_value_err
- set_option_value_for
- unset_global_local_option
2014-05-13 09:33:41 -03:00
Thiago de Arruda
7c01d5ff92 API: Implement vim_{get,set}_var 2014-05-13 09:33:41 -03:00
Thiago de Arruda
5f5e39323e API: Move vim_to_object to helpers.c 2014-05-13 09:33:41 -03:00
Thiago de Arruda
57df213b86 API: Implement vim_set_current_line 2014-05-13 09:33:41 -03:00
Thiago de Arruda
d488b7de1d API: Extract error boilerplate into a macro 2014-05-13 09:33:40 -03:00
Thiago de Arruda
9f25a4153c API: Implement buffer_{get,set}_line 2014-05-13 09:33:40 -03:00
Thiago de Arruda
7b04674174 API: Move helper functions to another module 2014-05-13 09:33:40 -03:00
Thiago de Arruda
e07099cb78 API: Implement vim_change_directory 2014-05-13 09:33:40 -03:00
Thiago de Arruda
d8f8521915 API: Implement vim_list_runtime_paths 2014-05-13 09:33:36 -03:00
Thiago de Arruda
b812e84bb5 API: Implement vim_strwidth 2014-05-12 21:26:56 -03:00
Thiago de Arruda
ba11128077 API: Implement vim_eval
The vimscript object conversion function was adapted from the version found in
'if_py_both.h' in the upstream source. It was also required to re-add the
`dict_lookup` function that was lost during the initial import.
2014-05-12 21:26:56 -03:00
Thiago de Arruda
d98ca3ea98 API: Implement vim_command 2014-05-12 21:26:56 -03:00
Thiago de Arruda
def747da7f Fix jumps depending on unitialized values
Reported by valgrind
2014-05-12 21:26:56 -03:00
Thiago de Arruda
12fba26110 Add server module for accepting API connections
The `NEOVIM_LISTEN_ADDRESS` environment variable can be set to customize the
address where Neovim will listen for connections. If it's not set, a random
socket/pipe will be created, and the `NEOVIM_LISTEN_ADDRESS` will be updated
accordingly.
2014-05-12 21:26:49 -03:00
Thiago de Arruda
f9c06e47c4 Add channel module
- Add channel module that exposes the API over arbitrary streams
- Add `xmemdup` for duplicating memory chunks
- Make job exit callback optional
2014-05-12 19:28:30 -03:00
Thiago de Arruda
b3268d0712 Refactor API types and prototypes
- Split functions with multiple files in the 'api' subdirectory
- Move/Add more types in the 'api/defs.h' header
- Add more prototypes
- Refactor scripts/msgpack-gen.lua
- Move msgpack modules to 'os' subdirectory
2014-05-12 19:28:30 -03:00
Thiago de Arruda
fc22317389 Fix update of pending_reqs in write_cb 2014-05-12 19:28:30 -03:00
Thiago de Arruda
17b275b23a Add teardown function for the event.c module
Also move the `job_teardown` call from os_unix.c to the event module
2014-05-12 19:28:30 -03:00
Thiago de Arruda
519fd1deb6 Refactor modules to use handle data accessors
The job, rstream and wstream modules now use handle data accessors
2014-05-12 19:28:30 -03:00