Commit Graph

804 Commits

Author SHA1 Message Date
Eliseo Martínez
a6734844ca Introduce nvim namespace: Fix build process.
- Leave src as include dir (for includes to recognize 'nvim/' prefix).
- Change subdirectory from src to src/nvim.
- Fix msgpack generation.
- Fix some other paths to new locations.
2014-05-15 20:46:01 +02:00
Eliseo Martínez
da51dc9cf2 Introduce nvim namespace: Move files.
Move files from src/ to src/nvim/.
- src/nvim/ becomes the new root dir for nvim executable sources.
- src/libnvim/ is planned to become root dir of the neovim library.
2014-05-15 20:46:01 +02:00
Thiago de Arruda
ffe61e5ba1 Tell cmake to use -isystem third-party includes
This adds the `SYSTEM` parameter to `include_directories`, which will tell cmake
to use `-isystem` instead of `-I` for specifying include directories. One
advantage is that compilers won't emit warnings for included files that belong
to dependencies.
2014-05-15 08:21:13 -03:00
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