Thiago de Arruda
cac24cb06d
api/msgpack-rpc: Refactor msgpack_rpc_helpers.{c,h}
...
- Move helpers that are specific to API types to api/private/helpers.{c,h}
- Include headers with generated declarations
- Delete unused macros
2014-09-12 13:25:28 -03:00
Thiago de Arruda
2792a0e33c
api/msgpack-rpc: Remove Position type, using arrays instead.
2014-09-12 13:25:28 -03:00
Thiago de Arruda
38dcfb6062
api/msgpack-rpc: Use EXT type to serialize Buffer/Window/Tabpage
2014-09-12 13:25:28 -03:00
Thiago de Arruda
2f566c83d9
api/msgpack-rpc: Parse type information from api/private/defs.h
...
Enhance msgpack-gen.lua to extract custom api type codes from the ObjectType
enum in api/private/defs.h. The type information is made available from the api
metadata and clients can use to correctly serialize/deserialize these types
using msgpack EXT type.
2014-09-12 13:25:28 -03:00
Thiago de Arruda
d5a60d17fb
api/msgpack-rpc: Remove specialized array types
...
Specialized array types(BufferArray, WindowArray, etc) were added to the API for
two main reasons:
- msgpack used to lack a way of serializing appliaction-specific types and there
was no obvious way of making an API function accept/return arrays of custom
objects such as buffers(which are represented as integers, so clients didn't
have a way to distinguish from normal numbers)
- Let clients in statically-typed languages that support generics have a better
typed API
With msgpack 2.0 EXT type the first item is no longer a factor and this commit
starts by removing the specialized array types. The second item will be
addressed in the future by making the API metadata return extra useful
information for statically-typed languages.
2014-09-12 13:25:28 -03:00
Thiago de Arruda
505985b870
msgpack-rpc: Remove the msgpack_rpc_unpack
function
...
The `msgpack_rpc_unpack` function was created to work around a deficiency in the
msgpack unpack API, which did not let the caller know if parsing failed due to
needing more data or to invalid input. The deficiency does not exist in the
latest version of `msgpack_unpacker_next`, so it can safely be removed.
2014-09-12 13:25:28 -03:00
Thiago de Arruda
41a48a3fc7
memory: Use i18n messages for memory-related errors
2014-09-12 13:25:28 -03:00
Thiago de Arruda
d5e3cede28
msgpack-rpc: Remove support for integer ids in methods
...
There's no need to have integer and string ids, and since we now fully support
msgpack-RPC, support for integer ids was removed.
2014-09-12 13:25:28 -03:00
Thiago de Arruda
cd70b9c015
msgpack-rpc: Refactor API metadata discovery method
...
A new method is now exposed via msgpack-rpc: "get_api_metadata". This method has
the same job as the old method '0', it returns an object with API metadata for
use by generators.
There's one difference in the return value though: instead of returning a
string containing another serialized msgpack document, the metadata object is
returned directly(a separate deserialization step by clients is not required).
2014-09-12 13:25:28 -03:00
Thiago de Arruda
19bc29ee83
msgpack-rpc: Move handle_missing_method to msgpack_rpc.c
...
Since that function is not automatically generated, it's best to place it in a
normal C module
2014-09-12 13:25:28 -03:00
Thiago de Arruda
74aff19691
msgpack-rpc: Refactor initializer and dispatcher
...
Use Map(String, rpc_method_handler_fn) for storing/retrieving rpc method
handlers in msgpack_rpc_init and msgpack_rpc_dispatch.
Also refactor serialization/validation functions in the
msgpack_rpc.c/msgpack_rpc_helpers.c modules to accept the new STR and BIN types.
2014-09-12 13:25:28 -03:00
Thiago de Arruda
c39ae3e4d4
map/msgpack-rpc: Declare/define maps rpc method handlers
...
The new map type uses `String` instances as keys to avoid unnecessary copying to
zero-terminated buffers.
2014-09-12 13:25:28 -03:00
Thiago de Arruda
e2143674ae
deps: Update to the experimental msgpack v5 branch
...
Using msgpack v5 will let nvim be more compatible with msgpack libraries for
other platforms.
This also replaces "raw" references by "bin" which is the new name for msgpack
binary data type
2014-09-12 13:19:50 -03:00
André Twupack
12ca4f582e
vim-patch:7.4.349
...
Problem: When there are matches to highlight the whole window is redrawn,
which is slow.
Solution: Only redraw everything when lines were inserted or deleted.
Reset b_mod_xlines when needed. (Alexey Radkov)
https://code.google.com/p/vim/source/detail?r=v7-4-349
2014-09-11 20:46:10 +02:00
André Twupack
f4f9e7eaf3
vim-patch:7.4.348
...
Problem: When using "J1" in 'cinoptions' a line below a continuation line gets too much indent.
Solution: Fix parenthesis in condition.
https://code.google.com/p/vim/source/detail?r=v7-4-348
2014-09-11 20:11:57 +02:00
Justin M. Keyes
c54baaa319
Merge pull request #1159 from atwupack/vp-7.4.345
...
vim-patch:7.4.345
2014-09-10 17:09:04 -04:00
André Twupack
60371bb1bb
vim-patch:7.4.345
...
Problem: Indent is not updated when deleting indent.
Solution: Remember changedtick.
https://code.google.com/p/vim/source/detail?r=v7-4-345
2014-09-10 21:33:51 +02:00
André Twupack
1fb80d24eb
vim-patch:7.4.337
...
Problem: When there is an error preparing to edit the command line, the
command won't be executed. (Hirohito Higashi)
Solution: Reset did_emsg before editing.
https://code.google.com/p/vim/source/detail?r=v7-4-337
2014-09-10 21:17:31 +02:00
Justin M. Keyes
34c418fceb
Merge pull request #1154 from Shougo/fix-NAs
...
Fix #1147 version numbers
2014-09-09 18:46:45 -04:00
Shougo Matsushita
68b9b43607
Fix version numbers
2014-09-10 07:32:56 +09:00
Justin M. Keyes
7738e723e9
Merge pull request #1149 from splinterofchaos/vim-patch-7.4.278
...
vim-patch:7.4.278
2014-09-09 15:00:06 -04:00
Scott Prager
f85053ccf7
vim-patch:7.4.278
...
Problem: list_remove() conflicts with function defined in Sun header file.
Solution: Rename the function. (Richard Palo)
https://code.google.com/p/vim/source/detail?r=v7-4-278
2014-09-09 12:30:34 -04:00
Wayne Rowcliffe
ac0b9714ed
Additional FOR_ALL_WINDOWS usage
2014-09-08 17:27:41 -05:00
Wayne Rowcliffe
fe99930c46
Convert FOR_ALL_WINDOWS to use a locally declared pointer
2014-09-08 17:27:41 -05:00
Justin M. Keyes
3f5482d325
Merge pull request #1107 from fmoralesc/matchaddpos
...
Add matchaddpos()-related vim patches. [vim-patch: 7.4.330, 7.4.334, 7.4.343, 7.4.344, 7.4.362]
2014-09-05 20:57:41 -04:00
Felipe Morales
d860ba45e2
vim-patch: 7.4.344
...
Problem: Unnecessary initializations and other things related to
matchaddpos().
Solution: Code cleanup. (Alexey Radkov)
https://code.google.com/p/vim/source/detail?r=ce284c205558d103326a4c3f22f181774690b3eb
2014-09-04 00:18:25 -04:00
Felipe Morales
15d86890d4
vim-patch: 7.4.343
...
Problem: matchdelete() does not always update the right lines.
Solution: Fix off-by-one error. (Ozaki Kiichi)
https://code.google.com/p/vim/source/detail?r=539ce56d8f35fe2deb5c4f57335e1adf97ae4e74
2014-09-04 00:18:25 -04:00
Felipe Morales
9d7e3336cf
vim-patch: 7.4.362
...
Problem: When matchaddpos() uses a length smaller than the number of
bytes in the (last) character the highlight continues until the end of
the line.
Solution: Change condition from equal to larger-or-equal.
https://code.google.com/p/vim/source/detail?r=7fa2bed947fde3514a700c96861a537d816d6fd4
2014-09-04 00:18:25 -04:00
Felipe Morales
a8124602f0
vim-patch: 7.4.334
...
Problem: Unitialized variables, causing some problems.
Solution: Initialize the variables. (Dominique Pelle)
https://code.google.com/p/vim/source/detail?r=03d260a8ea0c0c67f424c387dbe2af5754e5e589
2014-09-04 00:18:24 -04:00
Felipe Morales
bf3d945798
vim-patch: 7.4.330
...
Problem: Using a regexp pattern to highlight a specific position can
be slow.
Solution: Add matchaddpos() to highlight specific positions
efficiently.
(Alexey Radkov.)
https://code.google.com/p/vim/source/detail?r=f9fa2e506b9f07549cd91074835c5c553db7b3a7
2014-09-04 00:18:24 -04:00
Stefan Hoffmann
7ac191ab10
fileinfo: change returntype of os_fileinfo_size
...
off_t -> uint64_t
2014-08-31 15:47:44 +02:00
Stefan Hoffmann
10813ce38c
fileid: rename os_file_id_equal_file_info
2014-08-31 15:47:43 +02:00
Stefan Hoffmann
3cf7a17a44
fileid: rename os_file_id_equal
2014-08-31 15:47:36 +02:00
Stefan Hoffmann
4e43095ab2
fileid: rename os_get_file_id
2014-08-31 15:43:40 +02:00
Stefan Hoffmann
8a66f4f245
fileinfo: rename os_file_info_get_inode
2014-08-31 15:42:19 +02:00
Stefan Hoffmann
6e3dce144a
fileinfo: rename os_file_info_get_id
2014-08-31 15:41:03 +02:00
Stefan Hoffmann
edcc1a9732
fileinfo: rename os_file_info_id_equal
2014-08-31 15:39:33 +02:00
Stefan Hoffmann
5d074a0aa6
fileinfo: rename os_get_file_info{,_link,_fd}
2014-08-31 15:37:55 +02:00
Stefan Hoffmann
9ee1c3604c
fileinfo: implement os_fileinfo_blocksize
2014-08-31 15:33:23 +02:00
Stefan Hoffmann
e85fe0957d
fileinfo: implement os_fileinfo_hardlinks
2014-08-31 15:22:38 +02:00
Stefan Hoffmann
aa378acdf5
fileinfo: implement os_fileinfo_size
...
this replaces os_get_file_size and file_info.stat.st_size
2014-08-31 15:15:02 +02:00
Thiago de Arruda
51438d8e14
channel: Remove code for automatically closing in channel_send_call
...
This was causing a segfault(reported in #1125 ) because channels are already
closed by `parse_msgpack` when the connection ends. Also fix the RPC stack
overflow error message
2014-08-31 09:32:45 -03:00
Justin M. Keyes
9ede170e7e
clang: Null pointer passed as an argument to a 'nonnull' parameter
2014-08-30 17:18:25 -04:00
Thiago de Arruda
a66d2d1538
msgpack-rpc: Always use arrays when sending events or calls
...
This is required by the msgpack-RPC specification. Also, the
send_call/send_event functions were refactored to accept a variable number of
arguments
2014-08-29 22:08:58 -03:00
Thiago de Arruda
aa23d2f835
msgpack-rpc: Accept method names in requests
2014-08-29 22:08:58 -03:00
Justin M. Keyes
db782dc486
clang: Null pointer passed as an argument to a 'nonnull' parameter #1090
2014-08-28 16:11:22 -04:00
Thiago de Arruda
5b7a66ec3d
api: Implement '--embedded-mode' command-line option
...
This option makes nvim run in "embedded mode", which creates an API channel via
stdin/stdout and disables all terminal-related code
2014-08-28 14:18:05 -03:00
Thiago de Arruda
a1400896b3
channel: Implement channel_from_stdio function
...
This function can be used to create an API channel that reads/writes from/to
stdin/stdout
2014-08-28 14:18:05 -03:00
Thiago de Arruda
8e683a0ae9
channel: fix channel buffer size
2014-08-28 14:18:05 -03:00
Thiago de Arruda
dc34f9fc94
channel: Fix channel not being closed when the RStream reaches EOF
2014-08-28 14:18:05 -03:00